版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、叶核亚,数据结构(C+版)(第2版),数据结构(C+版)(第2版),第1章 绪论 第2章 线性表 第3章 串 第4章 栈与队列 第5章 数组和广义表 第6章 树和二叉树 第7章 图 第8章 查找 第9章 排序 第10章 综合应用设计 第11章 Visual C+集成开发环境,数据结构(C+版)(第2版),第1章 绪论,1.1 数据结构的基本概念 1.2 算法 目的:勾勒数据结构课程的轮廓。 要求:掌握数据结构基本概念,理解抽象数 据类型概念;熟悉算法设计和分析方 法。 重点:数据的逻辑结构和存储结构。 难点:抽象数据类型,算法分析。,数据结构(C+版)(第2版),1.1 数据结构的基本概念,1
2、.1.1 为什么要学习数据结构 1.1.2 什么是数据结构 1.1.3 数据类型与抽象数据类型,数据结构(C+版)(第2版),1.1.1 为什么要学习数据结构,软件设计是计算机学科各个领域的核心。软件设计时要考虑的首要问题是数据的表示、组织和处理方法。数据结构设计和算法设计是软件系统设计的核心。 “数据结构十算法=程序”。,数据结构(C+版)(第2版),1.1.2 什么是数据结构,数据(data) 数据元素(data element) 、数据项(data item) 关键字(key) 、主关键字(primary key) 数据结构(data structure)指数据元素之间存在的关系。,数据
3、结构(C+版)(第2版),1. 数据的逻辑结构,线性结构:数据元素只有一个前驱数据元素和一个后继数据元素。 树结构:每个数据元素只有一个前驱数据元素,可有零个或若干个后继数据元素。 图结构:每个数据元素可有零个或若干个前驱数据元素,零个或若干个后继数据元素。,数据结构(C+版)(第2版),线性结构,表1.1 学生信息表,数据结构(C+版)(第2版),树结构,数据结构(C+版)(第2版),图结构,图1.3南京飞往昆明的航班路线图,数据结构(C+版)(第2版),2. 数据的存储结构,顺序存储结构 链式存储结构,图1.4 线性表(A,B,C,D)的两种存储结构,数据结构(C+版)(第2版),3. 数
4、据操作,初始化。 判断是否空状态。 求长度:统计元素个数。 包含:判断是否包含指定元素。 遍历:按某种次序访问所有元素,每个元素只被访问一次。 取值:获取指定元素值。 置值:设置指定元素值。 插入:增加指定元素。 删除:移去指定元素。,数据结构(C+版)(第2版),1.1.3 数据类型与抽象数据类型,数据类型(data type)是指一个类型和定义在这个类型上的操作集合。 抽象数据类型(Abstract Data Type,ADT)是指一个逻辑概念上的类型和这个类型上的操作集合。,数据结构(C+版)(第2版), 数据:集合中有n(n0)个数据元素,元素类型为T 操作: bool isEmpty
5、(); /判断集合是否为空 int length(); /返回集合的元素个数 bool contain(T x); /判断集合是否包含指定元素x bool add(T x); /增加指定元素x bool remove(T x); /移去首次出现的指定元素x void clear(); /清空集合元素 void print(); /输出集合中所有元素 bool equals(Set s); /比较当前集合与集合s是否相等 bool containAll(Set s); /判断当前集合是否包含集合s中的所有元素 bool addAll(Set s); /增加集合s中的所有元素,集合并 bool r
6、emoveAll(Set s); /移去那些也包含在集合s中的元素,集合差 bool retainAll(Set s); /仅保留那些也包含在集合s中的元素 ,ADT Set,数据结构(C+版)(第2版),1.2 算法,1.2.1 什么是算法 1.2.2 算法分析 1.2.3 算法设计,数据结构(C+版)(第2版),1.2.1 什么是算法,算法定义 有穷性 确定性 输入 输出 可行性,算法设计目标 正确性 可读性 健壮性 高时间效率 高空间效率,数据结构(C+版)(第2版),3. 算法描述,采用伪码描述顺序查找算法如下: 元素 search(关键字 key) e = 数据序列的第一个元素; w
7、hile (数据序列未结束 ,数据结构(C+版)(第2版),4. 算法与数据结构,图1.6 线性表插入操作,数据结构(C+版)(第2版),1.2.2 算法分析,度量算法的时间效率 算法的时间效率指算法的执行时间随问题规模的增长而增长的趋势,通常采用时间复杂度来度量算法的时间效率。 T(n)=O(f(n) 度量算法的空间效率 空间复杂度指算法在执行时为解决问题所需要的额外内存空间,不包括输入数据所占用的存储空间。 S(n)=O(f(n),数据结构(C+版)(第2版),表1.2 时间复杂度随n变化情况的比较,数据结构(C+版)(第2版),一个简单语句的时间复杂度为O(1)。 int count=0
8、; 一个循环的时间复杂度为O(n)。 int n=8, count=0; for (int i=1; i=n; i+) count+; 时间复杂度为O(log2 n)的循环语句。 int n=8, count=0; for (int i=1; i=n; i*=2) count+; 时间复杂度为O(n2)的二重循环。 int n=8, count=0; for (int i=1; i=n; i+) for (int j=1; j=n; j+) count+;,【例1.1】 算法时间复杂度分析。,数据结构(C+版)(第2版),【例1.1】 算法时间复杂度分析。,时间复杂度为O(nlog2n)的二重
9、循环。 int n=8, count=0; for (int i=1; i=n; i*=2) for (int j=1; j=n; j+) count+; 循环次数为 。时间复杂度为O(nlog2n)。 时间复杂度为O(n)的二重循环。 int n=8, count=0; for (int i=1; i=n; i*=2) for (int j=1; j=i; j+) count+; 总的循环次数为 。时间复杂度为O(n)。,数据结构(C+版)(第2版),1.2.3 算法设计,【例1.2】 交换两个变量值问题讨论。,数据结构(C+版)(第2版),【例1.3】 求两个整数的最大公约数。,质因数分解法 更相减损术 “以少减多,更相减损,求其等也,以等数约之。等数约之,即除也,其所以相减者皆等数之重叠,故以等数约之。” :(91,49)=(42,49)=(42,7)=7。 欧几里德(Euclid)的辗转相除法 gcd(91,49)=gcd(49,42) =g
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年8月新疆红星电力有限公司面向社会招聘财务人员2人备考题库含答案详解(模拟题)
- 2026年上海市伤骨科研究所工作人员招聘1人考前冲刺试卷完美版附答案详解
- 2026中国农业发展银行河南省分行纪委办审查调查专业人才社会招聘2人备考题库含完整答案详解【全优】
- 2026重庆医科大学附属第二医院公开诚聘高层次人才模拟试卷附答案详解【完整版】
- 成都市龙泉驿区黄土小学校2026年公开招聘1名编外教师笔试题库含答案详解AB卷
- 2026山东烟台龙口市招聘社区工作者招聘96人考前冲刺密卷及1套参考答案详解
- 2026江苏南通市海安市教体系统夏季招聘教师11人笔试题库带答案详解(黄金题型)
- 2026浙江丽水市青田县农业农村局公开招聘编外人员(船工)1人模拟试卷附答案详解(突破训练)
- 2026年甘肃省残联信息中心招聘兼职会计笔试题库附答案详解【巩固】
- 2026年新疆克拉玛依市招聘高中教师(4人)笔试题库附完整答案详解【有一套】
- 2026年昆山经济技术开发区公开招聘社区编外工作人员18人考试备考题库及答案详解
- 2026年四川德阳电子科技大学德阳研究院(德阳三星湖传感技术产业研究中心)面向社会公开招聘3人笔试备考试题及答案详解
- 2026年云南省地矿测绘院有限公司招聘(37人)笔试备考试题及答案详解
- 环卫车辆更新改造项目可行性研究报告
- GB/Z 160-2025电气简图用图形符号IEC 60617标准化设计指南
- XXX公司2026年度安全生产资金投入计划(安全生产资金投入制度)
- 2026届云南省红河州、文山州第四次州统测预测历史试题(含答案)
- 巨幼细胞性贫血诊疗指南(2025年版)
- 2026光伏组件回收技术突破与循环经济产业链构建白皮书
- 沙雅县2026年古勒巴格镇示范村人居环境整治项目水土保持方案报告表
- 2026年曲妥珠单抗行业分析报告及未来发展趋势报告
评论
0/150
提交评论