- 博客(14)
- 收藏
- 关注
原创 记录数据结构的学习014
(此文为王道数据结构学习笔记,只供个人后续复习使用,若有错误,还望指出我改正,谢谢)希尔排序:基于插入排序的优化思路:让局部有序,减少移动消耗设置一个增量d,把相距距离为d的元素记为同一个子表。例如d=10时,1,11,21...为一个子表,2,12,22...为一个子表,以此类推。然后对每个子表进行直接插入排序,使其有序。处理完毕后,将增量d缩小,重复上述过程,直到d=1。(若初始d=1,则变为直接插入排序)常用d的取法:初始为N/2,每次减半,N为元素个数。希尔排序代码实现:v
2021-10-19 22:18:27
328
原创 记录数据结构的学习012
(此文为王道数据结构学习笔记,只供个人后续复习使用,若有错误,还望指出我改正,谢谢)分块查找块内无序,块间有序索引表存各组关键字,在对索引表进行查找时,也可使用折半查找,当low>high时,low指向的即为所需块,再对块内进行顺序查找查找效率:有n个元素时,分为个块,每个块个元素时,平均查找长度最少五叉查找树N叉查找树对于N叉查找树,每个结点内,如果查找值大于关键字,则右移查看下一个关键字,如果小于或无关键字了,则向下寻找对应的子树,即小于1号关键字则进.
2021-08-18 22:07:07
114
原创 记录数据结构的学习011
(此文为王道数据结构学习笔记,只供个人后续复习使用,若有错误,还望指出我改正,谢谢)有向无环图(DAG图):不存在环路的有向图Step 1:把各个操作数不重复地排成一排Step 2:标出各个运算符的生效顺序(先后顺序有点出入无所谓)Step 3:按顺序加入运算符,注意“分层”Step 4:从底向上逐层检查同层的运算符是否可以合体拓扑排序AOV网:用顶点表示活动的图,即每个顶点代表一个要做的事情拓扑排序:找到做事的先后顺序,有回路的AOV图则不存在拓扑排序..
2021-08-15 22:03:06
151
原创 记录数据结构的学习010
(此文为王道数据结构学习笔记,只供个人后续复习使用,若有错误,还望指出我改正,谢谢)图的遍历广度优先遍历:树的广度优先遍历:层序遍历,树是特殊的图
2021-08-14 22:01:56
606
原创 记录数据结构的学习009
(此文为王道数据结构学习笔记,只供个人后续复习使用,若有错误,还望指出我改正,谢谢)中序线索化:找中序前驱,从根结点开始,对整个二叉树进行中序遍历,并用pre指针指向当前访问结点的前驱,当当前访问结点指向想要找的结点时,pre指针指向的即是该结点的中序前驱。typedef struct ThreadNode{ ElemType data; struct ThreadNode *lchild,*rchild; int ltag,rtag;//线索标志}ThreadNode, * Thre
2021-08-13 20:24:17
166
原创 记录数据结构的学习008
(此文为王道数据结构学习笔记,只供个人后续复习使用,若有错误,还望指出我改正,谢谢)二叉树的五种状态:空二叉树,只有左子树,只有右子树,只有根结点,左右子树都有满二叉树与完全二叉树:完全二叉树为去较大号结点的满二叉树,满二叉树为特殊完全二叉树。完全二叉树度为 1 的结点只有最多一个。二叉排序树:左子树的结点均小于根结点,右子树的结点均大于根结点,同样的,左右子树各自又为二叉排序树插入新结点时从根结点开始进行判断:如果小于该结点向左走,如果大于根结点向右走,直到找到空位..
2021-08-11 21:38:14
82
原创 记录数据结构的学习006
(此文为王道数据结构学习笔记,只供个人后续复习使用,若有错误,还望指出我改正,谢谢)特殊矩阵的压缩存储普通矩阵,可用一个二维数组存储 Array[M][N]特殊矩阵:对称矩阵、三角矩阵、三对角矩阵、稀疏矩阵对称矩阵的压缩空间:对称矩阵:Aij=Aji故可以只存储 主对角线+下三角区可以按照行优先存储方式存储一个对称矩阵:{A11,A21,A22,A31,A32,A33,A41,A42,A43,... ...,An1,An2,... ...,An n-1 Ann}数组的..
2021-08-09 21:35:48
325
原创 记录数据结构的学习005
(此文为王道数据结构学习笔记,只供个人后续复习使用,若有错误,还望指出我改正,谢谢)队列的链式实现:引入队头队尾指针定义与初始化一个链式列表typedef struct{ ElemType data; struct LinkNode *next;}LinkNode;//链式队列的单个结点的结构体typedef struct{ LinkNode *front, *rear;//头指针,尾指针}LinkQueue;//链式队列void InitQueue(LinkQueue
2021-08-08 20:24:00
98
原创 记录数据结构的学习004
(此文为王道数据结构学习笔记,只供个人后续复习使用,若有错误,还望指出我改正,谢谢)回顾上一篇文章学习内容:单链表的后插、删除顺序栈及其基本操作顺序队列及其基本操作本次手写巩固一下前三篇学习的内容 将手写 线性表、链表、栈、队列的各自操作:静态顺序表:其中要注意到数组下标与序号差1,为了代码的健壮性,要留意特殊情况。静态顺序表比较简单。动态顺序表:.其余操作与静态分配基本一致,只不过最大容量可变。链表:单链表:用编译器测试以上功能:...
2021-08-07 22:09:25
75
原创 记录数据结构的学习003
(此文为王道数据结构学习笔记,只供个人后续复习使用,若有错误,还望指出我改正,谢谢)回顾上一篇文章学习内容:单链表的定义。带头结点与不带头结点的区别。初始化带头结点的单链表。头/插插法建立单链表。按序查找,按值查找,按序插入。指定结点的后插操作:先找到指定结点,再将next区域与新结点进行交接即可。bool InsertNextNode(LNode *p, ElemType e){ if (p==NULL) return false; //要找的结点不存.
2021-08-06 20:08:30
141
原创 记录数据结构的学习002
(此文为王道数据结构学习笔记,只供个人后续复习使用,若有错误,还望指出我改正,谢谢)回顾上次学习内容:数据结构的定义、类型、三要素算法的定义、特性、以及效率评定指标:时间复杂度、空间复杂度。时间复杂度主要看循环嵌套,空间复杂度看引入的数据结构和自我调用。线性表的基本操作:创毁增删查改,静态分配,动态分配。三道统考真题。单链表:每个结点:数据元素+指向下一个节点的指针顺序表:优点:随机存取,存储密度高缺点:要求大片连续空间,不好改变容量单链表:优点:不要
2021-08-05 20:45:29
119
原创 记录数据结构的学习001
(此文仅用于记录我复习数据结构的过程,以便个人后续复习用)绪论:数据:信息的载体数据项:最小不可分割单位,如一个人的名字数据元素:数据的基本单位,由若干个数据项组成数据类型:1.原子类型:int、char等;2.结构类型:struct;3.抽象数据类型。数据结构三要素:逻辑结构,存储结构(物理结构),数据的运算1.逻辑结构又分为线性结构与非线性结构,逻辑结构与存储结构无关,独立于计算机线性结构:线性表、栈、队列(线性结构:一对一关系)非线性结构:树、图、集合(集合:同属于
2021-08-04 21:25:21
525
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人