常用的排序算法都有哪些?(数据结构 折中查找算法选择排序 起泡排序算法)

作者:以沫      发布时间:2021-08-31      浏览量:10136
常用的排序算法都有哪些?排序算法 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。 分类 在计算机科学所使用的排序算法通常被分类为: 计算的复杂度(最差、平均、和最好表现),依据串列(lis

常用的排序算法都有哪些?


排序算法 所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。
分类
在计算机科学所使用的排序算法通常被分类为:
计算的复杂度(最差、平均、和最好表现),依据串列(list)的大小(n)。一般而言,好的表现是O。(n log n),且坏的行为是Ω(n2)。对於一个排序理想的表现是O(n)。仅使用一个抽象关键比较运算的排序算法总平均上总是至少需要Ω(n log n)。
记忆体使用量(以及其他电脑资源的使用)
稳定度:稳定排序算法会依照相等

数据结构 折中查找算法/选择排序 起泡排序算法


折半查找法也称为二分查找法,它充分利用了元素间的次序关系,采用分治策略,可在最坏的情况下用O(log n)完成搜索任务。它的基本思想是,将n个元素分成个数大致相同的两半,取a[n/2]与欲查找的x作比较,如果x=a[n/2]则找到x,算法终止。如果xa[n/2],则我们只要在数组a的右半部继续搜索x。二分搜索法的应用极其广泛,而且它的思想易于理解,但是要写一个正确的二分搜索算法也不是一件简单的事。第一个二分搜索算法早在1946年就出现了,但是第一个完全正确的二分搜索算法直到1962年才出现。Bent

求各种查找和排序的时间复杂度


冒泡排序是稳定的,算法时间复杂度是O(n ^2)。 
2.2 选择排序(Selection Sort)
选择排序的基本思想是对待排序的记录序列进行n-1遍的处理,第i遍处理是将L[i..n]中最小者与L[i]交换位置。这样,经过i遍处理之后,前i个记录的位置已经是正确的了。
选择排序是不稳定的,算法复杂度是O(n ^2 )。
2.3 插入排序 (Insertion Sort)
插入排序的基本思想是,经过i-1遍处理后,L[1..i-1]己排好序。第i遍处理仅将L[i]插入

顺序查找、二分查找、分块查找三种查找方法,哪些必须排序!


二分查找和分块查找
顺序查找相当于遍历数组的所有元组,所以不需要排序
二分查找需要排序,因为每次都是和中间值比较,如果大于选中间值后面的部分继续二分查找,如果小于中间值则选前面的部分继续执行
分块查找中需要按照数值大小进行排序分块,虽然每个块中的大小可以不排序,但是块的取值区间是排序的。

虽然我很聪明,但这么说真的难到我了