![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
董董董不懂
做任何事,都有它存在的意义,有些是实实在在的,另一些是潜移默化的,感谢每一天的生命。
展开
-
java集合与底层实现(上)
集合的集成体系老大collection 常用方法 添加:add(Object obj) ,addAll(collection c) 删除:clear() ,remove(Object obj), removeAll(collection c) 判断:contains(Object obj) ,containsAll(collection c) ,isEmpty() 获取:iterator():...原创 2019-03-12 20:41:39 · 404 阅读 · 0 评论 -
java集合与底层实现(中)
集合 List 特点:有序(存储顺序和取出顺序一致),可重复 ArrayLIst 数据结构是数组,线程不安全 LinkedList 数据结构是链表,线程不安全(双向链表方便实现往前遍历) Vector 数据结构是数组,线程安全 copyOnWriteList 并发容器,线程安全(COW设计模式) ArrayList解析 ArrayList底层为一个数组,内部有扩容的概念,初始容量为10...原创 2019-03-12 21:00:55 · 256 阅读 · 0 评论 -
java集合与底层实现(下)
Map集合 将键映射到值得对象,一个映射不能包含重复的键,每个键只能映射到一个值,map集合存储元素是成对出现的。map集合的数据结构针对键有效,跟值无关。常用子类(HashMap、linkedHashMap、TreeMap、ConcurrentHashMap) map涉及数据结构 散列图 链表和数组要获取某个元素,就要访问所有的元素,直到找到为止,散列图不在意元素的顺序,能够快速的查找元素的数...原创 2019-03-12 21:14:09 · 230 阅读 · 0 评论 -
数据结构与算法常见面试题
数据结构与算法 找到单链表的三等分点,如果单链表是有环的呢 ? 用快慢指针,一个走一步,一个走三步。如果有环,先判断环在哪,找最后一个节点,然后用之前的无环的做法 从10万个数中找最小的10个,时间复杂度分析(最小堆,考虑内存)? 我们首先取10万个元素中的前10个元素来建立由10个元素组成的最小堆。这样堆顶元素便是当前已知元素的第10大的数;然后依次读取剩下的99990个元素,若读取的元素比堆顶...原创 2019-03-25 11:15:53 · 834 阅读 · 0 评论