数据结构
_lijunru
希望能定时产出自己的知识总结
展开
-
Java-哈希表、有序表的一些用法
Java-哈希表、有序表的一些用法哈希表HashMap常见用法如何删除HashMap中指定值的元素HashSet各种用法有序表TreeMapTreeSet哈希表哈希表的操作时间复杂度都是O(1),与数据量无关,但常数时间很大。基础类型:按值传递,内存里占用的是这个变量的实际大小。非基础类型:按引用传递,内存占用的是这个变量内存地址的大小。HashMap有key、有value常见用法...原创 2019-02-05 20:42:38 · 1750 阅读 · 0 评论 -
数据结构-堆(Heap)
数据结构-堆堆的主要知识点堆排序堆的主要知识点1.堆结构就是用数组实现的完全二叉树结构2.完全二叉树中如果每棵子树的最大值都在顶部就是大根堆3.完全二叉树中如果每棵子树的最小值都在顶部就是小根堆4.堆结构的heapInsert与heapify操作5.堆结构的增大和减少6.优先级队列结构,就是堆结构(在Java中是PriorityQueue)堆是用数组实现的,二叉树的结构实际上不存在...原创 2019-02-16 17:10:57 · 267 阅读 · 0 评论 -
归并排序-总结
数据结构【排序】总结归并排序归并排序时间复杂度:O(n*logn)空间复杂度:O(n)public class MergeSort { public static void mergeSort(int[] arr) { if (arr == null || arr.length <= 1) { return; } ...原创 2019-02-24 23:01:08 · 270 阅读 · 0 评论 -
数组的Partition与快速排序
数组的Partition与快速排序数组的Partition快速排序没有任何改进的快排稍微改进的快排彻底改进的快排快速排序的时间复杂度分析快速排序的Code数组的Partition在数组中取一个数p,把<=p的数都放在左边,>p的数放在右边,数的排序可以是无序的。流程:在a[0]之前建一个<=区,i指向a[0]若a[i] <= p, a[i]与<=区的原创 2019-03-01 18:30:51 · 591 阅读 · 0 评论 -
递归过程以及master公式
递归本质以下面的例子说明:public static int process(int[] arr, int L, int R) { if (L == R) { return arr[L]; } int mid = L + ((R - L) >> 1); int leftMax = process(arr, L, mid); int rightMax = process...原创 2019-04-13 23:18:23 · 1063 阅读 · 3 评论