选择排序 即每次遍历数组选出一个最小的 时间复杂度: n+(n-1)+(n-2)+(n-3)+...+1。约等于O(n^2) 快速排序/归并排序...
引子 快速排序是一个很难记的概念,倒不是说排序方法难记,就是为什么叫快速排序,到底快在哪儿,说不清楚。 回味归并排序 数组对半分,不停对半分 直...
引子 我常常会想解决算法问题的开始在哪里,难道是记下茫茫多的解决技巧,或者是熟悉于特定的编程语言,还是说题海战术? 可我们的精力能力有限,特别是...
思路 在世上,人们解决问题的方式归为两种 人类思路:根据生活归纳出来的,人们根据生活经验,总结提炼 数学思路:根据数学推理归纳,通过对应的数学公...
引子 顺序存储 假设有一个数组 [1,2,3,4,5], 是一个连续的内存地址 100 | #101 | #102 | #103 | #104 ...
为什么需要多线程? CPU,这个世界慢死了 列出一些典型的时间周期: cpu:现在3.0GHZ的cpu一个指令周期为,0.3ns => 换算人类...
常用类包括但不限于: List Set Map List 最常用的就是ArrayList,其本质上就是一个数组 ArrayList是如何扩容的?...
首先,可能需要先了解一下JVM的工作原理 JVM的工作非常简单: 执行一个类的字节码,假如在这个过程中,碰到了新的类,那么加载它! 而我们执行 ...
哈希表 目的 提供一个存储结构, 其中存储的是Key-Value对, Key和Value可以是任意的类型类似于数组: 可以使用数组的下标索引(数...