阅读目录 1. 二叉树 2. 二叉查找树 3. 平衡二叉树 3.1 平衡查找树之AVL树 3.2 平衡二叉树之红黑树 4. B树 5. B+树 6. B*树 7. Trie树 阅读目录 1. 二叉树 2. 二叉查找树 3. 平衡二叉树 3.1 平衡查找树之AVL树 3.2 平衡二叉树之红黑树 4. ...
分类:
其他好文 时间:
2018-11-13 17:14:30
阅读次数:
146
一、STL简介 STL提供六大组件,彼此可以组合套用: 二、关于容器的一些问题 2.1 当vector的内存用完了,它是如何动态扩展内存的?它是怎么释放内存的?用clear可以释放掉内存吗?是不是线程安全的? 2.2 map是怎么实现的?查找的复杂度是多少?能不能边遍历边插入? 红黑树和散列 O(l ...
分类:
其他好文 时间:
2018-11-06 22:23:06
阅读次数:
196
对于完全随机的数据,普通的二分搜索树就很好用,只是在极端情况下会退化成链表。 对于查询较多的情况,avl树很好用。 红黑树牺牲了平衡性,但是它的统计性能更优(综合增删改查所有的操作)。 红黑树java实现: ...
分类:
编程语言 时间:
2018-11-06 12:03:37
阅读次数:
228
原标题:漫画算法:什么是红黑树? ———————————— 二叉查找树(BST)具备什么特性呢? 1.左子树上所有结点的值均小于或等于它的根结点的值。 2.右子树上所有结点的值均大于或等于它的根结点的值。 3.左、右子树也分别为二叉排序树。 下图中这棵树,就是一颗典型的二叉查找树: 1.查看根节点9 ...
分类:
其他好文 时间:
2018-11-06 00:53:41
阅读次数:
170
Java中的常用类2 集合 数组与集合的区别: 1、数组长度固定,集合长度可变。 2、数组可以存储基本数据类型,集合只能存储对象。 集合类的结构图以及相关特点: Collection |--List 有序,可重复 |--ArrayList 底层数据结构是数组,查询快,增删慢。 线程不安全,效率高 | ...
分类:
编程语言 时间:
2018-11-05 11:21:17
阅读次数:
210
四、Java高级部分 1.红黑树的实现原理和应用场景; 2.NIO是什么?适用于何种场景? 3.Java9比Java8改进了什么; 4.HashMap内部的数据结构是什么?底层是怎么实现的?(还可能会延伸考察ConcurrentHashMap与HashMap、HashTable等,考察对技术细节的深 ...
分类:
编程语言 时间:
2018-11-04 12:49:42
阅读次数:
870
学号 20172326 《程序设计与数据结构》第七周学习总结 教材学习内容总结 AVL树 AVL树是实现平衡二叉树的一种算法实现,别的方法也可实现例如红黑树。 平衡因子:右子树高度 左子树高度的差值(高度是指当前结点到叶子结点的最长路径,如所有叶子结点的高度都为0,而深度则是指从根结点到当前结点的最 ...
分类:
其他好文 时间:
2018-11-03 02:09:32
阅读次数:
149
[toc] 一丶关联容器简介.set/multiset 我们的序列容器,底层都是线性表构成的. 比如 vector list deque. 关联容器底层就是红黑树. 以set集合为例. set内部元素根据其值自动排序.每个元素的值只允许出现一次.不能重复. multiset 跟set一样.只不过值可 ...
分类:
编程语言 时间:
2018-11-01 22:29:17
阅读次数:
167
二叉树的java实现 红黑树的java实现(备注:中序遍历、查找、最大、最小、前驱、后继与二叉树基本一致) ...
分类:
编程语言 时间:
2018-11-01 01:08:07
阅读次数:
181
一:介绍 set是STL的关联式容器,以红黑树(Red-Black Tree)作为底层数据结构。自动去重,保证每个元素唯一,并对数据进行排序。 命名空间为std,所属头文件为<set> 二:常用操作 容量:a.set中实际数据的数据:set.size()b.set中最大数据的数量:set.max_s ...
分类:
其他好文 时间:
2018-10-30 17:31:15
阅读次数:
148