版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章 绪论1.1 数据结构的基本概念 1.2 抽象数据类型和软件构造方法 1.3 算法和算法的时间复杂度 1.4 算法书写规范1.1 数据结构的基本概念一.学习数据结构的意义1. 算法和数据结构是计算机科学的两大支柱计算机科学早期定义为: 研究算法的科学近期定义为: 研究数据的科学2. 数据结构是程序设计的基础Program=Algorithms+Data Structure数据结构是设计OS、DBMS、编译等系统程序和 各种应用程序的重要基础3. 是计算机专业的一门综合性专业基础课是计算机专业本科生必修学位课程是计算机研究生入学考试必考科目是软件人员水平考试内容二.学习数据结构的要求1.
2、掌握各类基本数据结构类型和相应的存储结构2. 提高阅读和编写算法的能力3. 能针对给定问题,选择相适应的数据结构,并能设计和分析算法三、 数据结构的主要内容98080-3 班号 2321527-8009 理学院办公室电话号码313000 湖州师范学院邮编320102780618748 身份证号码 例1:98080-33202670610054510102780618748结论1.杂乱的数据不能表达和交流信息三、 数据结构的主要内容例2: 电话号码簿 (a1,b1) (a2,b2)(an,bn)其中: ai为某人姓名,bi为该人的电话号码。要求:设计一个算法,给定一个姓名时,能查出此人的电话号码
3、。 如果姓名和电话号码的排列次序无规律, 则只能逐一比较姓名进行查找 如果姓名按字典顺序组织,则查找就快捷多了结论2.数据之间是有联系的这些联系常常影响算法的选择和效率。 DS就是要研究数据之间的联系。三、 数据结构的主要内容(续)例3:大学学生管理机构学校一系八系一年级二年级三年级四年级班班张三李四结论数据之间是有结构的例中数据之间呈分层结构(树状结构)DS就是要研究数据之间的各类结构。三、 数据结构的主要内容(续)例:图书目录管理设每个书目含:书名,作者,登录号,分类,出版年月对图书目录常有如下操作:查找:某书在书库中是否存在?插入:购进新书时的登录;删除:报废或丢失的书,需从目录中去掉;
4、结论在某种数据结构上可定义一组运算DS就是要研究各类数据结构上的各种运算。三、 数据结构的主要内容(续)综上所述: DS主要研究内容:数据的各种逻辑结构和物理结构,以及它们之间的相应关系;并对每种结构定义相适应的各种运算;设计出相应的算法;分析算法的效率。 常见的数据结构有:数组、栈、队列、表、串、树、图和文件等。四、 基本术语数据(Data):所有能被计算机处理的符号的集合。数据元素(Data Element):表示一个事物的一组数据称作一个数据元素,是数据这个集合中的一个个体。 例如,要描述学生信息,可包括学生的学号、姓名、性别、年龄等数据就构成学生情况描述的数据项;包括学生的学号、姓名、
5、性别、年龄等数据项的一组数据就构成了学生信息的一个数据元素。数据项(Data Item):构成数据元素的数据项称作该数据元素的数据项,数据项是数据具有意义的最小单位。四、 基本术语(续)数据对象(Data Object): 具有相同特性的数据元素的集合。例如:数据集合D=0,1,A,B,Z则:数据对象正整数N 0,1,数据对象字母C A,B,Z 数据元素是数据的一个个体,数据对象是数据的一个子集。数据元素、数据项的描述数据元素、数据项的描述都使用某种高级程序设计语言来描述,本课程采用C语言描述。通常用C语言中的结构体来定义数据元素的数据类型。抽象数据元素:没有实际含义的数据元素称作抽象数据元素
6、。抽象数据元素类型:没有确切定义的数据类型称作抽象数据元素类型。在以后讨论中,用符号DataType表示抽象数据类型。在C语言中可通过类型定义符typedef实现抽象数据类型为具体数据类型。四、 基本术语(续)数据结构(Data Structure):是带有结构的数据元素的集合。所谓结构就是数据元素之间的关系,即描述数据元素之间的运算及运算规则。用集合的形式描述,数据结构是一个二元组:DS=(D,R) 其中:D是数据元素的集合,R是D上关系的集合。 简言之,数据元素和其相互关系称为数据结构四、 基本术语(续)数据的逻辑结构(Logical Structure):指数据元素之间的相互联系方式或结
7、构关系。例如:线性结构,树结构,图结构线性结构:n个数据元素的有限序列,数据元素之间是顺序关系。树结构:除根结点外每个数据元素只有一个前驱数据元素,可有零个或若干个后继数据元素。图结构:每个数据元素可有零个或若干个前驱数据元素和可有零个或若干个后继数据元素。数据的物理结构(Physical Structure):指数据结构在计算机内的存储方式。基本形式有两种:顺序存储方式和链式存储方式数据的操作:对一种数据类型的数据进行的某种处理称作数据的操作,对一种数据类型的所有操作称作数据的操作集合1.2 抽象数据类型类型:是一组织的集合。例如:整数类型就是计算机内所能表示的整数的集合。数据类型:是指一个
8、类型和定义在这个类型上的操作集合。例如:C语言中的整数类型,不仅指整数数值的集合,而且包括对整数类型进行的操作抽象数据类型(Abstract Data Type,缩写为ADT)是指一个逻辑概念上的类型和这个类型上的操作。数据类型与抽象数据类型的区别:数据类型指的是高级程序设计语言支持的基本数据类型,而抽象数据类型指的是在基本数据类型支持下用户新设计的数据类型。软件的设计采用模块化方法,抽象数据类型(如表、堆栈、队列、串、树、二叉树、图的等)就是构造大型软件的最基本的模块。1.算法和算法的时间复杂度一算法(Algorithm)算法概念:算法是一个有限的指令集, 遵循指令流可以完成特定的功能。算法
9、基本特性: 有穷性:算法经有限步后结束; 确定性:下一步必须是明确的; 可行性:每一步是可执行的;1.3 算法和算法的时间复杂度算法与程序的区别算法是解决问题的一种方法或一个过程,考虑如何将输入转换成输出,一个问题可以有多种算法。程序是用某种程序设计语言对算法的具体实现。主要区别在:有穷性和描述方法 程序可以是无穷的,例如OS,算法是有穷的; 程序是用程序设计语言描述,在机器上可以执行; 算法还可以用框图、自然语言等方式描述。1.算法和算法的时间复杂度二算法描述语言c语言为了便于理解掌握算法的思想和实质,本课程采用c语言来描述各种算法。抽象数据类型:抽象数据类型名 变量名;抽象数据类型 操作:
10、抽象数据类型名 函数名(形参)语句;1.算法和算法的时间复杂度 数据类型 函数名 (参数表) 函数体 调用过程语句为:函数名(参数表)调用函数语句为:变量名函数名(参数表)1.算法和算法的时间复杂度赋值语句:变量名表达式;分支语句:IF (条件) 语句ELSE语句;SWITCH(表达式) CASE 常量表达式:语句; CASE 常量表达式n : 语句n; DEFAULT: 语句n+1; 1.算法和算法的时间复杂度循环语句:FOR (变量名初值;逻辑表达式;表达式)循环体WHILE (条件) 循环体;Do 循环体 WHILE 条件;标准输入输出过程:printf(格式输出符,变量表); scanf(输入格式符,变量表);1.算法和算法的时间复杂度三算法分析如何衡量一个正确算法的好坏?衡量的三个尺度:运行所花费的时间(算法的时间特性);所占用存储空间的大小(算法的空间特);其他(可读性、易调性、健壮性等)。时间和空间特性的巨大改进源于更好的数据结构或算法。1.算法和算法的时间复杂度语句频度(Frequency Count):语句可能重复执行的最大次数。时间复杂度(Time Complexity):设算法中所有语句的语句频度为t(n),f(n)是当n趋向无穷大时与t(n)为同阶无穷大,则算法的时间复杂度T(n)=O(f(n)其中:n为算法计算量或称为规模(size); f(n)是运算
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025浙江嘉兴善农现代农业科技发展有限公司招聘5人笔试历年参考题库附带答案详解
- 2025江苏富轩实业有限公司盐城市国有企业高校毕业生专场招聘人员笔试历年参考题库附带答案详解
- 2025山西吕梁市融媒体运营有限公司招聘专业技术人员4人笔试历年参考题库附带答案详解
- 2025安徽合肥市庐江县工业投资有限公司招聘笔试笔试历年参考题库附带答案详解
- 2025上海市政总院校园招聘200人笔试历年参考题库附带答案详解
- 化肥储备库建设项目施工方案
- 供水管道施工环境影响评估方案
- DSA常见并发症及处理
- 地坪施工前环境检测方案
- 骨伤科中医特色护理的护理教育
- 2026年全国材料员职业技能水平测试真题及模拟试题(附答案)
- 中信建投证券2026届金融科技专场春季校园招聘备考题库含答案详解(基础题)
- 长沙理工大学招聘考试试题
- TSG 92-2026 承压类特种设备安全附件安全技术规程
- 2026年国测模拟测试初中劳动试题
- (正式版)DB37∕T 4976-2025 《河湖生态产品价值核算技术规范》
- 人教版初中物理八年级下册《功和机械能》大单元教学设计
- 企业安全环保管理体系及制度
- JJG196-2023常用玻璃量器检定规程【关键要点与实操解读】
- 装配式住宅建筑检测技术标准JGJ-T485-2019
- 2026大学生国家安全知识竞赛试题及答案
评论
0/150
提交评论