码迷,mamicode.com
首页 >  
搜索关键字:红黑树    ( 1467个结果
Leetcode 863--二叉树中所有距离为 K 的结点
首先找到每个节点的父节点,利用map存储(map底层用红黑树实现,所以查找效率也高),这种方法客服了二叉树只能找到自己的儿子的缺点。 然后用dfs搜索的方法寻找目标节点。 代码如下: class Solution {public: map<TreeNode*,TreeNode*> par; void ...
分类:其他好文   时间:2018-12-25 22:52:25    阅读次数:178
数据库索引数据结构分析
数据库索引数据结构分析 为什么要有B树? 1. 计算机有一个局部性原理,就是说,当一个数据被用到时,其附近的数据也通常会马上被使用。所以当你用红黑树的时候,你一次只能得到一个键值的信息,而用B树,可以得到最多M 1个键值的信息。这样来说B树当然更好了。 2. 另外一方面,同样的数据,红黑树的阶数更大 ...
分类:数据库   时间:2018-12-25 16:58:31    阅读次数:308
STL系列之六 set与hash set
STL系列之六 set与hash_set set和hash_set是STL中比较重要的容器,有必要对其进行深入了解。在STL中,set是以红黑树(RB-tree)作为底层数据结构的,hash_set是以Hash table(哈希表)作为底层数据结构的。set可以在时间复杂度为O(logN)情况下插入 ...
分类:其他好文   时间:2018-12-25 13:18:07    阅读次数:141
记录小白实习生的HashMap源码 put元素 的学习和一些疑问
首先看HashMap存储结构 我对存储结构的理解 初始化一个长度为16的Node数组,数组中每一个元素是一个Node构成的单链表,好像是大家说的桶?当桶中Node结点长度(链表长度)大于等于TREEIFY_THRESHOLD (8)时 单链表改为 树(红黑树?现在还一点不了解,知道个名字) 存储 , ...
分类:其他好文   时间:2018-12-14 12:44:32    阅读次数:151
HashMap中的TreeNode,红黑树源码分析
在看HashMap的源码时候看到了TreeNode。因此需要对其进行一个了解。是一个红黑树。可以百度一下红黑树的数据结构。分析了下源码,还是比较枯燥的 红黑树的性质:本身是一个二叉查找树(所有左节点的值都比右节点的小)。另: 这保证了红黑数是平衡的,从根到叶子的最长的可能路径不多于最短的可能路径的两 ...
分类:其他好文   时间:2018-12-13 17:45:38    阅读次数:303
基于Java实现红黑树的基本操作
首先,在阅读文章之前,我希望读者对二叉树有一定的了解,因为红黑树的本质就是一颗二叉树。所以本篇博客中不在将二叉树的增删查的基本操作了,需要了解的同学可以到我之前写的一篇关于二叉树基本操作的博客:https://www.cnblogs.com/rainple/p/9970760.html; 有随机数节 ...
分类:编程语言   时间:2018-12-11 16:02:18    阅读次数:167
HashMap实现原理(jdk1.7/jdk1.8)
HashMap的底层实现: 1、简单回答 JDK1.7:HashMap的底层实现是:数组+链表 JDK1.8:HashMap的底层实现是:数组+链表/红黑树 为什么要红黑树? 红黑树:一个自平衡的二叉树 当结点多了用红黑树,少了用链表 因为少的话用红黑树太复杂,多了话用红黑树可以提高查询效率。 红黑 ...
分类:其他好文   时间:2018-12-09 14:07:05    阅读次数:174
python 二叉树
为了准备面试,早就学习了二叉树,最近想撸一下红黑树。先把二叉树给总结一下吧。 1.二叉树定义 在计算机科学中,二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。 图中就是一个典 ...
分类:编程语言   时间:2018-12-05 12:11:09    阅读次数:201
C++ multiset通过greater、less指定排序方式,实现最大堆、最小堆功能
STL中的set和multiset基于红黑树实现,默认排序为从小到大。 定义三个multiset实例,进行测试: 输出结果: 可以为multiset指定排序方式,以此实现类似最大堆、最小堆的功能。 比如:当前排序方式为降序,那么greaterSet.begin()所指向的值就是最大值。 可以参考《剑 ...
分类:编程语言   时间:2018-11-30 20:19:46    阅读次数:354
Java集合
Java集合 1.java集合的概述 Java集合类存放于 java.util 包中,是一个用来存放对象的容器。 注意:①、集合只能存放对象。比如你存一个 int 型数据放入集合中,其实它是自动转换成 Integer 类后存入的,Java中每一种基本类型都有对应的引用类型。 ②、集合存放的是多个对象 ...
分类:编程语言   时间:2018-11-27 22:55:32    阅读次数:228
1467条   上一页 1 ... 45 46 47 48 49 ... 147 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!