摘要: 微软原题 请把一段纸条竖着放在桌子上,然后从纸条的下边向上方对折1次,压出折痕后展开。此时折痕是凹下去的,即折痕突起的方向指向纸条的背面。如果从纸条的下边向上方连续对折2次,压出折痕后展开,此时有三条折痕,从上到下依次是下折痕、下折痕和上折痕。给定一个输入参数N,代表纸条都从下边向上方连续对折N次。 阅读全文
posted @ 2021-08-12 21:46 zh_小猿 阅读(214) 评论(0) 推荐(0)
摘要: 就是内存里的一棵树如何变成字符串形式,又如何从字符串形式变成内存里的树 如何判断一颗二叉树是不是另一棵二又树的子树? 序列化、反序列化 //以head为头的树,序列化成字符串返回 public static String serialByPre(Node head) { if (head == nu 阅读全文
posted @ 2021-08-12 21:24 zh_小猿 阅读(32) 评论(0) 推荐(0)
摘要: 在二叉树的中序遍历的序列中,node的下一个节点叫作node的后继节点。 该结构比普通二又树节点结构多了一个指向父节点的parent指针。假设有一棵Node类型的节点组成的二叉树,树中每个节点的parent指针都正确地指向自己的父节点,头节点的parent指向null。只给一个在二叉树中的某个节点n 阅读全文
posted @ 2021-08-12 20:19 zh_小猿 阅读(97) 评论(0) 推荐(0)
摘要: 题目:给定两个二叉树的节点node1和node2,找到它们的最低公共祖先节点 o1和o2的所有结构关系分为两类: 1、o1是o2的最低公共祖先,或o2是o1的最低公共祖先 2、o1与o2不互为最低公共祖先,最低公共祖先是通过往上汇聚寻找的 //返回两节点的最低公共祖先节点 public static 阅读全文
posted @ 2021-08-12 19:19 zh_小猿 阅读(130) 评论(0) 推荐(0)
摘要: 方式一:容易理解但麻烦的做法 1、先写一个函数统计整个二叉树的最大深度(最大层数) l 2、再写一个函数去统计整个二叉树的节点个数 N 3、满二叉树满足N=2l-1 方式二:树型DP 递归套路解决 package Algorithms.tree; public class IsFullTree { 阅读全文
posted @ 2021-08-12 16:59 zh_小猿 阅读(53) 评论(0) 推荐(0)
摘要: 一、什么是平衡二叉树 定义:对于任何一个子树来说,它左右数的高度差的绝对值不超过1 二、二叉树的递归套路 在求解二叉树问题的时候,列可能性:假设可以向左/右树要信息的情况下,利用左右树的信息解决问题。 例如: 如果一个二叉树是平衡二叉树,列举可能性: 1)左子树是平衡二叉树 2)右子树是平衡二叉树 阅读全文
posted @ 2021-08-12 15:46 zh_小猿 阅读(690) 评论(0) 推荐(0)
摘要: 若设二叉树的深度为k,除第k层外,其它各层(1至k-1)的节点数都达到了最大个数,第k层所有的节点都连续几种在最左边,这就是完全二叉树 思路:按照宽度遍历进行改进 1)在遍历的过程中如果存在任何一节点有右节点,无左节点,返回false 2)在第1个条件成立的情况下,遇到了第一个左右孩子不相全的情况, 阅读全文
posted @ 2021-08-12 15:10 zh_小猿 阅读(532) 评论(0) 推荐(0)
摘要: 什么是搜索二叉树? 可知,如果对二叉搜索树进行中序排列(左中右),那么会得到一个从小到大的序列。 因此,如果用中序遍历搜索二叉树,肯定是一个升序的过程 判断一颗二叉树是否是搜索二叉树可以用中序遍历(递归/非递归)代码进行改写 package Algorithms.tree; import java. 阅读全文
posted @ 2021-08-12 14:32 zh_小猿 阅读(307) 评论(0) 推荐(0)
摘要: 一、如何实现二叉树的宽度遍历 宽度遍历用队列(先进先出) 1)先把头节点放入队列中 2)每次弹出一个,打印 3)对于弹出的节点,先把弹出节点的左节点放入队列、再把其右节点放入队列(没有左右节点就不放) 重复以上三个步骤 //宽度遍历 public static void w(Node head){ 阅读全文
posted @ 2021-08-12 12:51 zh_小猿 阅读(950) 评论(0) 推荐(0)
摘要: 一、递归方式遍历 递归方法完成二叉树的遍历,每一个节点都能回去3次(虽然某一次回去的时候什么也没干) 在递归序的基础上,选择打印的时机不同可演变出前序、中序、后续三种遍历方式 前序-打印递归遍历时第1次出现的数字(头左右):1,2,4,5,3,6,7 中序-打印递归遍历时第2次出现的数字(左头右): 阅读全文
posted @ 2021-08-12 10:07 zh_小猿 阅读(142) 评论(0) 推荐(0)