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树,把四种旋转看懂再看红黑树的旋转就简单了。

红黑树的插入比较好理解,删除的四种调整我不是很理解为什么要这么调整,但是结合图又让我感觉就是这么一回事。

最新文章

  1. 菜鸟学Linux命令:tail命令 查看日志
  2. java继承关系中成员变量,构造方法,成员方法的关系
  3. SQL Server数据库(SQL Sever语言 CRUD)
  4. smartGit30天试用过期
  5. cookie记录用户名和密码
  6. Nginx配置同一个域名http与https两种方式都可访问
  7. SQL学习之联结表的使用
  8. 【ACM小白成长撸】--计算单词个数
  9. 分布式代码管理系统GIT
  10. OpenGL step by step 38 : Skeletal Animation with Assimp
  11. eclipse 代码检查插件使用
  12. Liunx Mkdir
  13. Java多线程之ThreadLocal总结
  14. 风雪之隅(Laruence PHP开发组成员, Zend兼职顾问, Yaf, Yar, Yac, Opcache等项目作者、维护者.)
  15. sed.md
  16. NOIP2011 D1 T2选择客栈
  17. 利用JAVA操作Redis---demo
  18. scrapy-splash抓取动态数据例子二
  19. qemu中是怎么模拟的新的设备
  20. 【飞天奔月出品】memcached四大注意事项(key长度,空格限制,最大item)

热门文章

  1. c#之反射(Reflection)
  2. winform ComboBox控件反选
  3. 使用@selector模仿代理功能降低代码耦合度
  4. Oracle SQL语句操作数字:取整、四舍五入及格式化
  5. Python学习---ORM查询之基于对象的正向/反向/聚合/分组/Q/F查询
  6. c++计算器后续(3)
  7. 分享个Cognos8.4安装介质的百度云网盘链接
  8. Redux 源码解读 —— 从源码开始学 Redux
  9. 【[国家集训队] Crash 的文明世界】
  10. 业务id转密文短链的一种实现思路