- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第01章绪论(C)
叶核亚 数据结构(C++版)(第3版) 第1章 绪论 第2章 线性表 第3章 串 第4章 栈与队列 第5章 数组和广义表 第6章 树和二叉树 第7章 图 第8章 查找 第9章 排序 第10章 综合应用设计 《数据结构》课程特点 性质:专业基础课,计算机专业核心课程; 72学时,4.5学分;课程设计1周,1学分。 特点:结构复杂,算法抽象; 重点:线性表、二叉树、图、查找、排序; 难点:链式存储结构,递归算法。 教学过程 72学时,讲课56学时,上机实验16学时,8次实验,课后自补实验。 验收二次实验结果,第2、6章,每人不同题,题见附件,逐位验收,改进,通过后写报告,计平时分20%。 课程设计,每人不同题,逐位验收,改进,通过后写报告。 要求:不能用C语言,必须用C++模板类;独立完成,不接受网上抄来程序。 重申纪律 旷课1/3学时者,取消其考试资格。 考试不能提前交卷。考试要带有效证件(身份证或学生证)。不能作弊,代考后果是双双开除,考试作弊后果 ……。 课程设计成绩与考试成绩关联,试卷编程题没做者,或考试卷面成绩较低者,重修,没有补考。 教学风格,认真授课,严格管理。考前有问必答;考后不讨论分数。 第1章 绪论 1.1 数据结构的基本概念 1.2 算法 1.3 Visual C++集成开发环境 目的:勾勒数据结构课程的轮廓。 要求:掌握数据结构基本概念,理解抽象 数据类型概念;熟悉算法设计和分 析方法。 重点:数据的逻辑结构和存储结构。 难点:抽象数据类型,算法分析。 1.1 数据结构的基本概念 1.1.1 为什么要学习数据结构 软件设计是计算机学科各个领域的核心。软件设计时要考虑的首要问题是数据的表示、组织和处理方法。数据结构设计和算法设计是软件系统设计的核心。 “数据结构+算法=程序设计” 1.1.2 什么是数据结构 1.1.3 数据类型与抽象数据类型 1.1.2 什么是数据结构 数据(data) 数据元素(data element) 、数据项(data item) 关键字(key) 、主关键字(primary key) 数据结构(data structure)指数据元素之间存在的关系。包含三方面: 数据的逻辑结构 数据的存储结构 数据操作 1. 数据的逻辑结构 线性结构:数据元素只有一个前驱数据元素和一个后继数据元素。 树结构:每个数据元素只有一个前驱数据元素,可有零个或若干个后继数据元素。 图结构:每个数据元素可有零个或若干个前驱数据元素,零个或若干个后继数据元素。 线性结构 树结构 图结构 图1.3 南京飞往昆明的航班路线图 2. 数据的存储结构 顺序存储结构 链式存储结构 3. 数据操作 初始化。 判断是否空状态。 存取,指获得、设置指定元素值。 统计数据元素个数。 遍历(traverse),指按照某种次序访问一个数据结构中的所有元素,并且每个数据元素只被访问一次。遍历一种数据结构,将得到一个所有数据元素的线性序列。 插入(insert)、删除(remove)指定元素。 查找(search),指在数据结构中寻找满足给定条件的数据元素。 排序(sort),指对数据元素按照指定关键字值的大小递增(或递减)次序重新排列。 1.1.3 数据类型与抽象数据类型 数据类型(data type)是指一个类型和定义在这个类型上的操作集合。 抽象数据类型(Abstract Data Type,ADT)是指一个逻辑概念上的类型和这个类型上的操作集合。 即,一种数据结构的抽象数据类型包括: 数据的逻辑结构 数据操作 ADT Complex复数抽象数据类型 { double real,imag; //实部和虚部 Complex(real,imag) //构造函数 Complex add(Complex c) //加法 Complex sub(Complex c)//减法 } ADT SetT 集合抽象数据类型 { 数据:集合中的数据元素类型为T 操作: bool empty() //判断集合是否为空 int count() //返回集合的元素个数 bool contain(T x) //是否包含元素x void add(T x) //增加元素x void remove(T key) //删除key元素 void removeAll() //删除集合所有元素 void print()
您可能关注的文档
最近下载
- 三年级语文上册 【看拼音写词语】看拼音写词语4(附答案)(部编版) .docx VIP
- 烹调工艺学1期末考试试题A卷评分标准.doc VIP
- 科研方法论知到智慧树期末考试答案题库2025年南开大学.docx VIP
- 最新丁立梅经典散文《风会记得一朵花的香》 .pdf VIP
- 电力电子技术(阮新波)课后习题答案解析.pdf VIP
- 三年级语文上册 【看拼音写词语】看拼音写词语3(附答案)(部编版) .docx VIP
- 2023年陇东学院汉语言文学专业《现代汉语》期末试卷B(有答案).docx VIP
- 《烹饪工艺学》期末考试复习题库(附答案).doc VIP
- 民法学总论试题库.pdf VIP
- 【MOOC】模拟电子技术基础-华中科技大学 中国大学慕课MOOC答案.docx VIP
原创力文档


文档评论(0)