数据结构与算法
文章平均质量分 63
以实战为线序,通过学习整理总结数据结构与算法
lqonlylove
这个作者很懒,什么都没留下…
展开
-
数据结构笔记 十三:二叉树
说明:本笔记依照《王道论坛-数据结构》视频内容整理。一、基本概念二叉树是 n (n≥0)个结点的有限集合。(1)或者为空二叉树,即 n = 0。(2)或者由一个根结点和两个互不相交的被称为根的左子树和右子树组成。左子树和右子树又分别是一颗二叉树。特点:(1)每个结点至多只有两颗子树(2)左右子树不能颠倒(二叉树是有序树)二叉树是递归定义的数据结构。二、二叉树的五种状态三、特殊的二叉树四、二叉树性质五、二叉树的存储结构1、顺序存储结点编号反应结点的逻辑关系。二原创 2021-10-21 09:06:06 · 239 阅读 · 0 评论 -
数据结构笔记 十二:树
说明:本笔记依照《王道论坛-数据结构》视频内容整理。一、基本概念树是 n(n≥0) 个结点的有限集合,n=0 时,称为空树,这是一种特殊情况。在任意一棵非空树中应满足:(1)有且仅有一个特定的称为根的结点。(2)当 n > 1时,其余结点可分为 m (m>0)个互不相交的有限集合T1、T2、……、Tm,其中每个集合本身又是一棵树,并且称为根节点的子树。非空树特点:有且仅有一个根结点没有后继的结点称为“叶子结点”(或终端结点)有后继的结点称为“分支结点”(或非终端结点)除根结点外,任何一原创 2021-10-21 08:51:45 · 571 阅读 · 0 评论 -
数据结构笔记 十一:串
说明:本笔记依照《王道论坛-数据结构》视频内容整理一、基本概念串,即字符串(string)是由零个或多个字符组成的有限序列。一般记为 S = 'a1a2……an' (n ≥ 0)。其中,S 是串名,单引号括起来的字符序列是串的值;ai 可以是字母、数字或其他字符;串中字符的个数 n 称为串的长度。n = 0 时的串为空串。字串:串中任意个连续的字符组成的子序列。主串:包括字串的串。字符再主串中的位置:字符在串中的序号。子串在主串中的位置:字串的第一个字符在主串中的位置。二、操作StrAssi原创 2021-10-19 23:03:03 · 259 阅读 · 0 评论 -
数据结构笔记 十:双端队列
说明:本笔记依照《王道论坛-数据结构》视频内容整理原创 2021-10-19 00:35:18 · 141 阅读 · 0 评论 -
数据结构笔记 九:队列
说明:本笔记依照《王道论坛-数据结构》视频内容整理。队列是只允许一端进行插入,在另一端删除的线性表。一、操作InitQueue(&Q):初始化队列。构造一个空队列 Q。DestroyQueue(&Q):销毁队列。销毁并释放队列 Q 所占用的内存空间。EnQueue(&Q,x):入队。若队列 Q 未满,将 x 加入,使之成为新的对尾。DeQueue(&Q,&x):出队。若队列 Q 非空,删除对头元素,并用 x 返回。GetHead(Q,&x):读原创 2021-10-19 00:33:21 · 375 阅读 · 0 评论 -
数据结构笔记 八:栈
说明:本笔记依照《王道论坛-数据结构》视频内容整理。栈(Stack)是只允许在一端进行插入或删除操作的线性表。特点:先进后出。逻辑结构:与普通线性表相同。数据运算:插入、删除操作有区别。一、操作InitStack(&S):初始化栈。构造一个空栈 S,分配内存空间。DestroyStack(&S):销毁栈。销毁并释放栈 S 所占用的内存空间。Push(&S,x):进栈,若栈 S 未满,则将 x 加入使之称为新栈顶。Pop(&S,x):出栈,若栈 S 非空,则原创 2021-10-18 00:00:16 · 315 阅读 · 0 评论 -
数据结构笔记 七:其他链表
说明:本笔记依照《王道论坛-数据结构》视频内容整理。一、循环链表1、循环单链表空表判断:判断头结点 next 是否指向自身(L->next == L)。表尾判断:判断下一个结点是否等于L(if(p->next == L))。2、循环双链表空表判断:判断头结点 next 是否指向自身(L->next == L)。表尾判断:判断下一个结点是否等于L(if(p->next == L))。二、静态链表...原创 2021-10-15 00:11:21 · 124 阅读 · 0 评论 -
数据结构笔记 六:双链表
说明:本笔记依照《王道论坛-数据结构》视频内容整理。单链表:无法逆向检索,有时候不太方方便。双链表:可进可退,存储密度更低一点。一、双链表结点typedef int ElemType; // 根据实际情况定义typedef struct lNode{ // 定义单列表结点类型 ElemType data; // 每个结点存放一个数据元素 struct lNode *prior,*next; // prior指向前驱结点,原创 2021-10-14 23:48:34 · 352 阅读 · 0 评论 -
数据结构笔记 五:单链表
说明:本笔记依照《王道论坛-数据结构》视频内容整理。一、定义顺序表特点:优点:可随机存储,存储密度高。缺点:要求大片连续空间,改变容量不方便。单链表特点:优点:不要求大片连续空间,改变容量方便。缺点:不可随机存取,要耗费一定空间存放指针。二、单链表节点typedef int ElemType; // 根据实际情况定义typedef struct lNode{ // 定义单列表结点类型 ElemType data;原创 2021-10-13 23:58:03 · 590 阅读 · 1 评论 -
数据结构笔记 四:顺序表
一、定义顺序表:用顺序存储的方式实现线性表。顺序存储:把逻辑上相邻的元素存储在物理位置上也相邻的存储单元中,元素之间关系由存储单元的邻近关系来体现。二、顺序表实现1、静态分配使用数组方式实现。#define MAXSIZE 10 // 定义最大长度typedef int ElemType; // 根据实际情况定义typedef struct{ ElemType data[MAXSIZE]; // 用数组存放数据元素(ElemType -原创 2021-10-12 20:54:34 · 586 阅读 · 0 评论 -
数据结构笔记 三:线性表
数据结构三要素:逻辑结构、数据运算、存储结构(物理结构)<!- 存储结构不同,运算的实现方式不同 ->一、线性表定义线性表是具有相同数据类型 n(n >= 0)个数据元素的有限序列,其中 n 为表长,当 n = 0 时线性表是一个空表。若用 L 命名线性表,则其一般表示为:L=(a1,a2,……,ai,……,an)L = (a1,a2, ……, ai, ……, an)L=(a1,a2,……,ai,……,an)说明:相同:表示每个元素所占空间一样大有限序列:表示有次原创 2021-10-12 20:35:55 · 615 阅读 · 0 评论 -
数据结构笔记 二:绪论
说明:本笔记依照《王道论坛-数据结构》视频内容整理。一、数据数据是信息的载体,是描述客观事物属性的数、字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。数据是计算机程序加工的原料。二、数据元素、数据项数据元素是数据的基本单位,通常作为一个整体进行考虑和处理。数据项是构成数据元素的不可分割的最小单位。一个数据元素由若干数据项组成。<!- 要根据实际的业务需求来确定什么是数据元素、什么是数据项 ->举例说明,一个微信账号就是一个数据元素,而账号中的昵称、性别、生日等分原创 2021-10-11 01:08:28 · 192 阅读 · 1 评论 -
数据结构笔记 一:基本概念
说明:本笔记依照《王道论坛-数据结构》视频内容整理。一、信息化世界组件作用相关课程计组(硬件)硬件 - 研究计算机底层硬件如何工作《计算机组成原理》操作系统操作系统 - 研究操作系统工作原理《操作系统》C、数据结构(软件)应用软件 - 解决现实中某些问题《C 语言》、《数据结构和算法》计算机网络网络 - 研究多个计算机之间互联互通《计算机网络》二、数据结构学习内容如何用程序代码把现实世界的问题信息化。如何用计算机高效的处理这些信息从而原创 2021-10-11 00:57:50 · 106 阅读 · 0 评论