二叉树的层次遍历题目来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/binary-tree-level-order-traversal题解:本题有两种解法,首先第一种肯定是非常明显的广度优先遍历,另一种深度优先遍历的解法。第一种:广度优先遍历广度优先遍历,将遍历的每层的结果放入一个列表中,该层遍历结束,将整个结果列表加入到总的结果中即可。时间复
分类:
编程语言 时间:
2019-12-21 15:17:01
阅读次数:
75
后序遍历二叉树(非递归实现) "题目来源" C++代码实现 将最后的 向`result`中倒数据改为如下代码也可: 第一次出现BUG: 最后发现BUG出现在 每pop出一次数据, 就会减一,同时 ,导致过早的结束了这个循环,正确的写法如下: ...
分类:
其他好文 时间:
2019-12-21 11:30:27
阅读次数:
71
中序遍历二叉树(非递归) 使用一个辅助栈 "题目来源" C++实现 ...
分类:
其他好文 时间:
2019-12-20 20:29:31
阅读次数:
79
二叉树展开为链表(很详细) 描述 给定一个二叉树,原地将它展开为链表。 例如,给定二叉树 1 / \ 2 5 / \ \3 4 6将其展开为: 1 \ 2 \ 3 \ 4 \ 5 \ 6 解析 变形的后续遍历 直觉是先序遍历,但是节点会丢失,可以使用后续遍历。 我们依次遍历 6 5 4 3 2 1, ...
分类:
其他好文 时间:
2019-12-19 19:31:02
阅读次数:
82
中序线索二叉树 在线索二叉树中再增加一个头结点,。头结点data域为空;lchild指向无线索时的根结点,ltag=0;rchild指向中序遍历二叉树时的最后一个结点,rtag=1。 TBTNode* pre; void Thread(TBTNode*& p) { if (p != NULL) { ...
分类:
其他好文 时间:
2019-12-18 21:38:34
阅读次数:
93
数据结构 线性表 线性表的类型定义 To be filed 线性表的顺序表示与实现 To be filed 线性表的链式表示与实现 To be filed 栈和队列 栈 抽象数据类型栈的定义 To be filed 栈的表示与实现 To be filed 栈与递归的实现 To be filed 队列 ...
分类:
其他好文 时间:
2019-12-16 10:08:12
阅读次数:
191
//使用层次遍历二叉树的最大宽度 typedef struct { Btnode * p; //结点指针 int lno; //节点所在层号 }St int maxNode(BTnode *b) { //创建一个顺序非循环队列 St que[maxsize]; int front,rear; fro ...
分类:
其他好文 时间:
2019-12-13 13:33:41
阅读次数:
137
来源:https://leetcode-cn.com/problems/count-complete-tree-nodes/ 法一: 自己的代码 思路: 刚开始的方法多遍历了一行,改进后的,只需遍历到最后一行就停,这是由完全二叉树的性质决定的,注意层序遍历二叉树的时候,这里不能用栈来实现,必须用队列 ...
分类:
其他好文 时间:
2019-12-07 21:27:14
阅读次数:
90
二叉树的前序遍历(递归版): public ArrayList<Integer> inOrder(TreeNode root ){ ArrayList<Integer> result = new ArrayList<Integer>(); if(root == null){ return resul ...
分类:
其他好文 时间:
2019-11-30 19:14:57
阅读次数:
78
6-6 二叉树的层次遍历 (6 分) 本题要求实现给定的二叉树的层次遍历。 函数接口定义: void Levelorder(BiTree T); T是二叉树树根指针,Levelorder函数输出给定二叉树的层次遍历序列,格式为一个空格跟着一个字符。 其中BinTree结构定义如下: typedef ...
分类:
其他好文 时间:
2019-11-25 20:29:17
阅读次数:
128