HashMap 结构: 数组+链表(红黑树) 放数据: public V put(K key, V value) { return putVal(hash(key), key, value, false, true); } key的hash(): key==null,其hash为0,不为null其值 ...
分类:
其他好文 时间:
2018-11-24 21:04:49
阅读次数:
177
一:hashtable线程安全,不支持null键和值,hashmap支持null键和值,treemap是红黑树实现的,可以通过key的comparotor实现排序,还有原始类型的自然顺序,它的get,remove,add都是logn时间复杂度 二:hashmap 的实现原理,负载因子,容量,多线程导 ...
分类:
其他好文 时间:
2018-11-24 20:55:05
阅读次数:
201
数据结构和算法是面试的一座大山,尤其去面试大厂更是必不可少!简单说明一下为啥喜欢考数据结构和算法,首先,算法有用也没用,如果是中小型企业的简单业务逻辑,可能用不到啥算法,但大厂一定会用到,都知道数据库底层会用到红黑树、B++树等,去oracle公司,那数据结构一定要玩转,再加入想去阿里,百万数据量, ...
分类:
编程语言 时间:
2018-11-21 21:06:57
阅读次数:
369
通过使用红黑树实现Map接口 提供按排序顺序存储键/值对的有效手段,同时允许快速检索 TreeMap实现SortedMap并且扩展AbstractMap,它本身并没有定义其他方法 ...
分类:
其他好文 时间:
2018-11-20 01:27:34
阅读次数:
251
宋宝华: 关于Linux进程优先级数字混乱的彻底澄清 原创: 宋宝华 Linux阅码场 9月20日 https://mp.weixin.qq.com/s/44Gamu17Vkl77OGV2KkRmQ 有点晕 Linux进程的调度优先级数字会在好几个地方出现:内核,用户,top命令。他们各自都有自己的 ...
分类:
系统相关 时间:
2018-11-17 19:08:16
阅读次数:
189
1 map和set两种容器的底层结构都是红黑树,所以容器中不会出现相同的元素, 2 因此count()的结果只能为0和1,可以以此来判断键值元素是否存在 3 (当然也可以使用find()方法判断键值是否存在)。 4 拿map举例,find()方法返回值是一个迭代器, 5 成功返回迭代器指向要查找的元... ...
分类:
其他好文 时间:
2018-11-17 12:01:36
阅读次数:
166
1.HashMap源码阅读目标了解具体的数据结构(hash及冲突链表、红黑树)和重要方法的具体实现(hashCode、equals、put、resize...) 2.重要方法 hashCode 与 equals都是在AbstractMap中定义的 hashCode是各元素hash的累加 h += i ...
分类:
其他好文 时间:
2018-11-17 00:26:11
阅读次数:
226
目录 (1)数据结构与算法概念解析 (2)数据结构之数组 (3)数据结构之栈 (4)数据结构之队列 (5)数据结构之链表 (6)数据结构之二叉树 (7)数据结构之霍夫曼树 (8)数据结构之红黑树(一)——基础分析 (9)数据结构之红黑树(二)——插入操作 (10)数据结构之红黑树(三)——删除操作 ...
分类:
编程语言 时间:
2018-11-15 21:19:09
阅读次数:
166
阅读目录 红黑树的平均高度大约为logn。 阅读目录 红黑树的平均高度大约为logn。 查找是在大量的信息中寻找一个特定的信息元素,在计算机应用中,查找是常用的基本运算,例如编译程序中符号表的查找。本文简单概括性的介绍了常见的七种查找算法,说是七种,其实二分查找、插值查找以及斐波那契查找都可以归为一 ...
分类:
编程语言 时间:
2018-11-15 10:26:04
阅读次数:
172
之前一直把代码托管在taocode上,现在已经不能用了,所以把代码整理了一下,统一都放在gibhub上了。 LALR(1)语法分析生成器:https://github.com/kiven-li/xbytes 红黑树:https://github.com/kiven-li/rbtree AVL树:ht ...
分类:
其他好文 时间:
2018-11-13 21:44:04
阅读次数:
163