随笔分类 -  算法与数据结构

摘要:1. 任务调度器 这道题一上手会犯直接找模拟方法,然后根据模拟方法来得出结果。也不是说直接找模拟方法不对,只是说一开始没有更深入的思考的话,模拟方法很可能是错的,导致浪费时间,像这种题,要注意其中的极限思想,比如这道题,假如其他变量不动,把等待间隔不断调大会发生什么?然后出现变化的分界点是什么?按照 阅读全文
posted @ 2022-05-23 15:43 迈吉 阅读(250) 评论(0) 推荐(0) 编辑
摘要:1. 判断t1树是否包含t2树的所有拓扑结构 1.1. 问题 给定彼此独立的两棵树头节点分别为 t1 和 t2,判断 t1 树是否包含 t2 树全部的拓扑结构。 1.2. 思路 题目这里没有要求时间复杂度。所以就可以用最简单的方法,以t1树上的所有节点都作为根节点和t2比对一次,直到成功一次。 比对 阅读全文
posted @ 2022-05-12 12:54 迈吉 阅读(49) 评论(0) 推荐(0) 编辑
摘要:1. 判断二叉树是否为平衡二叉树 平衡二叉树 1.1. 问题 平衡二叉树的性质:要么是一棵空树,要么任何一个节点的左右子树的高度差的绝对值不超过1,。 给定一个二叉树的头结点head,判断这棵二叉树是否为平衡二叉树。如果二叉树的节点数为N,要求时间复杂度为O(N)。 1.2. 思路 这道题比较简单, 阅读全文
posted @ 2022-05-12 11:24 迈吉 阅读(155) 评论(0) 推荐(0) 编辑
摘要:1. 判断一棵二叉树是否为搜索二叉树和完全二叉树 验证二叉搜索树 二叉树的完全性检验 1.1. 问题 给定二叉树的一个头节点 head,已知其中没有重复值的节点,实现两个函数分别判断这棵二叉树是否为搜索二叉树和完全二叉树。 1.2. 思路 判断是否是搜索二叉树可用中序遍历一遍,倘若是递增序列,则为搜 阅读全文
posted @ 2022-05-12 11:12 迈吉 阅读(131) 评论(0) 推荐(0) 编辑
摘要:1. 根据有序数组生成平衡搜索二叉树 1.1. 问题 给定一个有序数组,生成一个平衡搜索二叉树。 注:平衡二叉树的定义是,对于该二叉树的每个子树,该子树的左子树高度和右子树高度差在1之内。 1.2. 代码 这道题很简单,二分递归即可。 public TreeNode<Integer> buildBS 阅读全文
posted @ 2022-05-12 09:11 迈吉 阅读(103) 评论(0) 推荐(0) 编辑
摘要:1. 统计完全二叉树的节点数 1.1. 问题 如题。 注:完全二叉树表示二叉树内没有空隙;满二叉树是一种特殊的完全二叉树,其所有的叶子节点均在同一层上。 1.2. 思路 方法一:遍历 最简单的做法:遍历一次。时间复杂度为O(n)。 方法二:高度探查 用高度探查方式的时间复杂度为O(h^2)。 当我们 阅读全文
posted @ 2022-05-11 19:15 迈吉 阅读(68) 评论(0) 推荐(0) 编辑
摘要:1. 二叉树的序列化、反序列化 1.1. 问题 将一个二叉树序列化为字符串。 从序列化后的字符串重建一棵二叉树。 1.2. 思路 用#表示空节点,用!表示一个节点的结尾。 这道题可以用二叉树的前序遍历、后序遍历、层序遍历来做。 中序遍历不好做,因为给定一个序列后,没办法一下子将根节点找出来。 对于前 阅读全文
posted @ 2022-05-11 18:52 迈吉 阅读(35) 评论(0) 推荐(0) 编辑
摘要:1. Morris遍历 1.1. 思路 Morris遍历通过利用左子树前序遍历下的最后一个节点的right指针,来做到以时间复杂度为O(n)空间复杂度为O(1)的开销遍历一个二叉树。 1.2. 代码 public static <T> void morrisPre(TreeNode<T> root, 阅读全文
posted @ 2022-05-10 18:14 迈吉 阅读(23) 评论(0) 推荐(0) 编辑
摘要:1. 二叉树遍历 1.1. 问题 分别用递归、非递归的方式实现二叉树的前序、中序、后序遍历。 1.2. 思路 递归的方式就不用说了,很简单。 对于非递归的方式,我们需要用一个栈来模拟,递归函数的方法嵌套。 非递归的前序遍历还挺容易写出来的,在中序遍历这里我卡壳了。 最后看书,发现是用一个cur游标来 阅读全文
posted @ 2022-05-10 18:05 迈吉 阅读(43) 评论(0) 推荐(0) 编辑
摘要:1. 动态规划心得总结 1.1. 常规情况的基本步骤 给出递推函数定义 找出递推函数的递推关系 根据递推关系可以写出递归版本的代码 根据递推关系可以写出打表法的动态规划版本的代码 1.2. 给出递推函数的定义 & 找出递推关系 基本步骤中的第一步、第二步是紧密关联的。递推函数定义的不同会导致递推关系 阅读全文
posted @ 2022-05-08 10:56 迈吉 阅读(339) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示