
树
N1314N
有志者事竟成
展开
-
请你来说一说红黑树和AVL树的定义,特点,以及二者区别
参考回答:平衡二叉树(AVL树):平衡二叉树又称为AVL树,是一种特殊的二叉排序树。其左右子树都是平衡二叉树,且左右子树高度之差的绝对值不超过1。一句话表述为:以树中所有结点为根的树的左右子树高度之差的绝对值不超过1。将二叉树上结点的左子树深度减去右子树深度的值称为平衡因子BF,那么平衡二叉树上的所有结点的平衡因子只可能是-1、0和1。只要二叉树上有一个结点的平衡因子的绝对值大于1,则该...原创 2019-07-01 09:16:01 · 1591 阅读 · 0 评论 -
手写代码:二叉树序列化反序列化
参考回答:序列化:必须保存一个中序遍历结果,然后外加一个前序或者后序遍历结果反序列化:根据两次遍历生成的结果恢复二叉树,代码如下(前序和中序):```TreeNode* helper(vector<int>pre,int startPre,int endPre,vector<int>in,int startIn,int endIn){if(startPre&g...原创 2019-07-01 09:54:52 · 402 阅读 · 0 评论 -
请你回答一下map和unordered_map优点和缺点
参考回答:对于map,其底层是基于红黑树实现的,优点如下:1)有序性,这是map结构最大的优点,其元素的有序性在很多应用中都会简化很多的操作2)map的查找、删除、增加等一系列操作时间复杂度稳定,都为logn缺点如下:1)查找、删除、增加等操作平均时间复杂度较慢,与n相关对于unordered_map来说,其底层是一个哈希表,优点如下:查找、删除、添加的速度快,时间复杂度为...原创 2019-07-01 09:57:15 · 2180 阅读 · 0 评论 -
请你介绍一下B+树
参考回答:B+是一种多路搜索树,主要为磁盘或其他直接存取辅助设备而设计的一种平衡查找树,在B+树中,每个节点的可以有多个孩子,并且按照关键字大小有序排列。所有记录节点都是按照键值的大小顺序存放在同一层的叶节点中。相比B树,其具有以下几个特点:每个节点上的指针上限为2d而不是2d+1(d为节点的出度)内节点不存储data,只存储key叶子节点不存储指针...原创 2019-07-01 09:58:14 · 498 阅读 · 0 评论