前言: 冒泡,选择:使用了普通双指针法 插入,快速,归并:使用了二分法,递归 冒泡排序 原理:不断比较相邻两个数得大小,把较大的数交换到靠后的位置 def bubbleSort(iList): '''冒泡排序 ''' if len(iList) <= 1: return iList for i in ...
分类:
编程语言 时间:
2021-07-16 17:32:50
阅读次数:
0
NumPy 提供了多种排序的方法。 这些排序函数实现不同的排序算法,每个排序算法的特征在于执行速度,最坏情况性能,所需的工作空间和算法的稳定性。 下表显示了三种排序算法的比较。 种类速度最坏情况工作空间稳定性 'quicksort'(快速排序) 1 O(n^2) 0 否 'mergesort'(归并 ...
分类:
编程语言 时间:
2021-07-05 18:14:50
阅读次数:
0
public class MergeSort<T extends Comparable<T>> extends Sort<T> { private T[] leftArray; @Override protected void sort() { leftArray = (T[]) new Compa ...
分类:
编程语言 时间:
2021-07-01 16:59:30
阅读次数:
0
恢复内容开始 算法期末考试复习题 XD专用 program 2 1、归并排序在最差最好平均情况下的时间复杂度分别是多少? 答案:nlgn nlgn 2、(判断) 归并排序的空间复杂度是O(1)? (判断) 答案:false 应该是 O(n) 3、优先队列提取最大元素的算法时间复杂度?(用O表示) 答 ...
分类:
编程语言 时间:
2021-06-29 15:31:00
阅读次数:
0
常见算法 算法与数据结构是面试考察的重中之重,也是日后刷题时需要着重训练的部分。 简单的总结一下,大约有这些内容: 算法 - Algorithms 1、排序算法:快速排序、归并排序、计数排序2、搜索算法:回溯、递归、剪枝技巧3、图论:最短路、最小生成树、网络流建模4、动态规划:背包问题、最长子序列、 ...
分类:
编程语言 时间:
2021-06-22 18:19:06
阅读次数:
0
这是一道交互题 交互库有三个长为 \(n_a,n_b,n_c\) 的不降正整数序列 \(a,b,c\),不超过 \(100\) 次单点查询求 \(k\)-th。 \(n_a,n_b,n_c\le 10^5\),\(a_i,b_i,c_i\le 10^9\)。 完全不会,牛逼坏了。 考虑归并排序的过程 ...
分类:
其他好文 时间:
2021-06-13 10:32:00
阅读次数:
0
排序 分类 外排序:由于数据太大,因此把数据放在磁盘中,而排序通过磁盘和内存的数据传输才能进行(k路归并) 内排序:所有操作再内存就可以完成 比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn),因此也称为非线性时间比较类排序。 非比较类排序:不通过比较来决定元素间的 ...
分类:
编程语言 时间:
2021-06-08 22:35:45
阅读次数:
0
计划更新列表 每次学习了一些新的知识,总想着总结下,写写文章。可惜我写东西的速度太慢,很多想总结的知识点慢慢的就都忘记了。所以这边做一个列表来记录我想写的主题。当我写完了我就把这个题目来划掉吧。祝我高产如母猪。 1. 归并排序以及可以利用归并排序来扩展的算法题,例如小和问题和逆序问题 2. 数据结构 ...
分类:
其他好文 时间:
2021-06-06 19:40:03
阅读次数:
0
全文引用:图解排序算法之归并排序 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之 ...
分类:
编程语言 时间:
2021-06-05 18:27:00
阅读次数:
0
看了网上的许多博客,然后自己总结了下,谢谢大神们的贡献 public class MergeSort { public void sort(int[] arr, int lo, int hi) { if (lo >= hi) return; int mid = lo + (hi - lo)/2; s ...
分类:
编程语言 时间:
2021-06-02 11:26:03
阅读次数:
0