Insert sort
来源:互联网 发布:前海开源人工智能 编辑:程序博客网 时间:2024/06/17 23:29
插入排序(Insertion Sort)
一.直接插入排序
1.简单结构
a.算法
算法描述:
图例:
b.伪代码
c.代码实现(C语言)
- 非递归
void Acending_InsertionSort(int A[],int n){ int j; for(j=1;j<n;j++) { int key=A[j]; int i=j-1; while(i>=0&&A[i]>key)//若为降序Descending,将其改为A[i]<key { A[i+1]=A[i]; i--; } A[i+1]=key; }}
- 递归
void Acending_InsertionSort(int A[],int n){ if(n>0) { InsertionSort(A,n-1); int i=n-2; int key=A[n-1]; while(i>=0&&A[i]>key)//若为降序Descending,将其改为A[i]<key { A[i+1]=A[i]; i--; } A[i+1]=key; }
d.算法分析
运行时间分析:时间开销与输入序列的规模(即待排序数组的长度)及数组的已排序程度有关
时间复杂度:
O(n2) 插入排序是原地排序(sort in place)和稳定排序(stable sort)
2.有序表
阅读全文
0 0
- insert sort
- Insert sort
- INSERT-SORT
- Insert Sort
- Insert Sort
- insert sort
- insert sort
- insert sort
- insert sort
- insert sort
- Insert Sort
- Insert sort
- INSERT-SORT (Chapter2)
- insert sort algorithm
- insert sort with C++
- Data Structure: Insert Sort
- Algorithm---Insert Sort
- JAVA Insert Sort
- 纯C语言实现的AVL树(插入&删除&前序遍历输出)
- 11月6日笔记
- eclipse集成maven
- 报错调试小技巧
- 大数据概念
- Insert sort
- 数据库三范式
- 浅谈spring
- 【c语言】c语言实现顺序表(静态)
- 对象数组增删改查和继承
- SVN分支/合并原理及方式
- Meteor Shower (POJ 3669,广度优先搜索)
- Spring框架整合Java Web Token
- POJ 3233 Matrix Power Series