- 博客(11)
- 收藏
- 关注
原创 学习笔记—数据结构—排序
目录排序的概念及运用常见的运用衡量排序标准常见排序的实现算法插入排序直接插入排序代码实现复杂度希尔排序代码实现复杂度选择排序直接选择排序编辑代码实现复杂度堆排序代码实现复杂度交换排序冒泡排序代码实现复杂度快速排序hoare版本代码实现挖坑法代码实现lomuto前后指针编辑代码实现非递归版本代码实现复杂度归并排序代码实现复杂度非比较排序计数排序代码实现复杂度总结复杂度希尔排序希尔排序是一种基于插入排序的算法,它通过引入增量序列,采取分组排序策略:将大数组分为若干个子序列,对每个子序
2025-04-02 20:39:00
1119
7
原创 学习笔记—数据结构—二叉树(链式)
/定义二叉树链式结构//二叉树结点的结构//值域//左孩子//右孩子}BTNode;//前序遍历//中序遍历//后续遍历// 二叉树结点个数// 二叉树叶子结点个数// 二叉树第k层结点个数// 二叉树的深度/高度// 二叉树查找值为x的结点// 二叉树销毁//层序遍历---借助数据结构(队列)//判断二叉树是否为完全二叉树。
2025-03-27 20:43:50
1158
3
原创 学习笔记—数据结构—二叉树顺序实现(小堆)
1.满二叉树是一种特殊的二叉树,它的特点是每一层的节点数都达到最大值,即每一层的节点数都恰好为2的幂次(除了最后一层以外)。2.如果满二叉树的深度为k,那么它的节点总数为2^k - 1。在满二叉树中,除了最后一层的节点之外,其余每一层的节点都是完全填满的,而且最后一层的节点也是从左到右连续排列的除了最后一层外,其他每一层的节点数都达到最大数量,即该层的节点数等于2的幂减去1。最后一层的节点都集中在最左边,并且右边的节点可以少,但不能有空位。堆是一种特殊的完全二叉树,它可以被视为一种特殊的顺序表。
2025-03-25 21:25:28
779
4
原创 学习笔记—数据结构—栈和队列(练习题)
对于咱们对编程有兴趣或者成为陌生手段来说,刷题一般用牛客网和力扣牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网力扣 (LeetCode) 全球极客挚爱的技术成长平台。
2025-03-20 20:57:59
869
5
原创 学习笔记—数据结构—栈和队列
栈:⼀种特殊的线性表,只允许在固定的⼀端进行插入和删除元素操作。进行数据插⼊和删除操作 的⼀端称为栈顶,另⼀端称为栈底。栈中的数据元素遵守后进先出LIFO()的原则。栈顶:能进行进栈(插入)和出栈(删除)操作。栈底:固定的,不能进行任何操作。空栈:没有任何元素,栈顶=栈底。队列:只允许在⼀端进⾏插⼊数据操作,在另⼀端进⾏删除数据操作的特殊线性表,队列具有先进先 出FIFO(允许插入的一端称为队尾,允许删除的一端称为队头。队头:进行删除的一端,又称队首。队尾:进行插入的一端。空队列。
2025-03-19 11:33:45
828
3
原创 学习笔记—数据结构—双链表
双链表又称带头双向循环链表,它是一种特殊的数据结构,它结合了双向链表和循环链表的特点。在双链表中,每个节点除了拥有指向下一个节点的指针外,还拥有指向上一个节点的指针。此外,列表的头节点和尾节点通过这些指针相互连接,形成一个闭环。这种结构允许从任何一个节点开始,既可以向前遍历,也可以向后遍历,直到回到起点,从而实现高效的双向遍历。每个节点包含数据部分和两个指针部分,分别指向前一个节点和后一个节点。头节点是双向循环列表的起始点,它的前驱指针指向自己,后继指针也指向自己,形成一个闭环。
2025-03-18 10:16:05
658
2
原创 学习笔记—数据结构—单链表(练习题)
对于咱们对编程有兴趣或者成为陌生手段来说,刷题一般用牛客网和力扣牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网力扣 (LeetCode) 全球极客挚爱的技术成长平台。
2025-03-17 14:54:20
1310
2
原创 学习笔记—数据结构—单链表
单链表是一种基本的数据结构,它由一系列节点组成,每个节点包含数据部分和一个指向下一个节点的指针。在单链表中,每个节点的地址不一定是连续的,而是通过指针相互链接起来。单链表的特点是存储灵活,可以动态地添加或删除节点,不需要预先分配固定大小的存储空间。
2025-03-16 16:03:11
836
3
原创 学习笔记—数据结构—顺序表
顺序表是一种线性表的存储结构,它使用一组地址连续的存储单元依次存储线性表的数据元素。在顺序表中,逻辑上相邻的元素在物理存储上也相邻,通常采用数组来实现这种存储方式。●随机访问:可以通过首地址和元素序号在常数时间内找到指定的元素。●存储密度高:由于每个结点只存储数据元素,没有额外开销,因此存储密度较高。●物理位置相邻:物理位置和逻辑位置一致,保持相邻,但这也意味着插入和删除操作可能涉及到大量元素的移动。顺序表主要分为动态和静态,由于静态局限性,在这主要实现动态顺序表。动态顺序表主要运用。
2025-03-16 10:21:34
480
3
原创 学习笔记—数据结构—时间(空间)复杂度
众所周知:程序 = 算法 + 数据结构;衡量一个算法的标准就是算法效率。那么,算法效率是指算法执行的时间和所需的存储空间。在计算机科学中,算法效率通常通过时间复杂度和空间复杂度来衡量。
2025-03-15 18:19:57
974
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人