真的是第一次完全没有看其他参考答案,第一次写出来,而且没有报错,值得庆祝一下。虽然题目很简单,但是我在使用递归时,还是害怕细节出错,ヾ(?°?°?)?? 求二叉树的高度 只要递归下去就可以了 1.map函数的使用,可以简化代码、 2.使用队列可以更加快速 ...
分类:
其他好文 时间:
2018-12-24 17:20:12
阅读次数:
150
将有序数组转化为二叉搜索树 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是:[0,-3,9,-10,null,5],它 ...
分类:
编程语言 时间:
2018-12-23 11:16:48
阅读次数:
245
二叉树: 性质1、满二叉树定理:非空满二叉树树叶的数目等于其分支结点数加1 性质2、二叉树的第i层(根为第0层,i>=0)最多有2i个结点 性质3、高度为k的二叉树至多有2k-1个结点 性质4、有n个结点(n>0)的完全二叉树的高度为【log2(n+1)】(深度为【log2(n+1)-1】) 二叉树 ...
分类:
其他好文 时间:
2018-12-18 02:20:25
阅读次数:
189
环境:C++ 11 + win10 IDE:Clion 2018.3 AVL平衡树是在BST二叉查找树的基础上添加了平衡机制。 我们把平衡的BST认为是任一节点的左子树和右子树的高度差为-1,0,1中的一种情况,即不存在相差两层及以上。 所谓平衡机制就是BST在理想情况下搜索复杂度是o(logn) ...
分类:
其他好文 时间:
2018-12-16 11:01:10
阅读次数:
155
原文:MySQL索引基础介绍 索引用于加快数据访问的速度。把计算机的磁盘比作一本字典,索引就是字段的目录,当我们想快速查到某个词语的时候只需要通过查询目录找到词语所在的页数,然后直接打开某页就可以。MySQL最常用的索引是B+树索引,为什么使用B+作为MySQL的索引,这是许多面试官必问的问题。 为... ...
分类:
数据库 时间:
2018-12-10 15:50:13
阅读次数:
166
给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 返回 true 。示例 2: 给定二叉树 [1,2,2,3,3,null,null ...
分类:
其他好文 时间:
2018-12-09 13:54:27
阅读次数:
148
将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: ...
分类:
编程语言 时间:
2018-12-03 20:25:24
阅读次数:
159
我们知道,二叉查找树能够支持多种动态集合操作,因此在程序设计竞赛中,二叉查找树起着非常重要的作用,它可以用来表示有序集合,建立索引或优先队列等。作用于二叉树的基本操作时间是与树的高度成正比的:对于一颗含n个节点的二叉查找树,如果呈完全二叉树结构,则这些操作的最坏情况的运行时间为O(log2 n); ...
分类:
其他好文 时间:
2018-11-21 22:22:46
阅读次数:
253
二叉树查找效率很高,但是它有一个缺点。类似下面一棵树,查找效率是线性的: 定义 于是,引出了平衡二叉树(Self-balancing binary search tree),也叫 BTree(balance tree),AVLTree 它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左 ...
分类:
其他好文 时间:
2018-11-06 23:31:03
阅读次数:
197
对于完全二叉树,如果将其中的元素按层次遍历顺序存放入一个一维数组中:设数组大小为n(节点数为n),节点标号(key)为数组下标i,即0,1,2,3,4,,,那么:1.完全二叉树的高度为: ceil(log2(n+1))2.i = 0: 根节点,root,无父节点。 i >= 1: 父节点为 floo ...
分类:
编程语言 时间:
2018-11-06 00:47:29
阅读次数:
210