滴滴面试安排比较混乱,如果你通过了一面,那么就优先安排后面的面试,所以导致还没一面的人就得一直苦等。那会儿我是下午一点去的,大概到了快4点才进行一面,后面就嗖嗖嗖地过关斩将到了hr面,也算是运气不错吧。
分类:
编程语言 时间:
2020-11-10 11:32:44
阅读次数:
11
一、首先是二叉树: 1)定义 2)前、中、后序遍历 二、二叉搜索树: 中序遍历是有序的 本身的定义也是递归的: 1)查找:复杂度 log2n (n表示数的节点个数) 极端情况,退化成链表,查找效率和链表一样 2)插入节点、删除节点也要会 三、平衡二叉树:左右子树都是平衡二叉树 1)2-3树 2)AV ...
分类:
其他好文 时间:
2020-11-07 17:44:46
阅读次数:
36
1 class TreeNode { 2 constructor(key) { 3 this.key = key; 4 this.leftChild = null; 5 this.rightChild = null; 6 this.parent = null; 7 } 8 rightRotate() ...
分类:
Web程序 时间:
2020-11-06 02:45:04
阅读次数:
36
class Solution(object): def isBalanced(self, root): """ :type root: TreeNode :rtype: bool """ if not root: return True # 求左子树深度 leftDenth = self.treeD ...
分类:
其他好文 时间:
2020-09-18 00:02:14
阅读次数:
32
二叉平衡树: 平衡二叉搜索树(Self-balancing binary search tree)又被称为AVL树(有别于AVL算法),且具有以下性质:它是一 棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。平衡二叉树的常用实现方法有红黑树、AVL、替罪羊树、T ...
分类:
其他好文 时间:
2020-09-17 12:00:19
阅读次数:
59
题目 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平 ...
分类:
编程语言 时间:
2020-09-16 12:21:04
阅读次数:
31
一、实现思想 平衡二叉树比二叉查找树升级在哪里? 平衡二叉树是在二叉查找树的属性『左小右大』的基础上做一个调整,确保每一个节点的左右子树高度差不大于1,这样在运用『左小右大』进行查找时,就可以一下子排除许多数。最直观的,平衡二叉树就不会有像二叉查找树那样一边倒的例子。 如何确保每个节点的左右子树高度 ...
分类:
其他好文 时间:
2020-09-07 19:09:38
阅读次数:
57
int height(struct TreeNode* root) { if (root == NULL) { return 0; } else { return fmax(height(root->left), height(root->right)) + 1; } } bool isBalanc ...
分类:
其他好文 时间:
2020-08-19 19:58:57
阅读次数:
65
1、平衡二叉树 概念 平衡二叉树是基于二分法的策略提高数据的查找速度的二叉树的数据结构; 特点: 平衡二叉树是采用二分法思维把数据按规则组装成一个树形结构的数据,用这个树形结构的数据减少无关数据的检索,大大的提升了数据检索的速度;平衡二叉树的数据结构组装过程有以下规则: (1)非叶子节点只能允许最多 ...
分类:
其他好文 时间:
2020-08-06 23:14:34
阅读次数:
80
一、索引的本质 没有索引的sql是没有灵魂的,查询速度是非常慢的。 本质:索引是帮助MySql快速获取数据的排好序的数据结构。 二、 索引数据结构: 二叉树 :层级太高,自增主键索引甚至退化成了链表 红黑树 :红黑树是平衡二叉树的一种,相对于二叉树好点,但是当数据大时,层级还是很高,查询速度慢。 H ...
分类:
数据库 时间:
2020-07-30 21:44:40
阅读次数:
80