C语言数据结构
文章平均质量分 95
C语言实现各个数据结构
林先生-1
佛系……但致力于提高文章的文字水平。
展开
-
【数据结构】由完全二叉树引申出的堆的实现
关于“堆”,百度百科上是这么说的:——————————引自百度百科由上面可知,我们可以将堆理解成一个数组,也可以理解成一个完全二叉树。其实由于完全二叉树的特殊性,其本身就可以使用一个数组来存储。在之前的二叉树的实现中,我们已经知道完全二叉树的最后一层的叶子节点一定是连续的:而之所以完全二叉树能用数组存储,是因为完全二叉树的以下这些性质:对于具有n个结点的完全二叉树,如果按照从上至下从左至右的数组顺序对所有节点从0开始编号,则对若i>0,i位置节点的双亲序号:(i-1)/2;原创 2023-06-04 17:49:16 · 424 阅读 · 0 评论 -
【数据结构】难度上一个台阶的二叉树实现
树”在现实生活中大家都知道是什么,但在计算机界中却另有所指,指的是一种数据结构。树是一种数据结构,它是由n(n≥0)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个节点有零个或多个子节点;没有父节点的节点称为根节点;每一个非根节点有且只有一个父节点;除了根节点外,每个子节点可以分为多个不相交的子树。————————————————引自百度百科一个节点含有的子树的个数称为该节点的度;如上图:A的为6。原创 2023-06-01 20:49:06 · 768 阅读 · 0 评论 -
【数据结构】和栈一样简单的结构——队列
对于队列,百度百科上对它的简介是这样的:队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。原创 2023-05-12 19:05:51 · 618 阅读 · 0 评论 -
【数据结构】简单到有摸鱼负罪感的栈的实现
对于栈,百度百科上对它的介绍是这样的:栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。原创 2023-05-12 10:12:03 · 571 阅读 · 1 评论 -
【数据结构】结构最复杂实现最简单的双向带头循环链表
有人可能会疑惑为什么突然就从结构最简单的单向无头非循环链表转到结构最复杂度双向带头循环链表,这好像跨度有点大啊。但这两个链表是两个很好的极端,单向无头非循环链表虽然结构最简单:但也正因为其结构最简单给它带来了很多局限性,比如对于每个节点我们只能找到它的后继而不能找到它的前驱,尾插的时候总是需要从头遍历找到尾节,总是要特殊处理头指针的改变等等……所以单向无头非循环链表实现起来应该是最难的。原创 2023-05-10 20:58:48 · 456 阅读 · 0 评论 -
【数据结构】数据结构小试牛刀之单链表
不讲虚的啦,直接肝!原创 2023-04-20 20:20:25 · 401 阅读 · 1 评论 -
【数据结构启航!】数据结构开胃菜之顺序表
关于线性表的介绍如下:线性表(linear list)是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串…线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。而今天我们要学习的就是线性表中最简单的顺序表,因为顺序表不管是在逻辑上还是在物理上都和数组差不多,所以一般情况下采用数组进行存储。原创 2023-04-16 20:38:36 · 356 阅读 · 2 评论