- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构(C语言版)知识点串联.doc
第一章 绪论
逻辑结构:线性结构(2 线性表;3 栈和队列;4 数组和广义表;5 串)和非线性(6 树;7 图)
8 查找 ;9 排序
存储结构:顺序存储、链式存储、索引存储、散列存储
顺序存储和链式存储的优缺点:
顺序存储优点:存取方式是随机的,读取数据比较方便
缺点:插入和删除操作需要移动大量的数据
链式存储方式的优缺点与顺序相反。
判断算法好坏的标准:时间复杂度和空间复杂度
第二章 线性表
线性表:由n(n=0)个相同数据类型的元素组成的有限序列。
逻辑特征:(1:1)
第一个结点是开始结点,无前驱有唯一的后继
最后一个结点是终端节点,无后继有唯一的前驱
中间结点,有唯一前驱和唯一的后继
逻辑结构的定义方式:(元素1,元素2,。。。)
存储结构:(物理结构)
顺序存储(用数组体现):预先分配一段连续的区域,静态分配 int a[10]; a表示a[0]的地址
顺序表:两层含义:逻辑结构上线性结构
物理上顺序存储
链式存储(用指针):占用的区域不一定连续,动态分配;malloc free
链表:两层含义:逻辑结构上线性结构
物理上链式存储
顺序表的插入:maxsize表示最多存放的元素的个数,size表示有效元素的个数
判断满不满:满的条件:size= =maxsize
插入的位置是不是合法(i=1i=size+1)
后移(先移动后面的)
插入 size++;
顺序表的删除:
判断空间是否是空 (size= =0)
判断位置是不是合法 (1=i=size)
前移(先移动前面的)
Size- -
链表:
分类:单链表、循环链表、双链表
三个术语:头结点、头指针、开始结点
插入操作:p结点的后面
生成空间:s=(S *)malloc(sizeof(S));
赋值:s-data=X;
s-next=p-next;(修改新结点的指针)
P-next=s;
链表的删除:p结点的后面的结点
q=p-next;
p-next=q-next; //p-next=p-next-next;
free(q);
删除p结点本身:
寻找p结点的前驱结点,转化为删除p结点的前驱结点的后继
q=head;
while(q-next!=p)
q=q-next;
q-next=p-next;
free(p);
删除p的后继(p结点不是终端结点,p一定要有后继)
q=p-next;
p-data=q-data;
p-next=q-next;
free(q);
第三章 栈和队列
栈和队列是特殊的线性表。特殊在插入和删除操作都是在表的端点处进行。
栈Stack:操作受限(插入和删除)的线性表。
在线性表的末尾做插入和删除,叫做栈顶top 线性表的开始部分叫做栈底 bottom
特点:FILO
典型应用:函数的调用
存储方式:
顺序存储(用数组体现,静态分配存储空间)
链式存储(涉及到指针,动态分配存储空间)
顺序栈的插入:top表示栈顶元素的下标,定义是int类型的,格式是int top;maxsize表示空间的大小,最多存放多少个元素
(在顺序表的基础上修改的,红颜色粗体部分去掉)
判断满不满:满的条件是top= = maxsize-1
插入的位置是不是合法(i=1i=size+1):去掉 原因是位置固定 size+1
后移(先移动后面的):去掉
top++;插入(data[top]=X)
顺序栈的删除:(在顺序表的基础上修改的,红颜色粗体部分去掉)
判断空间是否是空 (top= =-1 top0)
判断位置是不是合法 (1=i=size)
前移(先移动前面的)
top - -
链栈的插入操作:top表示栈顶的指针,类似于head,top是指针变量 格式:数据类型 *top;
生成空间:s=malloc(。。。。);
赋值:s-data=X;
修改指针:s-next=top;(先修改的是新结点的指针)
修改top指针:top=s;
链栈的删除:
p=top;
top=top-next;
free(p);
进栈的顺序是123,则可能的出栈的顺序是123、132、213、231、312、321
进栈的顺序是1234,则可能的出栈的顺序是1234、1243、1324、1342、1432、2134、2143、2314、2341、2431、3214、3241、3421、4321
队列:
定义:操作受限的线性表(在表的一端进行插入、在另一端进行删除)
在线性表的末尾进行插入操作,叫做队尾 rear
在线性表的开始做删除操作,叫做队头 front
特点:FIFO
存储结构:
顺序存储(用数组体现,静态分配存储空间)
链式存储(用指针体现,动态分配存储空间)
入
您可能关注的文档
最近下载
- GB50147-2010 电气装置安装工程高压电器施工及验收规范.docx VIP
- 森林防火安全教育.ppt VIP
- 22G101 三维彩色立体图集-立体图集剪力墙柱平法标准构造详图及三维示意图.docx VIP
- 2025年下半年杭州市上城区丁兰街道办事处招聘编外工作人员11人笔试参考题库附答案解析.docx VIP
- 子宫颈癌筛查规范(2025年版)解读PPT课件.pptx VIP
- 拆除既有跨铁路单孔空心板梁桥施工方案.pdf VIP
- 智能语音质检解决方案.pptx VIP
- 《勾股定理》评课稿.docx VIP
- 20.《钢结构工程施工质量验收规范》(GB50205-2001).docx VIP
- MBA课堂不会教你的:街头生意经.pdf VIP
文档评论(0)