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