上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 36 下一页
摘要: 复杂度总结 7大比较排序算法 时间复杂度 空间复杂度 特殊情况下的优化 应用 选择排序 O(n^2) O(1) \ \ 插入排序 O(n^2) O(1) 完全有序数组,O(n) \ 冒泡排序 O(n^2) O(1) 完全有序数组,O(n) \ 归并排序 O(nlogn) O(n) 完全有序数组,O( 阅读全文
posted @ 2021-11-04 23:18 振袖秋枫问红叶 阅读(109) 评论(0) 推荐(0)
摘要: 基本思想:通过循环,让数组越来越有序 冒泡排序法在每次循环时只处理相邻的逆序对,当一个较小的元素在后面的时候,每次也只能往前挪一位,效率很低,但会让数组变得更加有序 而插入排序法在数组有序的时候,只需要和前面的一个元素比较大小,就可以终止循环 因此,希尔排序法在冒泡排序法和插入排序法的基础上,不仅仅 阅读全文
posted @ 2021-11-04 17:37 振袖秋枫问红叶 阅读(160) 评论(0) 推荐(0)
摘要: 基本思想:每次只比较相邻的两个元素,如果前者比后者大就互换,每一轮会找出最大的元素,放在最后的位置,而最后的位置每轮会往前挪一位 循环不变量:第i轮时,arr[n- i, n)已排好序,在arr[n - i - 1]放上正确的元素 实现冒泡排序法 import java.util.Arrays; p 阅读全文
posted @ 2021-11-04 17:36 振袖秋枫问红叶 阅读(142) 评论(0) 推荐(0)
摘要: 什么是优先队列 普通队列:先进先出,后进后出 优先队列:出队顺序和入队顺序无关,和优先级相关 实现优先队列的数据结构 入队 出队(拿出最大元素) 普通线性结构 O(1) O(n) 顺序线性结构 O(n) O(1) 堆 O(logn) O(logn) interface Queue<E> { int 阅读全文
posted @ 2021-11-02 09:04 振袖秋枫问红叶 阅读(62) 评论(0) 推荐(0)
摘要: 优先队列 import java.util.Comparator; import java.util.PriorityQueue; class Solution { public String[] findRelativeRanks(int[] score) { /** * 使用优先队列从小到大存储 阅读全文
posted @ 2021-11-01 21:58 振袖秋枫问红叶 阅读(41) 评论(0) 推荐(0)
摘要: class KthLargest { int k; PriorityQueue<Integer> pq; public KthLargest(int k, int[] nums) { this.k = k; pq = new PriorityQueue<>(); for (int i = 0; i 阅读全文
posted @ 2021-11-01 21:18 振袖秋枫问红叶 阅读(29) 评论(0) 推荐(0)
摘要: 优先队列 import java.util.Comparator; import java.util.PriorityQueue; class Solution { public int[] kWeakestRows(int[][] mat, int k) { /** * 使用优先队列 * 如果两行 阅读全文
posted @ 2021-11-01 21:06 振袖秋枫问红叶 阅读(37) 评论(0) 推荐(0)
摘要: 优先队列 import java.util.Collections; import java.util.PriorityQueue; class Solution { public int maxProduct(int[] nums) { /** * 使用优先队列 */ PriorityQueue< 阅读全文
posted @ 2021-11-01 21:06 振袖秋枫问红叶 阅读(29) 评论(0) 推荐(0)
摘要: 优先队列 import java.util.Collections; import java.util.PriorityQueue; class Solution { public int lastStoneWeight(int[] stones) { /** * 使用优先队列创建最大堆 * Col 阅读全文
posted @ 2021-11-01 16:55 振袖秋枫问红叶 阅读(30) 评论(0) 推荐(0)
摘要: 优先队列 import java.util.PriorityQueue; class KthLargest { /** * 使用优先队列创建最小堆,最多存放三个元素 * 每次添加新元素时和堆顶元素进行比较,堆顶元素就一直是第k大的元素 */ PriorityQueue<Integer> pq = n 阅读全文
posted @ 2021-11-01 16:42 振袖秋枫问红叶 阅读(40) 评论(0) 推荐(0)
上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 36 下一页