您所在位置: 网站首页 / 数据结构课程总结.[小编推荐].docx / 文档详情
数据结构课程总结.[小编推荐].docx 立即下载
2025-08-27
约2.7万字
约49页
0
40KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

数据结构课程总结.[小编推荐].docx

数据结构课程总结.[小编推荐].docx

预览

免费试读已结束,剩余 44 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

数据结构课程总结.[小编推荐]

第一篇:数据结构课程总结.[小编推荐]●数据:能够被计算机识别、存储和加工处理的信息的载体。●数据元素:数据的基本单位,可以由若干个数据项组成。数据项是具有独立含义的最小标识单位。●数据结构的定义:●逻辑结构:从逻辑结构上描述数据,独立于计算机。线性结构:一对一关系。线性结构:多对多关系。●存储结构:是逻辑结构用计算机语言的实现。顺序存储结构:如数组。链式存储结构:如链表。索引结构:索引表。散列存储结构:如散列表。●对数据的操作:定义在逻辑结构上,每种逻辑结构都有一个运算集合。常用的有:检索、插入、删除、更新、排序。●数据类型:是一个值的集合以及在这些值上定义的一组操作的总称。原子类型:简单类型,由语言提供。结构类型:由用户借助于描述机制定义,是导出类型。●程序设计的实质是对实际问题选择一种好的数据结构,设计一个好的算法。算法取决于数据结构。●算法是一个自定义的计算过程,以一个或多个值输入,并以一个或多个值输出。●评价算法的好坏的因素:算法是正确的;执行算法的时间;执行算法的存储空间;算法易于理解、编码、调试。●时间复杂度:是某个算法的时间耗费,它是该算法所求解问题规模n的函数。渐近时间复杂度:是指当问题规模趋向无穷大时,该算法时间复杂度的数量级。评价一个算法的时间性能时,主要标准就是算法的渐近时间复杂度。●算法中语句的频度不仅与问题规模有关,还与输入实例中各元素的取值相关。●时间复杂度按数量级递增排列依次为:常数阶、对数阶、线性阶、线性对数阶、平方阶、立方阶、……k次方阶、指数阶。●空间复杂度:是某个算法的空间耗费,它是该算法所求解问题规模n的函数。●算法的时间复杂度和空间复杂度合称算法复杂度。●线性表是由n≥0个数据元素组成的有限序列。n=0是空表;非空表,只能有一个开始结点,有且只能有一个终端结点。●线性表上定义的基本运算:构造空表:Initlist;求表长:Listlength;取结点:GetNode;查找:LocateNode;插入:InsertList;删除:Delete。●顺序表是按线性表的逻辑结构次序依次存放在一组地址连续的存储单元中。在存储单元中的各元素的物理位置和逻辑结构中各结点相邻关系是一致的。地址计算:?●在顺序表中实现的基本运算:插入:平均移动结点次数为?;平均时间复杂度均为?。删除:平均移动结点次数为?;平均时间复杂度均为?。●线性表的链式存储结构中结点的逻辑次序和物理次序不一定相同,为了能正确表示结点间的逻辑关系,在存储每个结点值的同时,还存储了其后继结点的地址信息。这两部分信息组成链表中的结点结构。一个单链表由头指针的名字来命名。●单链表运算:建立单链表(头插法:生成的顺序与输入顺序相反。平均时间复杂度均为?。尾插法:平均时间复杂度均为?。加头结点的算法:对开始结点的操作无需特殊处理,统一了空表和非空表。查找(按序号:与查找位置有关,平均时间复杂度均为?。按值:与输入实例有关,平均时间复杂度均为。插入运算:p=GetNode;s-next=p-next;p-next=s;平均时间复杂度均为?,删除运算:平均时间复杂度均为?●单循环链表是一种首尾相接的单链表,终端结点的指针域指向开始结点或头结点。链表终止条件是以指针等于头指针或尾指针。采用单循环链表在实用中多采用尾指针表示单循环链表。优点是查找头指针和尾指针的时间都是O?,不用遍历整个链表。●双链表就是双向链表,就是在单链表的每个结点里再增加一个指向其直接前趋的指针域prior,形成两条不同方向的链。由头指针head惟一确定。双链表也可以头尾相构成双循环链表。双链表上的插入和删除时间复杂度均为O?。●顺序表和链表的比较:●基于空间:顺序表的存储空间是静态分配,存储密度为1;适于线性表事先确定其大小时采用。链表的存储空间是动态分配,存储密度1;适于线性表长度变化大时采用。●基于时间:顺序表是随机存储结构,当线性表的操作主要是查找时,宜采用。以插入和删除操作为主的线性表宜采用链表做存储结构。若插入和删除主要发生在表的首尾两端,则宜采用尾指针表示的单循环链表。●栈是仅限制在表的一端进行插入和删除运算的线性表,称插入、删除这一端为栈顶,另一端称为栈底。表中无元素时为空栈。栈的修改是按后进先出的原则进行的,我们又称栈为LIFO表。通常栈有顺序栈和链栈两种存储结构。●栈的基本运算有六种:构造空栈:InitStack,判栈空:StackEmpty,判栈满:StackFull,进栈:Push,退栈:Pop,取栈顶元素:StackTop●在顺序栈中有“上溢”和“下溢”的现象。“上溢”是栈顶指针指出栈的外面是出错状态。“下溢”可以表示栈为空栈,因此用来作为控制转移的条件。●顺序栈中的基本操作有六种:构造空栈,判栈空,判栈满,进栈,退
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

数据结构课程总结.[小编推荐]

文档大小:40KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用