排序算法总结讲述
飞鱼科技排序算法总结思想代码实现付英奇
2016-2-24
In-place sort (不占用额外内存或占用常数内存):插入排序、选择排序、冒泡排序、堆排序、快速排序。
Out-place sort:归并排序、基数排序、桶排序。
Stable sort:插入排序、冒泡排序、归并排序、基数排序、桶排序。
Unstable sort:选择排序、快速排序、堆排序。
时间复杂度为O(N*logN)的算法:归并排序、快速排序、堆排序、希尔排序。
时间复杂度为O(N*N)的算法:冒泡排序,选择排序、插入排序
时间复杂度为O(N)的算法【桶排序思想】:基数排序,计数排序。
空间复杂度O(1)的算法:插入排序、选择排序、冒泡排序、堆排序、希尔排序。
空间复杂度O(logN)~O(N)的算法:快速排序。
空间复杂度O(N)的算法:归并排序
空间复杂度O(M)的算法:基数排序、计数排序。
void insertionSort(int nums[], int length)
{
int i, j, temp;
for(i = 1;i length; ++i)
{
j = i - 1;
temp = nums[i];
while(j = 0 temp nums[j]) //两个条件的顺序不能互换,否则数组越界
{
nums[j+1] = nums[j];
--j;
}
nums[j+1] = temp; //插入数的位置
}
}
插入排序:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止。
桶排序:工作的原理是将阵列分到有限数量的桶子里。每个桶子再个别排序(有可能再使用别的排序算法或是以递回方式继续使用桶排序进行排序)。
void buctekSort(int nums[], int length)
{
int buc[100] = {0};
int i, k;
for(i = 0;i length; ++i)
buc[nums[i]]++;
for(i = 0;i 100; ++i)
{
if(buc[i] != 0)
{
for(k = buc[i]; k 0; --k)
cout i \t;
}
}
}
void shellSort(int nums[],int length)
{
int group, i, j, temp;
for(group = length/2; group 0; group /= 2) //增量的取值规则为第一次取总长度的一半
{
for(i = group; i length; ++i) //第二次取一半的一半,依次累推直到1为止
{
for(j = i - group; j = 0; j -= group)
{
if(nums[j] nums[j + group])
{
temp = nums[j];
nums[j] = nums[j + group];
nums[j + group] = temp;
}
}
}
}
}
希尔排序:插入排序的改良版。
选择排序:每一趟从待排序的记录中选择出关键字最小的记录,顺序放在已排好序的子文件的最后,直到全部记录排序完毕。常用的选择排序有简单选择排序和堆排序。
void simple_selection_sort(int nums[], int length) //简单选择排序
{
int i,j,temp;
for ( i = 0; i length - 1; i++)
{
int lowIndex = i;
for ( j = i + 1; j length; j++)
{
if (n
您可能关注的文档
- 挤塑板保温不应错倒层次讲述.pptx
- 挤压模设计讲述.docx
- 挫折、自尊、自信、压力讲述.doc
- 振冲碎石桩施工工艺标准讲述.doc
- 振动信号预处理方法-平滑处理及其MATLAB实现讲述.docx
- 菜鸟要学的数据库基础知识综述.ppt
- 振华港汇国际桩基工程施工组织设计讲述.doc
- 营业员初级理论知识试卷综述.doc
- 营业员培训资料综述.doc
- 损益表解读讲述.pptx
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 2020年北京中考英语试题及答案.pdf VIP
- 贷款结清证明.docx VIP
- 村两委换届模拟推演方案.docx VIP
- 有机化学——杂环化合物和生物碱.ppt VIP
- 2025年中考数学一模试卷(福建卷)含答案解析.pdf VIP
- 2025年菏泽职业学院单招语文测试试卷.docx VIP
- 三雄极光-商用照明项目专业产品手册(2023-2024).pdf VIP
- 杜邦dupont-FilmTec™Fortilife™ XC120 超高压反渗透膜元件-120bar.pdf
- 高处作业安全培训PPT课件.ppt VIP
- dwc_ble50combophy_tsmc40_databook数据手册解析.pdf VIP
原创力文档

文档评论(0)