
树
EverydayIsLife
这个作者很懒,什么都没留下…
展开
-
算法面试100题——1、把二元查找树转变成排序的双向链表
题目: 输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。 要求不能创建任何新的结点,只调整指针的指向。10 / \ 6 14 / \ / \ 4 8 12 16转换成双向链表 4=6=8=10=12=14=16。首先我们定义的二元查找树 节点的数据结构如下: struct BSTreeNode { int m_nValue; // value of n原创 2017-09-04 10:00:56 · 429 阅读 · 0 评论 -
算法面试100题——4.在二元树中找出和为某一值的所有路径
1、题目:输入一个整数和一棵二元树。 从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。 打印出和与输入整数相等的所有路径。 例如 输入整数22和如下二元树 10 / \ 5 12 / \ 4 7 则打印出两条路径:10, 12和10, 5, 7。二元树节点的数据结构定义为:struct BinaryTreeNode // a node in t原创 2017-09-04 10:13:34 · 381 阅读 · 0 评论 -
判断二叉树是否AVL树
一、算法思想: 递归法判断一个二叉树是否平衡二叉树(AVL树),可以根据它的定义写出代码:(1)空树是一个AVL树;(2)只有一个根结点的树是一个AVL树;(2)左子树是一颗AVL树,且右子树是一个AVL树,且左子树的高度与右子树的高度差绝对值不超过1。 二、代码: /* name: author:followStep description: date:2018/3/1...原创 2018-03-17 19:54:19 · 2382 阅读 · 0 评论