
数据结构1
文章平均质量分 85
不会背雨霖铃
— —
一名热爱编程程序猿,当然,什么学习上的问题可以私聊我, 一起进步。
展开
-
直接插入排序与希尔排序
排序:所谓排序,就是使一串记录,按照其中的某个或某些或某些关键字的大小,递增或递减的排列稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对顺序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。内部排序:数据元素全部放在内存中的排序。外部排序:数据元素太多不能同时放在内存中,根据排序过程的要求不能在内外存之间移动数据的排序。原创 2023-08-31 17:50:54 · 487 阅读 · 0 评论 -
【数据结构】堆的顺序结构及实现
如果有一个关键码的集合K = { k0,k1 ,k2 ,...,kn-1 },把它的所有元素按完全二叉树的顺序存储方式存储 在一个一维数组中,并满足: kn=k2*n+2 ) i = 0,1, 2...,则称为小堆(或大堆)。,这里先找到左右子结点中最大的结点(最小的结点),然后与子结点进行比较,如果符合条件就进行交换,不断重复上述过程,然后当子结点的数组下标大于等于数组的元素个数就结束。这里与其他销毁完全一样,不再叙述。原创 2023-09-18 18:42:33 · 428 阅读 · 0 评论 -
【数据结构】初识树
树有很多表示方法:双亲表示法,孩子表示法,孩子双亲表示法以及孩子兄弟表示法等。好了,到这里会有对树有着基本的概念了,下一篇将深入讲解,希望能对大家有帮助!二叉树一般可以使用两种结构存储,一种顺序结构 ,一种链式结构。二叉树(Binary Tree)是一个由结点构成的有限集合,这里以孩子兄弟表示法为例。原创 2023-08-30 12:00:00 · 374 阅读 · 1 评论 -
一篇文章带你实现队列的接口
队列是只允许在一段进行插入,在另一端删除的线性表。允许删除的一端叫做队头,允许插入的一端叫做队尾。队列的修改是按照先进先出(First In First Out, FIFO)的原则进行的。原创 2023-08-26 18:02:56 · 558 阅读 · 0 评论 -
一篇文章带你实现栈的接口
栈(Stacks)是限定在一端插入和删除的线性表。允许插入和删除的一端称为栈顶(Top),另一端称为栈底(Bottom)。栈中的数据元素遵守后进先出(Last In First Out)的原则。因此,栈又称为后进先出(先进后出)线性表。压栈:栈的插入操作叫做进栈、压栈、入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据也在栈顶。原创 2023-08-11 19:10:55 · 221 阅读 · 1 评论 -
线性表之单链表
2.带头双向循环链表:结构最复杂,一般用在单独存放数据。实际中使用的链表数据结构,都是带头双向循环链表。实际中更多是作为其他数据结构的子结构,如哈希桶,图的邻接表等等。概念:链表是一种物理存储结构上非连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表分类有单向或者双向,带头或不带头,循环或者不循环。但常用的有无头单向非循环链表和带头双向循环链表。接口的具体实现,我们在程序中注释,哪点有不懂的评论区可以解答。我们将库文件,单链表的定义,接口的声明,放在头文件。原创 2023-04-25 13:28:37 · 121 阅读 · 1 评论 -
线性表之顺序表
是一个整数变量,其值描述调用库函数生成的错误条件或诊断信息(C 标准库的任何函数都可以为 errno 设置值,即使未在此参考中显式指定,即使未发生错误),有关详细信息,请参阅。线性表在逻辑上是线性结构,连续的,但在物理结构上不一定连续。在顺序表最后创建一个空间,从最后开始,将前一位赋值到后一位,直到前一位小于pos停止。线性表是n个具有相同特性的数据元素的有限序列,常见有:顺序表,栈,队列,字符串等。从pos的位置开始,将后一位赋值到前一位,直到后一位是最后一位停止。从前面开始,将后面一位赋值该前一位。原创 2023-04-18 12:00:00 · 346 阅读 · 0 评论