数据结构的学习
文章平均质量分 96
根据自己的进度不断更新数据结构中所学习的内容
卫卫周大胖;
努力上进的卫卫卫
展开
-
【数据结构】归并排序的两种实现方式与计数排序
在前面我们讲了各种常见的排序,今天我们就来对排序部分收个尾,再来对归并排序通过递归和非递归的方法进行实现,与对计数排序进行简单的学习。原创 2024-01-17 17:41:50 · 1344 阅读 · 36 评论 -
【数据结构】双向带头循环链表的实现
到这里我们可以发现,当我们写了一个插入之后会发现,那双向链表的头插和尾插,我们可以直接用我们刚刚写的插入的函数直接来实现,就完全没必要单独写尾插和头插了,至于为什么放在最后才说,是因为作者想和大家一起锻炼一下自己的思维能力,这里直接放代码就不演示了。void ListPushBack(LTNode* pHead, LTDatatype x)//双向链表尾插//直接再phead之前插入即可void ListPushFront(LTNode* pHead, LTDatatype x)//双向链表头插。原创 2023-12-30 17:20:39 · 1170 阅读 · 10 评论 -
【数据结构】快速排序(4种方式实现)
任取待排序元素序列中的某元素作为基准值,按照该排序码将待排序集合分割成两子序列,左子序列中所有元素均小于基准值,右子序列中所有元素均大于基准值,然后最左右子序列重复该过程,直到所有元素都排列在相应位置上为止。原创 2023-12-29 20:54:20 · 1755 阅读 · 30 评论 -
【数据结构】插入排序、选择排序、冒泡排序、希尔排序、堆排序
生活中我们总是会碰到各种各样的排序,今天我们就对部分常用的排序进行总结和学习,今天的内容还是相对比较简单的一部分,各位一起加油哦!原创 2023-12-28 21:46:21 · 797 阅读 · 31 评论 -
【数据结构】二叉树的模拟实现
树是一种非线性的数据结构,它是由n(n>=0)个有限结点组成一个具有次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。光看文字可能大家理解不了,我们看下图。二叉树是一种常见的树型数据结构,由若干个节点组成,每个节点最多有两个子节点,分别称为左子节点和右子节点。每个节点最多有两个子节点,且子节点的位置是固定的。左子节点在父节点的左边,右子节点在父节点的右边。二叉树的子树也是二叉树。二叉树的每个节点都有一个值,可以是任意类型的数据。原创 2023-12-19 21:07:45 · 1801 阅读 · 47 评论 -
【数据结构】堆的模拟实现
堆(Heap):我们可以通俗的理解成一种二叉树,但最大值或最小值是存在上面的,且堆中某个节点的值总是不大于或不小于其父节点的值。并且堆总是一棵完全二叉树。光看文字我们可能无法很清晰的理解堆,我们来看下图。原创 2023-12-12 21:30:05 · 327 阅读 · 18 评论 -
【数据结构】栈和队列的模拟实现
栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出的原则(如下图所示)。压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。出栈:栈的删除操作叫做出栈。出数据也在栈顶。队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出(我们可以通俗的理解成一头进一头出,先进去的先出去)。入队列:进行插入操作的一端称为队尾。出队列:进行删除操作的一端称为队头。具体如下图。原创 2023-11-21 21:22:08 · 561 阅读 · 27 评论 -
【数据结构】单链表之--无头单向非循环链表
前面我们学习了动态顺序表并且模拟了它的实现,今天我们来进一步学习,来学习单链表!一起加油各位,后面的路只会越来越难走需要我们一步一个脚印!原创 2023-11-07 18:53:05 · 658 阅读 · 53 评论 -
【数据结构】顺序表的学习
在之前我们学习了C语言的各种各样的语法,因此我们今天开始学习数据结构这一个模块,因此我们就从第一个部分来开始学习"原创 2023-10-31 16:41:31 · 445 阅读 · 46 评论