大数据学习--day17(Map--HashMap--TreeMap、红黑树)
2024-09-27 11:09:51
Map--HashMap--TreeMap--红黑树
Map:三种遍历方式
HashMap:拉链法。用哈希函数计算出int值。
用桶的思想去存储元素。桶里的元素用链表串起来,之后长了的话转红黑树。
TreeMap:红黑树。
所以看Map的源码就是把红黑树给拿下。
红黑树
插入:前面找插入位置完全同二叉搜索树
插入调整
删除
删除调整
以上代码图都是基于:
http://www.cnblogs.com/skywang12345/p/3245399.html 红黑树原理
http://www.cnblogs.com/skywang12345/p/3624343.html 红黑树代码实现
啃红黑树之前最好先看看二叉搜索树,把搜索弄懂 http://www.cnblogs.com/skywang12345/p/3576452.html 二叉搜索树
还可以看看这个大神的AVL树,把四种旋转看懂再看红黑树的旋转就简单了。
红黑树的插入比较好理解,删除的四种调整我不是很理解为什么要这么调整,但是结合图又让我感觉就是这么一回事。
最新文章
- 菜鸟学Linux命令:tail命令 查看日志
- java继承关系中成员变量,构造方法,成员方法的关系
- SQL Server数据库(SQL Sever语言 CRUD)
- smartGit30天试用过期
- cookie记录用户名和密码
- Nginx配置同一个域名http与https两种方式都可访问
- SQL学习之联结表的使用
- 【ACM小白成长撸】--计算单词个数
- 分布式代码管理系统GIT
- OpenGL step by step 38 : Skeletal Animation with Assimp
- eclipse 代码检查插件使用
- Liunx Mkdir
- Java多线程之ThreadLocal总结
- 风雪之隅(Laruence PHP开发组成员, Zend兼职顾问, Yaf, Yar, Yac, Opcache等项目作者、维护者.)
- sed.md
- NOIP2011 D1 T2选择客栈
- 利用JAVA操作Redis---demo
- scrapy-splash抓取动态数据例子二
- qemu中是怎么模拟的新的设备
- 【飞天奔月出品】memcached四大注意事项(key长度,空格限制,最大item)
热门文章
- c#之反射(Reflection)
- winform ComboBox控件反选
- 使用@selector模仿代理功能降低代码耦合度
- Oracle SQL语句操作数字:取整、四舍五入及格式化
- Python学习---ORM查询之基于对象的正向/反向/聚合/分组/Q/F查询
- c++计算器后续(3)
- 分享个Cognos8.4安装介质的百度云网盘链接
- Redux 源码解读 —— 从源码开始学 Redux
- 【[国家集训队] Crash 的文明世界】
- 业务id转密文短链的一种实现思路