数据结构与算法
王道考研数据结构与算法
Rost.
这个作者很懒,什么都没留下…
展开
-
二叉树的层序遍历及应用(翻转二叉树)C++版
算法思想:1. 先将根节点入队,此时队列不为空,开始循环;2. 计算出队列的长度size,为了确保for循环一轮循环size次,也就是树的每一层的元素个数3. 让node指针永远指向队头元素,为了暂存队头结点并将其记录保存下来,以便于执行出队操作后,依然能对出队后的结点进行操作,也就是让node指针的左右结点依次按顺序入队。4. 再将左孩子结点和右孩子结点入队。进行下一次循环时,由于根结点已经出队,则此时que.size() = 2,for循环执行两次。此时result = [[1],[2,3]]原创 2023-10-26 11:46:35 · 103 阅读 · 1 评论 -
树的非递归遍历算法c++版
再让栈顶指针指向7,让7出栈访问,显然7也没有左右孩子,但是现在循环依旧满足条件,因为我们的栈中还剩下最后一个元素4,则进行最后一次循环,让最后一个元素4出栈并访问,4没有左右孩子,则两个if条件都不执行,循环结束,完成非递归前序遍历。得到的result = [1,3,6,7,4]而非递归后序遍历是先把左孩子入栈,后入右孩子,为了得到顺序:“中右左”,设想一下,在这样的代码执行完毕之后,我们只需要对“中右左”进行翻转,那么是不是就得到了“左右根”,此时也正是我们所想要看到的后序遍历的顺序。原创 2023-10-24 21:27:51 · 126 阅读 · 0 评论 -
队列:基于数组的循环队列
王道考研数据结构与算法第三章:循环队列;原创 2023-09-18 00:47:33 · 64 阅读 · 2 评论 -
队列:基于链表
王道考研第三章:队列基于链表实现;原创 2023-09-17 23:35:14 · 68 阅读 · 2 评论 -
基于javaScript ES6实现单链表
基于JavaScript ES6实现单项链表原创 2022-03-25 14:15:58 · 1810 阅读 · 0 评论 -
基于JavaScript ES6实现双向链表
基于JavaScript ES6实现双向链表原创 2022-03-25 21:05:12 · 178 阅读 · 0 评论