
数据结构与算法
文章平均质量分 82
算法导航
这个作者很懒,什么都没留下…
展开
-
数据结构与算法--排序
假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,A1=A2,且A1在A2之前,而在排序后的序列中,A1仍在A2之前,则称这种排序算法是稳定的;直接插入排序是一种最简单的排序算法,基本操作是将一个记录插入到已排好序的有序表中,从而得到一个新的、记录数增 1 的有序表。:利用桶排序的思路,不是基于比较的排序,也无法在一次排序中确定某个元素的位置。每次从待排序记录中选出关键字最小的记录,顺序放在已排序的记录序列的后面,直到全部排完为止。原创 2023-09-04 22:19:57 · 318 阅读 · 0 评论 -
数据结构与算法--查找
初始时,令 low=1, high=n, mid=(low+high)/2 (向下取整):将所有关键字为同义词的记录存储在一个单链表中,并用一维数组存放单链表的头指针。: 当发生冲突时,形成一个探查序列,沿此序列逐个地址探查,直到找到一个空位置。: 构造若干个哈希函数,当发生冲突时,使用另一个哈希函数,直至不发生冲突。将表划分为几块,先确定在哪一块,再在块内顺序查找。在表起始位置设置监视哨(也就是查找值),从第一个元素开始,依次查找。元素的位置和元素值之间有某种确定的关系,根据元素值即可得出其位置。原创 2023-09-03 21:40:52 · 78 阅读 · 0 评论 -
数据结构与算法--图
有向图无向图子图。原创 2023-09-02 21:29:14 · 48 阅读 · 0 评论 -
数据结构与算法--图
有向图无向图子图。原创 2023-09-01 10:26:48 · 35 阅读 · 0 评论 -
数据结构与算法--树
(1)树是一类重要的非线性数据结构,是以分支关系定义的层次结构。(2)几个概念:结点的度:结点的子树数树的度:一棵树中最大的结点度数深度:树中结点的最大层次数(3)二叉树性质:每个结点至多有两个子树,且结点有左右子树之分;二叉树的第iii层至多有2i−12^{i-1}2i−1个结点;深度为kkk的二叉树,总的结点个数至多为2k−12^k-12k−1;对任意一棵二叉树,若其叶子结点数为n0n_0n0,度为2 的结点数为n2n_2。原创 2023-08-30 21:12:32 · 52 阅读 · 0 评论 -
数据结构与算法--数组
矩阵可以看做是特殊的线性表,即线性表元素本身又是一个线性表(将整行(列)看做成一个元素,而这个元素本身也是线性表)。原创 2023-08-29 22:30:39 · 226 阅读 · 1 评论 -
数据结构与算法--栈和队列
时,到底是队空还是队满呢,于是,我们采用牺牲一个存储空间的方法来加以区分,(4)出队:删除队首元素(注意:头指针一直指向头结点,而不是第一个结点):限定只能在表的一端进行插入,在表的另一端进行删除的线性表。(2)构造空队列:初始时,头指针和尾指针都指向头结点。(2)针对假溢出,可以采用循环队列,即队列首尾相接。(2)特殊队列:双端队列、超队列。(front):允许删除的一端。复杂度:T(n) = O(1)复杂度:T(n) = O(1)复杂度:T(n) = O(1)(rear):允许插入的一端。原创 2023-08-28 22:10:49 · 121 阅读 · 1 评论 -
数据结构与算法--线性表
每一个结点包括数据域和指针域,指针域的值为下一节点在数组中的位置(序号)。在线性表 L 中查找是否存在数据元素 e,返回第 1 个值与 e 相同的元素的位序,若不存在则返回 0。查找单链表中是否存在数据域为 e 的结点,若有则返回该结点的指针;(7)单链表适用于经常对数据进行插入/删除的操作的问题,不适合经常需要随机存取的问题。每个节点包括数据域和指针域,数据域中存储元素本身信息,指针域存储结点直接后继的地址。(2)插入:在双向链表中指针 p 指向的结点前插入新结点(注意每一步的顺序)。原创 2023-08-27 20:43:15 · 774 阅读 · 1 评论 -
数据结构与算法--绪论
顺序存储结构:使用一段连续的存储空间,借助元素在内存中的相对位置来表示数据元素间的逻辑关系。:所有能输入到计算机中、用于描述客观事物的符号,不仅包括整型、浮点型点数值类型,还包括声音、图像、视频等非数值类型。链式存储结构:无需使用连续的存储空间,借助指针来表示元素间的逻辑关系。时,交换的是函数体中的局部变量,a、b 的值并未交换。线性结构:数据元素是一对一的关系,如线性表、栈、队列;时,实际交换的也是 a、b ,故而完成了值的交换。:数据的逻辑结构在计算机存储器中的实现,包括。原创 2023-08-26 10:05:54 · 59 阅读 · 0 评论