面试中如何区分高手与普通人:对B树与B+树的理解深度?
- 内容介绍
- 相关推荐
本文共计1617个文字,预计阅读时间需要7分钟。
数据结构与算法问题困扰了许多小伙伴。许多小伙伴对数据结构与算法的认识存在误区,认为这些知识在工作中用不到。为什么面试时要问这些问题,问后能否解决实际问题?+Niklau
普通人:数据结构与算法问题,困扰了无数的小伙伴。
很多小伙伴对数据结构与算法的认知有一个误区,认为工作中没有用到,为什么面试要问,问了能解决实际问题?
图灵奖获得者: Niklaus Wirth 说过: 程序=数据结构+算法, 也就说我们无时无刻都在和数据结构打交道。
只是作为Java开发,由于技术体系的成熟度较高,使得大部分人认为:程序应该等于 框架 + SQL 呀?
今天我们就来分析一道数据结构的题目:”B树和B+树“。
关于这个问题,我们来看看普通人和高手的回答!
嗯. 我想想 … 嗯… Mysql里面好像是用了B+树来做索引的! 然后…
高手:为了更清晰的解答这个问题,我打算从三个方面来回答:
- 了解二叉树、AVL树、B树的概念
- B树和B+树的应用场景
- B树是一种多路平衡查找树,为了更形象的理解。
二叉树,每个节点支持两个分支的树结构,相比于单向链表,多了一个分支。
二叉查找树,在二叉树的基础上增加了一个规则,左子树的所有节点的值都小于它的根节点,右子树的所有子节点都大于它的根节点。
二叉查找树会出现斜树问题,导致时间复杂度增加,因此又引入了一种平衡二叉树,它具有二叉查找树的所有特点,同时增加了一个规则:”它的左右两个子树的高度差的绝对值不超过1“。
本文共计1617个文字,预计阅读时间需要7分钟。
数据结构与算法问题困扰了许多小伙伴。许多小伙伴对数据结构与算法的认识存在误区,认为这些知识在工作中用不到。为什么面试时要问这些问题,问后能否解决实际问题?+Niklau
普通人:数据结构与算法问题,困扰了无数的小伙伴。
很多小伙伴对数据结构与算法的认知有一个误区,认为工作中没有用到,为什么面试要问,问了能解决实际问题?
图灵奖获得者: Niklaus Wirth 说过: 程序=数据结构+算法, 也就说我们无时无刻都在和数据结构打交道。
只是作为Java开发,由于技术体系的成熟度较高,使得大部分人认为:程序应该等于 框架 + SQL 呀?
今天我们就来分析一道数据结构的题目:”B树和B+树“。
关于这个问题,我们来看看普通人和高手的回答!
嗯. 我想想 … 嗯… Mysql里面好像是用了B+树来做索引的! 然后…
高手:为了更清晰的解答这个问题,我打算从三个方面来回答:
- 了解二叉树、AVL树、B树的概念
- B树和B+树的应用场景
- B树是一种多路平衡查找树,为了更形象的理解。
二叉树,每个节点支持两个分支的树结构,相比于单向链表,多了一个分支。
二叉查找树,在二叉树的基础上增加了一个规则,左子树的所有节点的值都小于它的根节点,右子树的所有子节点都大于它的根节点。
二叉查找树会出现斜树问题,导致时间复杂度增加,因此又引入了一种平衡二叉树,它具有二叉查找树的所有特点,同时增加了一个规则:”它的左右两个子树的高度差的绝对值不超过1“。

