数据对象在计算机中的组织方式
逻辑结构 :线性结构(一对一),树形结构(一对多)
物理存储结构:
数据对象必定与一系列加在其上的操作相关联
完成这些操作所用的方法就是算法
与数据存储的物理结构无关
与实现操作的算法和编程语言均无关
数据对象集
数据集合相关联的操作集
只描述数据对象集和相关操作集”是什么“,并不涉及”如何做到“的问题
类型名称:矩阵(Matrix)
数据对象集:一个MN的矩阵A(MN) = (A..........告辞!放弃了
伪代码。
)
void SelectionSort (int List[],int N)
{/*将N个整数List[0]...List[N-1]进行非递减排序(可能有相同值排序,因此叫递增的话不是很确切)*/
for(int i= 0;i<N;i++){
MinPosition = ScanForMin(List,i,N-1);//ScanForMin为查找最小元所在位置函数
/*从List[i]到List[N-1]中找最小元,并将其位置赋给MinPosition;*/
Swap(List[i],List[MinPosition]);//swap为交换函数
/*将未排序部分的最小元(List[MinPosition])换到有序部分的最后位置(List[i-1]);*/
}
}
List到底是数组还是链表?(虽然看上去像数组)
Swap用函数还是用宏实现?
Void PrintN(int N){
if(N){
printN(N-1);
printf("%d\n",N);
}
return;
}
S(N) = C*N
由图可知,当复杂度为log n 时为最好的算法
原文:https://www.cnblogs.com/destiny-2015/p/13378776.html