数据结构闲谈
文章平均质量分 95
数据结构杂谈
LeePlace
睡觉
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【数据结构与算法】二叉搜索树
普通二叉搜索树的每个节点都要存放数据,并且要链接子树,T _key;: _key(x){}注意要定义节点的构造函数,因为插入的时候会有这种操作,如果不写构造函数的话就new不出新节点。原创 2023-08-14 14:52:06 · 617 阅读 · 0 评论 -
浅学一下二叉树链式存储结构的遍历
二叉树的前序遍历、中序遍历、后序遍历、层序遍历(数组模拟栈、链表模拟栈)原创 2022-08-03 14:10:34 · 1002 阅读 · 0 评论 -
浅学一下二叉树的顺序存储结构——堆
文章介绍了树和二叉树的一些基本概念问题,主要讨论的堆的几个相关函数、堆排序和用堆排序解决TopK问题。还有关于建堆的时间复杂度等的讨论。原创 2022-07-29 16:56:19 · 1092 阅读 · 0 评论 -
【数据结构与算法】学完链表,快来做做这些题吧
在下面的所有题目中,链表都是单链表,且链表节点的声明如下: struct ListNode { int val; struct ListNode *next; };文章目录移除链表元素题目描述思路分析代码实现反转链表题目描述思路分析代码实现链表的中间结点题目描述思路分析代码实现链表中倒数第k个节点题目描述思路分析代码实现合并两个有序链表题目描述思路分析代码实现分割链表题目描述思路分析代码实现回文链表题目描述思路分析代码实现相交链表题目描述思路分析代码实现环形链表题目描述思路分析代原创 2022-05-25 20:00:42 · 1102 阅读 · 1 评论 -
【数据结构与算法】栈和队列
文章目录栈什么是栈?栈的实现代码实现栈的声明初始化栈判断栈是否为空入栈出栈返回栈顶的值获取栈中有效元素的个数销毁栈队列什么是队列?队列的实现代码实现队列的声明初始化队列判断队列是否为空队尾入队列队头出队列取队头的数据取队尾的数据返回队列的数据数销毁队列销毁队列栈什么是栈?栈是线性表的一种。它只允许在固定的一端进行插入和删除元素操作。而进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。所以栈增删元素就有了我们常说的先进后出(Last In First Out):压栈:栈的插入操作叫做进栈/压原创 2022-05-19 21:16:02 · 702 阅读 · 1 评论 -
【数据结构与算法】链表
目录什么是链表?单链表创建节点开辟一个新节点单链表尾插单链表尾删单链表头插单链表头删单链表查找单链表插入 - 在给定位置的后部插入单链表插入 - 在给定位置前面插入单链表删除 - 删除给定位置的节点单链表删除 - 删除给定位置后面的节点打印单链表单链表销毁小结带头双向循环链表声明定义节点结构开辟一个新节点创建哨兵位的头节点尾插尾删头插头删查找在给定位置前面进行插入删除给定位置的节点打印销毁链表小结总结什么是链表?我们知道顺序表是以数组的形式存放数据,由于数组是连续存储的,所以顺序表是连续存放数据的,这个原创 2022-05-15 16:33:45 · 1089 阅读 · 2 评论 -
【数据结构与算法】顺序表
目录顺序表的概念和结构顺序表各个接口的实现创建顺序表初始化顺序表顺序表打印检查空间,如果满了,进行增容顺序表尾插顺序表尾删顺序表头插顺序表头删顺序表查找删除指定位置的值在指定位置插入顺序表销毁总结完整代码SeqList.hSeqlist.c顺序表的概念和结构顺序表是数据结构中线性表的一种。用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储,在数组上完成数据的增删查改。像之前的通讯录,其本质上就是顺序表。那么很显然,顺序表相应的就有动态和静态两个版本。其中静态版本中数原创 2022-05-08 13:09:13 · 964 阅读 · 3 评论 -
【数据结构与算法】时间复杂度和空间复杂度
目录什么是时间复杂度和空间复杂度?大O的渐进表示法常见时间复杂度计算举例常见空间复杂度的计算什么是时间复杂度和空间复杂度?简单来说,时间复杂度和空间复杂度是衡量一个算法效率的。时间复杂度对应时间效率,空间复杂度对应空间效率。其中时间效率并不是说程序具体执行了多久,单给一个程序一个算法是不能确定它的执行时间,因为你需要在机器上跑起来才能确定。而一个算法所花费的时间与其中语句的执行次数成正比,所以就定义算法中基本操作的执行次数为该算法的时间复杂度。其中空间效率也不是说一个算法在运行过程中临时占用多少原创 2022-05-03 23:52:24 · 2439 阅读 · 0 评论
分享