数据结构课程知识点梳理汇总.docx
《数据结构课程知识点梳理汇总.docx》由会员分享,可在线阅读,更多相关《数据结构课程知识点梳理汇总.docx(26页珍藏版)》请在优知文库上搜索。
1、数据结构第一章:绪论1.概念:数据:所有能被计算机输入并且识别处理的符号的集合(数值性+非数值-视频,声音,图用数据元素:数据的基本单位.也叫记录数据项:数据的最小单位.EG-学生记录是数据元素,姓名,学号,性别是数据项.数据对象:具有相同性质的数据元素的集合.例如整数集合.*性质相同:具有相同类型和数量的数据项.数据类型:值+操作,三种:原子类型,结构类型抽象数据类型(ADT)ADT-抽象数据类型:抽象,与具体如何在计算机表示无关,用(数据对象,数据关系,基本操作集)定义.包括数行嗨关系,基本操作.*数据类型VS抽象数据类型:前者表示值+操作,例如c中整形,通常有厂家提供的已经实现的数据结构
2、,而后者表示数学模型+操作,仅仅取决于逻辑特性,于具体的实嬲7表示无关,只要其数学特性不变就不影响使用.-联系:本质相同,但是后者不局限于已经实现了的数据类型,还包括用户自定义的数据类型.一作用:ADT对用户透明(提供接口),而不必了解实现细节.数据结构:具有一种或多种特定关系的数据元素的集合.包括三方面:逻辑结构,存储结构,数据运算.(算法的设计取决于逻辑结构,而算法的实现依赖于存储结构.)* 数据逻辑结构,数据元素,数据项在计算机中的映像为:存储结构,结点,数据域.* *数据运算=对数据定义的一组操作,定义在逻辑结构,实现依赖于存储结构.* -若逻辑结构相同,存储结构不同-数据结构不同*
3、-若逻辑结构相同&存储结构相同,但是运算不同-数据结构不同:EG:睇以物都相同,但是由于其运薪金不同称为不同的数据结构.-若逻辑结构相同,运算相同,存储结构不同-数据结构运算效率不同.数据结构评价准则:1.是否刻画了问题的基本特征.2.是否容易实现.选择数据结构考虑的因素:(存储时间量和空间量):-A:TB:SA:包括:输入数据总量;编译时间;取指令执行时间;重复执行的次数.数据结构基本操作於力翻实现应用程序与存储程序的独立.数据结构研究内容:在非数值计算程序设计问题中,研究计算机的操您对家操作对象之间的走熬及其操作的学科.数据类型VS数据结构:前者可以看成是已经实现了的数据结构.并非所有数据
4、结构都具有插入,删除,查找三种运算,如栈和队列不具备查找.数据结构三要素:A:逻辑结构:线性+非线性:线性结构(一对一):一般线性表+受限线性表(栈,队列)+推广线性表(数组,广义表)或者栈,队列,串,线性表)非线性结构:集合+树形结构(一般树,二叉树)(一对多)+图形结构(有向图,无向图)(多对多)更具体的分类:线性结构,集合树,图/网状结构.B:存储结构(物理结构):数据元素的表示和关系的表示:(内存)顺序存储:优点:随机存取缺点:只能整块存储,外部碎片链式存储:优点:无碎片缺点:只能顺序存取,每个元素占用额外空间.索引存储:优点检索速度快缺点:索引表占用较多存储空间,修改索引表耗时.散列
5、存储:优点:检索,删除增加节点速度快.缺点:可能出现元素存储单元冲突,解决冲突增加开销.C:数据运算.逻辑结构vs存储结构:前者独立于后者,一种逻辑结构可以用多种存储结构.逻辑结构表示逻辑关系-数据元素的关联方式/辘关奏,存储结构是逻辑结构在计算机中的表示.数据结构研究的内容涉及三方面:1.数据如何组织2.数据如何存储3.数据的运算如何实现.2.算法:程序设计=算法+数据结构算法是对特定问题求解步骤的描述,计算机中是指令的有限序列,其中的指令表示一个/多个操作.算法具有以下5大特性:有穷性(在实际可接受时间内执行完成),确定性(没有歧义),可行性(可以通过已经实现的基本运算执行),输入(O-N
6、),输出(I-N).*算法满足有穷性,但是程序不一定满足(如OS监控程序),算法可以用计算机程序描述,但是不是说所有算法都必须用程序描述.*:算法设计输入参数设置为非引用型形参,输出参数设置为引用型形参.好的算法目标:正确性:正确的解决问题(对于非法输入能够满足规格说明的输出)可读性:容易理解健壮性:非法数据,合法反应效率&低存储量(花小钱,办大事)效率度量:时间复杂度:事前估计:频度:一个语句在算法中重复执行的次数,T(n)=Pindu.时间复杂度:T(N)的数量级=算法基本运算(最深层循环内的语句的频度)T(N)=O(f(n)影响因素:A:问题规模NB彳寺输入元素性质通常考虑最坏时间复杂度
7、.空间复杂度:算法耗费的内存空间Sn=O(g(n).算法所需解磔量占用的内存空间.原地工作:算法所需辅助空间是常量,OQ)计算方法:递归算法:由算法推出励飒懑闻求解.影响一个算法的时间效率主要因素:事先估计运行时间考虑因素:A:问题规模-待解决问题的数量B:算法执行的基本操作次数.算法VS存储结构:富病即雌网上好的存储结构可以提高算法效率.求解问题的步骤:建立ADT(运算描述)一设计合理的存储结构(运算实现)一设计算法数据运算与采用何种存储结构相关,算数/赋值/关系运算三类.算法的比较:两个算法上俄一般是采用平均时间复杂度,而一个算法分析通常采用孱妤时间复杂度.第二章:线性表1 .线性表:定义
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程 知识点 梳理 汇总