摘要:
View Code 1 #include <iostream> 2 #include <deque> 3 using namespace std; 4 /* 5 1.二叉树三种周游(traversal)方式(也就是三种遍历) 6 2.怎样从顶部开始逐层打印二叉树结点数据 (层次遍历) 7 3.如何判断一棵二叉树是否是平衡二叉树 8 4.设计一个算法,找出二叉树上任意两个节点的最近共同父结点,复杂度如果是O(n2)则不得分。 9 5.如何不用递归实现二叉树的前序/后序/中序遍历? 10 6.在二叉树中找出和为某一值的所有路径 11 7.怎样编写一个程序,把... 阅读全文
摘要:
问题由来:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。10/ /614/ / / /48 12 16转换成双向链表4=6=8=10=12=14=16。————————————————————————————————————————————————————————查询了一些资料,有人说这问题就是二叉树的线索化过程。这里我个人觉得不是。理由如下:1、线索二叉树中,确实其中存在的是双向线索链表,理解为一种需要简单处理的双向线索链表;(如:当右指针为线索时,直接继承后继,如果右指针为子树时,需要递归找寻右子树的最左边子节点的处理)2、双向链表 阅读全文