数据结构课程总结

数据结构课程总结

ID:13667948

大小:50.50 KB

页数:6页

时间:2018-07-23

数据结构课程总结_第1页
数据结构课程总结_第2页
数据结构课程总结_第3页
数据结构课程总结_第4页
数据结构课程总结_第5页
资源描述:

《数据结构课程总结》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、l数据:能够被计算机识别、存储和加工处理的信息的载体。l数据元素:数据的基本单位,可以由若干个数据项组成。数据项是具有独立含义的最小标识单位。l数据结构的定义:l逻辑结构:从逻辑结构上描述数据,独立于计算机。线性结构:一对一关系。线性结构:多对多关系。l存储结构:是逻辑结构用计算机语言的实现。顺序存储结构:如数组。链式存储结构:如链表。索引结构:索引表。散列存储结构:如散列表。l对数据的操作:定义在逻辑结构上,每种逻辑结构都有一个运算集合。常用的有:检索、插入、删除、更新、排序。l数据类型:是一个值的集合以及在这些值上定义的一组操作的总称。原子类型:简单类型,由语言提

2、供。结构类型:由用户借助于描述机制定义,是导出类型。l程序设计的实质是对实际问题选择一种好的数据结构,设计一个好的算法。算法取决于数据结构。l算法是一个自定义的计算过程,以一个或多个值输入,并以一个或多个值输出。l评价算法的好坏的因素:算法是正确的;执行算法的时间;执行算法的存储空间;算法易于理解、编码、调试。l时间复杂度:是某个算法的时间耗费,它是该算法所求解问题规模n的函数。渐近时间复杂度:是指当问题规模趋向无穷大时,该算法时间复杂度的数量级。评价一个算法的时间性能时,主要标准就是算法的渐近时间复杂度。l算法中语句的频度不仅与问题规模有关,还与输入实例中各元素的取

3、值相关。l时间复杂度按数量级递增排列依次为:常数阶、对数阶、线性阶、线性对数阶、平方阶、立方阶、……k次方阶、指数阶。l空间复杂度:是某个算法的空间耗费,它是该算法所求解问题规模n的函数。l算法的时间复杂度和空间复杂度合称算法复杂度。l线性表是由n≥0个数据元素组成的有限序列。n=0是空表;非空表,只能有一个开始结点,有且只能有一个终端结点。l线性表上定义的基本运算:构造空表:Initlist;求表长:Listlength;取结点:GetNode;查找:LocateNode;插入:InsertList;删除:Delete。l顺序表是按线性表的逻辑结构次序依次存放在一组

4、地址连续的存储单元中。在存储单元中的各元素的物理位置和逻辑结构中各结点相邻关系是一致的。地址计算:?l在顺序表中实现的基本运算:插入:平均移动结点次数为?;平均时间复杂度均为?。删除:平均移动结点次数为?;平均时间复杂度均为?。l线性表的链式存储结构中结点的逻辑次序和物理次序不一定相同,为了能正确表示结点间的逻辑关系,在存储每个结点值的同时,还存储了其后继结点的地址信息。这两部分信息组成链表中的结点结构。一个单链表由头指针的名字来命名。l单链表运算:建立单链表(头插法:生成的顺序与输入顺序相反。平均时间复杂度均为?。尾插法:平均时间复杂度均为?。加头结点的算法:对开始

5、结点的操作无需特殊处理,统一了空表和非空表。查找(按序号:与查找位置有关,平均时间复杂度均为?。按值:与输入实例有关,平均时间复杂度均为。插入运算:p=GetNode;s-next=p-next;p-next=s;平均时间复杂度均为?,删除运算:平均时间复杂度均为?)l单循环链表是一种首尾相接的单链表,终端结点的指针域指向开始结点或头结点。链表终止条件是以指针等于头指针或尾指针。采用单循环链表在实用中多采用尾指针表示单循环链表。优点是查找头指针和尾指针的时间都是O?,不用遍历整个链表。l双链表就是双向链表,就是在单链表的每个结点里再增加一个指向其直接前趋的指针域pri

6、or,形成两条不同方向的链。由头指针head惟一确定。双链表也可以头尾相构成双循环链表。双链表上的插入和删除时间复杂度均为O?。l顺序表和链表的比较:l基于空间:顺序表的存储空间是静态分配,存储密度为1;适于线性表事先确定其大小时采用。链表的存储空间是动态分配,存储密度1;适于线性表长度变化大时采用。l基于时间:顺序表是随机存储结构,当线性表的操作主要是查找时,宜采用。以插入和删除操作为主的线性表宜采用链表做存储结构。若插入和删除主要发生在表的首尾两端,则宜采用尾指针表示的单循环链表。l栈是仅限制在表的一端进行插入和删除运算的线性表,称插入、删除这一端为栈顶,另一端称

7、为栈底。表中无元素时为空栈。栈的修改是按后进先出的原则进行的,我们又称栈为LIFO表。通常栈有顺序栈和链栈两种存储结构。l栈的基本运算有六种:构造空栈:InitStack,判栈空:StackEmpty,判栈满:StackFull,进栈:Push,退栈:Pop,取栈顶元素:StackTopl在顺序栈中有“上溢”和“下溢”的现象。“上溢”是栈顶指针指出栈的外面是出错状态。“下溢”可以表示栈为空栈,因此用来作为控制转移的条件。l顺序栈中的基本操作有六种:构造空栈,判栈空,判栈满,进栈,退栈,取栈顶元素l链栈则没有上溢的限制,因此进栈不要判栈满。链栈不需要在

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。