摘要: 我们一般写的java文件jvm是识别不了的,因此需要编译,编译后会变成.class文件,而要执行代码,jvm首先会去加载.class文件到内存中,那么他的流程是什么样的呢: 1.首先肯定创建java虚拟机(就像我们运行windows的程序首先得安装windows系统一个道理) 2.同时会创建一个引导 阅读全文
posted @ 2022-02-20 02:22 吃肉不长肉的小灏哥 阅读(245) 评论(0) 推荐(0)
摘要: 恢复内容开始 首先科普一个事实,对于一个满二叉树来说,节点个数=(1<< (高度))-1。 接下来我们看这道题,管他三七二十一,前面那么多树的遍历,直接搞起,可他丫的还有一个限制条件:时间复杂度小于O(n),那就把这条路堵死了,算了算了,先看图分析一下: 我们仔细观察可以发现,完全二叉树的左右子树必 阅读全文
posted @ 2021-06-26 22:34 吃肉不长肉的小灏哥 阅读(378) 评论(0) 推荐(0)
摘要: 老规矩,先看定义:一棵深度为k的有n个结点的二叉树,对树中的结点按从上至下、从左到右的顺序进行编号,如果编号为i(1≤i≤n)的结点与满二叉树中编号为i的结点在二叉树中的位置相同,则这棵二叉树称为完全二叉树 在解释:其实就是和堆一样的,一棵树从上到下从左到右必须要完完整整的按顺序来,描述的不太容易理 阅读全文
posted @ 2021-06-26 21:48 吃肉不长肉的小灏哥 阅读(253) 评论(0) 推荐(0)
摘要: 二叉搜索树定义:二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 我们来看一下定义:左子树小 阅读全文
posted @ 2021-06-26 21:16 吃肉不长肉的小灏哥 阅读(133) 评论(0) 推荐(0)
摘要: 平衡二叉树的定义:平衡树(Balance Tree,BT) 指的是,任意节点的子树的高度差都小于等于1,我们可以看下图:左边就不是平衡二叉树,因为3的高度为3而5的高度为1,相差大于1。看右边树最大差别3的高度为2,5的高度为1,最大只相差1,所以为平衡二叉树。 那么我们怎么实现呢? 最简单的做法就 阅读全文
posted @ 2021-06-26 17:33 吃肉不长肉的小灏哥 阅读(259) 评论(0) 推荐(0)
摘要: 我们前面写过二叉树的前序,中序,后续遍历算法,今天聊到的前后置节点就是对于中序遍历来说的顺序前后节点,如下图是按中序遍历顺序1-10的节点: 比如3的前置节点为2,后置节点为4,我们先来看看后置节点的算法思想: 我们都知道中序遍历是按照节点左-父-右顺序遍历的,因此一个节点的后置节点只会有两种情况: 阅读全文
posted @ 2021-06-26 17:05 吃肉不长肉的小灏哥 阅读(293) 评论(0) 推荐(0)
摘要: 二叉树遍历如下图所示,前序遍历对于1(父),3(左),5(右)这三个节点来说则先1后3,最后5,同理3,4,2这三个也是先父再左再右,那么对于下图来说,前序遍历顺序为1,3,4,5,6,2,7,5,以此类推: 先序遍历:先父,再左,最后右, 中序遍历:先左,再父,最后右 后序遍历:先左,再右,最后父 阅读全文
posted @ 2021-06-24 22:09 吃肉不长肉的小灏哥 阅读(385) 评论(0) 推荐(0)
摘要: 看到这道题一开始不知道从何入手,做完这道题有一种感受,那就是二维数组的题其实也没有那么难,用二维数组的两个下标控制需要的点移动就可以了。回到这一题,我们使用双指针去操作,如下图所示: a指针向右移动直到移动至4的位置,向下移动,b指针先向下移动直到移动到9的位置向右移动,这样就可以找到对称点,至于如 阅读全文
posted @ 2021-06-17 21:17 吃肉不长肉的小灏哥 阅读(127) 评论(0) 推荐(0)
摘要: 上篇写到了堆排,其实最主要的是使用数组实现堆结构,那么如何使用数组实现栈,队列呢? 首先我们简单了解栈的数据结构:栈是一种先进后出的结构,如下图可以看到按顺序进入的3->2->5,那么取出的顺序则为5->2->3。 如果使用数组实现,那就需要记住我最新插入的数是哪个,然后倒推取出,代码如下: pub 阅读全文
posted @ 2021-06-07 21:47 吃肉不长肉的小灏哥 阅读(61) 评论(0) 推荐(0)
摘要: 学习堆排之前先学习一下堆得数据结构,我们常用的一般分为小顶堆和大顶堆,我们以大顶堆为例: 上面从左到右分别是数组,数组转成堆得形式,其实就是一个完全二叉树,而最右边这个可以看到每个节点相对所有子节点来说都是最大的,这就是大顶堆,同理,小顶堆反之(这块不理解的可以看我之前写的一篇文章:https:// 阅读全文
posted @ 2021-06-06 15:31 吃肉不长肉的小灏哥 阅读(62) 评论(0) 推荐(0)