java&中序化二叉树;
思路: 按照原来中序遍历树的思路,对树进行中序遍历,一路递归到4这个节点, 检查到它的左节点为空,就将他的左节点指向它的前驱节点, 可是4本来就是最前的节点,故4这个节点的左节点自然指向了...取出这里最小的node3 和 倒数第二小的node5 ,构建成新的树, 新树的根节点是 node3,5的权值之和, 将构建完成的树放回到原数组中
?...重复这个过程, 将最小的node7,node8取出,构建新树, 同样新树的权重就是 node7,8的权重之和, 再将构建完成的树放回到原数组中
?...a,a的ASCII==97,
97正常转成二进制的01串就是 0110 0001,但是现在我们有了编码表,就能根据97从编码表中取出编码: 10,换句话说,上面 0110 0001 和 10 地位相同...才能空出第一个位置,把新值放进去
假设我们将这一行数转换成链式存储, 确实添加, 删除变的异常方便, 但是查找还是慢, 不管是查询谁, 都得从第一个开始往后遍历
----
我们的主角: 二叉搜索树
二叉排序树有如下的特点