数据结构与算法
文章平均质量分 89
数据结构和算法方面的文章
LittleFogCat
这个作者很懒,什么都没留下…
展开
-
【Java】ConcurrentHashMap/CopyOnWriteArrayList简析
ConcurrentHashMap和CopyOnWriteArrayList都是java.util.concurrent包下的类,分别解决了HashMap和ArrayList的线程安全问题。本文以对这两个类进行简析,并不作详尽分析。相关文章【Java】HashMap原理及相关面试题【Java】ArrayList、LinkedList原理及相关面试题本文源码版本为Java14。一、ConcurrentHashMapConcurrentHashMap的数据结构大部分与HashMap相同,依旧是数组原创 2022-01-28 09:17:08 · 344 阅读 · 0 评论 -
【Java】ArrayList、LinkedList原理及相关面试题
文章目录一、数据结构二、增删改查1. ArrayListArrayList 增ArrayList 删ArrayList 改ArrayList 查2. LinkedListLinkedList 增LinkedList 删LinkedList 改LinkedList 查5. 小结三、相关面试题1. ArrayList添加元素和删除元素的效率如何?时间复杂度是多少?ArrayList和LinkedList如何选择?2. ArrayList线程安全吗?为什么?如何解决多线程问题?3. ArrayList与Vecto原创 2022-01-09 19:21:16 · 1988 阅读 · 0 评论 -
【Java】HashMap原理及相关面试题
HashMap与Hashtable两个类都是通过Key-Value对存储的数据结构。根据官方的说法,二者唯二的区别是HashMap线程不安全而Hashtable线程安全,并且HashMap允许null值而Hashtable不允许。Hashtable实现线程安全的方式是使用synchronized修饰方法,所以二者基本一致。由于Hashtable效率较低,所以Java官方不建议使用这个类了;单线程的情况下使用HashMap,多线程的时候使用ConcurrentHashMap。一、数据结构1. 结构H原创 2022-01-03 13:30:02 · 1587 阅读 · 0 评论 -
经典算法题目之Top-K问题(Leetcode 215)
top-k问题是经典面试算法题目(leetcode 215:第k大的元素)。本文介绍了三种top-k问题的解法:直接排序、堆、快速排序分区算法。使用Java实现。原创 2021-01-28 18:30:07 · 778 阅读 · 0 评论 -
两个队列实现一个栈
无意间看到一个有趣的题目,两个队列实现一个栈。想了半天,也没有什么优雅的解法,无非是遍历队列取到最后一个值,作为栈的尾巴pop出来。毕竟队列是先进先出的,而栈是后进先出,想要取到队列的最后一个值,必然是要遍历一下的。代码很简单,就粘贴了。节点: class Node<T> { Node<T> next; T val; ...原创 2020-03-13 09:08:07 · 158 阅读 · 0 评论 -
LeetCode合集:题目、分析、代码……不定时更新
760. Find Anagram Mappings Given two lists Aand B, and B is an anagram of A. B is an anagram of A means B is made by randomizing the order of the elements in A. We want to find an index mappi原创 2018-01-16 18:33:37 · 965 阅读 · 0 评论 -
【LeetCode】 53. Maximum Subarray 最大子序列和
原题Find the contiguous subarray within an array (containing at least one number) which has the largest sum.For example, given the array[-2,1,-3,4,-1,2,1,-5,4],the contiguous subarray[4,-1,2,1...原创 2017-06-04 16:51:32 · 356 阅读 · 0 评论 -
[算法练习]选择排序的C语言实现
用C语言实现选择排序原创 2017-03-22 23:29:33 · 475 阅读 · 0 评论 -
[算法练习]快速排序的C语言实现
用C语言实现快速排序原创 2017-03-22 22:00:55 · 536 阅读 · 0 评论 -
[算法练习]冒泡排序的C语言实现
用C语言实现冒泡排序原创 2017-03-22 22:43:20 · 478 阅读 · 0 评论 -
[算法练习]插入排序的C语言实现
用C语言实现插入排序原创 2017-03-22 15:05:56 · 516 阅读 · 0 评论