什么是算法?
算法(Algorithm)是对特定问题求解步骤的一种描述,是为了解决一个或者一类问题给出的一个确定的、有限长的操作序列。
算法的特点
一个算法应该满足的5个条件:①有穷性:一个有限指令集 ;②有输入:接受一些输入(有些情况下不需要输入); ③有输出:产生输出 ;④可行性:一定在有限步骤之后终止;⑤确定性:每一条指令必须有充分明确的目标、不可以有歧义 、在计算机能处理的范围之内 、描述应不依赖于任何一种计算机语言以及具体的实现手段。
为让读者清晰了解到算法与代码的差别,并鉴于读者已学习过C语言,李老爹举个例子——选择排序:
void SelectionSort( intList[], intN )//这是算法!!
{
/* 将N个整数List[0]...List[N-1]进行非递减排序*/
for( i = 0; i < N; i ++ )
{
MinPosition= ScanForMin( List, i,N–1 ); /* 从List[i]到List[N–1]中找最小元,并将其位置赋给MinPosition*/
Swap( List[i], List[MinPosition] ); /* 将未排序部分的最小元换到有序部分的最后位置*/
} }
void SelectSort(int r