数据结构笔记(C语言版)严蔚敏
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构笔记(C语言版)严蔚敏相关的知识,希望对你有一定的参考价值。
参考技术A线性表的单链表存储结构(带头节点):
循环链表 :最后一个结点的指针域指向头结点,整个链表形成一个环。
双向链表的结点中有两个指针域,其一指向直接后继,另一个指向直接前驱。
栈 :是限定仅在表尾进行插入和删除操作的线性表,因此,表尾段称为 栈顶 ,表头端称为 栈底 。
LIFO:last in first out,后进先出。
若base=NULL表示栈不存在,top==base可以作为栈空的标记。每当插入新的栈顶元素时,指针top+1,删除栈顶元素时,top-1,所以, 非空栈中的top指针始终在栈顶元素的下一个位置上 。
建立二叉树与遍历
《数据结构-C语言版》(严蔚敏,吴伟民版)课本源码+习题集解析使用说明
先附上文档归类目录:
课本源码合辑 链接??? 《数据结构》课本源码合辑
习题集全解析 链接??? 《数据结构题集》习题解析合辑
博主有话说:
01.自学编程,难免思路阻塞,所以从今天起,我(StrayedKing)决定在本博客陆续更新严蔚敏,吴伟民版《数据结构-C语言版》各章节的课本源码和配套习题集答案解析,目的是为了整理数据结构中的知识点,并与网友交流意见,集思广益,共同进步。
★注★ 左侧随笔分类下用两个栏目:<课本源码>、<习题解析>来存放本主题文档。
<课本源码>目录下实现了三种数据结构源码:一种是课本中重点描述过的数据结构与算法,另一种是课本中提到,但只是一笔带过的数据结构;还有一种是课本中未提到,但在习题集中涉及到的数据结构。
<习题解析>目录下存放了配套习题集中每章的习题解答,但对于算法设计题,要注意其相对路径,因为涉及到了别的文档的引用。
各文档的组织方式参见附录二中的图示,有疑问联系博主。
02.本源码涵盖了《数据结构》课本和习题集两部分,课本和习题集分别以下图书籍为参照:
03.所有源码实现均使用C语言,遵循C89或C99标准,使用C-Free 5(内置gcc编译器)测试通过。
附下载链接:CFree5
04.为了便于引用、查阅,各章内容在计算机中分文件夹存放,其中,《▲课本算法实现》中存放对课本中算法的实现,《▼配套习题解析》存放对题集中习题的解答,各源文件按章、节组织,组织方式见附录二。
★★★05.注意各文档引用.h文件或.c文件时的相对路径。为保证源码中对各.h或.c文档的引用有效,请保持各文档的相对位置固定。
★★★06.对于主文档(含有main函数的文档),#include自定义源码时引入的是.c文件而不是.h文件,其原因是测试用的gcc编译器支持不创建工程的情况下直接编译。如果是在Visual Studio等微软的编译器下做测试,则必须先创建工程,并引入.h文件,而且,对全局变量的定义等可能需要作出修改,变为带有extren的形式。对于使用Visual Studio产生的其他编译问题,请自行百度解决。
07.部分类型定义名称、宏名、函数名和算法步骤与《数据结构》原书略有区别,但算法思想与原书一致,这样“改写”主要是为了易于区分各名称并简化操作。
08.各算法并非100%完善,未考虑所有意外,未做过多输入与输出验证。
09.有的数据结构在创建之前需要初始化,有的创建和初始化合为一体。
10.大多数组0号单元弃用,或用作计数器。
11.留意全局变量和类型定义、宏定义。
12.算法的测试文档中有些看似“多余”的缩进是为了区分不同功能模块,便于浏览。
★★★13.在习题集解析中,不同人可能会对同一个题的理解有差别,所以这里只是表达我个人的想法,不代表其他任何人的看法。
14.所有涉及到的源码都是以图片给出的,目的一是为了防止有同学抄作业,目的二是希望初学的可以自己把代码敲一遍,而不是复制粘贴过去光看不练。对于测试用的数据文件,会给出下载链接。
15.有疑问,或者有好的建议、思路,请联系博主。
16.待续…
附一:《数据结构》课本源码《▲课本算法实现》目录下的文件组织方式,《▼配套习题解析》部分的组织方式与此类似,只不过每一章内部存放的是习题解析和测试文档。
附二:源码目录组织(注意保持各文件相对位置固定):
以上是关于数据结构笔记(C语言版)严蔚敏的主要内容,如果未能解决你的问题,请参考以下文章
最详细数据结构(C语言版 第2版)课后习题答案全集 严蔚敏 等 编著