数据结构初阶
文章平均质量分 82
狂徒张三三
这个作者很懒,什么都没留下…
展开
-
数据结构初阶之二叉树(5)
之前学习过二叉树的遍历,其实遍历的思路还可以用作二叉树的创建,假设我们有以下的二叉树前序遍历的结果"abd##eh##i##cf##g##",把这个字符串还原为一个二叉树。二叉树的销毁需要依次销毁节点,所以根节点应当是最后销毁的,所以最符合的是后续遍历的顺序(左节点--->右节点--->根节点)。完全二叉树只有最后一层才会出现空,且空后不会出现数据,所以判断完全二叉树,最好的方法是使用层序遍历,判断空后是否出现元素。层序遍历是按照二叉树每一层进行遍历,进行层序遍历需要使用队列,利用队列先进先出的特性。原创 2023-01-25 14:22:52 · 101 阅读 · 0 评论 -
数据结构初阶之二叉树(4)
力扣 刷题 递归 链表 二叉树 1. 单值二叉树。Oj链接2. 检查两颗树是否相同。OJ链接3. 对称二叉树。OJ链接4. 二叉树的前序遍历。 OJ链接5. 二叉树中序遍历 。OJ链接6. 二叉树的后序遍历 。OJ链接7. 另一颗树的子树。OJ链接原创 2022-12-06 22:40:15 · 339 阅读 · 0 评论 -
数据结构初阶之二叉树(3)
二叉树,前序,中序,后续,二叉树递归,节点的个数,叶节点的个数,二叉树高度递归,二叉树查找节点,二叉树某层节点个数原创 2022-12-05 20:40:08 · 270 阅读 · 0 评论 -
数据结构初阶之二叉树(2)
C语言,数据结构,算法,二叉树,满二叉树,完全二叉树,堆,TOPK,堆排序,向上调整,向下调整,时间复杂度原创 2022-12-01 22:37:53 · 156 阅读 · 0 评论 -
数据结构初阶之二叉树(1)
除了根节点以外,其余的节点形成一个M(M>0)个互不相交的集合,每个集合的Ti(1原创 2022-11-30 18:53:39 · 225 阅读 · 0 评论 -
数据结构初阶之栈和队列
栈,队列,C语言,数据结构,算法,栈的概念,队列的概念,栈与队列的不同。原创 2022-11-15 20:32:36 · 198 阅读 · 0 评论 -
数据结构初阶之顺序表和链表
思路1,原地删除,该思路是在原来的链表中,对值为val的节点进行删除,主要考虑的是首节点的值为val,以及非首节点的值为val两种情况,首节点的值为val时,不断的移动首节点,直到找到第一个值不为val的节点,非首节点的值为val时,该节点被释放,所以需要两个指针,cur进行释放,prev指针进行定位,当该节点值不为val时,两个指针同时向前移动一步。上图红色箭头指向的节点就是开始逆置的节点,奇数个数节点的链表就是中间的节点,偶数个数的链表就是中间两个节点中靠后的一个,这里可以使用快慢指针实现。原创 2022-11-09 22:52:13 · 344 阅读 · 0 评论 -
数据结构初阶之算法的时间复杂度和空间复杂度
任何一段代码运行时都需要耗费时间与空间(内存),所以一段代码可以从时间与空间的角度来判断它的好坏,因此就有了时间复杂度与空间复杂度。时间复杂度主要是衡量一个代码运行的快慢,空间复杂度主要是衡量一段代码运行时需要多少额外的空间,不过因为现在的内存空间够大,所以空间复杂度显得不是很重要。原创 2022-10-05 20:33:44 · 426 阅读 · 0 评论