
大话数据结构笔记
zqhwboy
我想赢,但我并不怕输.
展开
-
第一章数据结构绪论
数据结构绪论 1.数据 数据是信息的载体,是描述客观事物属性的数、字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。 2.数据元素 数据元素是数据的基本单位,通常作为一个整体进行考虑和处理。 <数据元素>是一个很具体的概念。比如说你有很多笔,「笔」这个概念可以称为<数据对象>,而你的每一只笔都是一个具体的<数据元素>。 3.数据项 一个数据元素可由若干数据项组成,数据项是构成数据元素的不可分割的最小单位。(列如每个学生学号,性别) 一般在研究某个数据结原创 2020-10-15 10:24:55 · 132 阅读 · 0 评论 -
第二章算法
算法 算法:算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作 算法的特性 1.输入输出: 算法具有0个或多个输入,至少有一个或多个输出. 2.有穷性:指算法在执行有限的步骤之后,自动结束而不会出现无限循环,并且每一个步骤都在可接受的时间范围内完成. 3.确定性:算法的每一个步骤都具有确定的含义,不会出现二义性. 4.可行性:算法的每一个都必须是可行的,也就是说,每一步都能通过执行有限的次数完成. 算法的设计要求 1.正确性 2.可读性 3.健壮性 4时间效率高原创 2020-10-17 17:38:46 · 98 阅读 · 0 评论 -
第三章线性表
线性表 线性表:零个或多个数据元素的有限序列. 顺序存储结构 线性表的顺序存储结构:指的是用一段地址连续的存储单元依次存储线性表的数据元素. 链式存储结构 1.单链表 头指针:头指针是指链表指向第一个节点的指针,若链表有头结点,则是指向头结点的指针. 无论链表是否为空,头指针均不为空.头指针是链表的必要元素 头结点:头结点不是链表的必须元素. 头结点是为了操作统一和方便而设立的,放在第一元素的结点之前,其数据域一般无意义(也可以存放链表的长度). 2.静态链表 静态链表其实为了给没有指针的高级语言设计的一原创 2020-10-19 11:24:49 · 147 阅读 · 0 评论 -
第四章栈与队列
栈的定义 栈是限定仅在表尾进行插入和删除操作的线性表 栈的存储结构 顺序存储: 同时可以用共享栈去节约空间 链式存储:类似线性表中链表 栈的应用 递归 斐波那契数列的实现 四则运算表达式求值 队列定义 队列是只允许在一端进行插入操作,而另一端进行删除操作的线性表. 顺序队列 循环队列 链式队列 ...原创 2020-10-22 12:07:33 · 98 阅读 · 0 评论 -
第五章串
串的定义 串是由0个或多个字符组成的有限序列,又名叫字符串 0个字符的串称为空串 有空格的字符串不是空串,是空格串 串的存储结构 顺序存储结构 链式存储结构 串上的算法 朴素的模式匹配算法 KMP模式模式匹配算法 ...原创 2020-10-24 10:36:15 · 73 阅读 · 0 评论 -
第六章树
1.树的定义 1.1结点的分类 结点拥有的子树称为结点的度。度为0的结点称为叶节点或终端结点 度不为0的结点称为非终端结点或分支结点。除根结点之外,分支结点也称为内部结点。树的度是树内各结点的度的最大值。 1.2结点间的关系 结点的子树的根称为该结点的孩子,相应的该结点称为孩子的双亲 同一个双亲的孩子之间互称为兄弟. 结点的祖先是从根到该结点所经分支上的所有结点. 1.3树的其他相关概念 结点的层次是从根节点开始,根为第一层,根的孩子为第二层. 树中结点的最大层次称为树的深度或高度 森林是m(m>=原创 2020-10-31 13:56:12 · 134 阅读 · 0 评论