何为算法(Algorithm)
对特定问题求解方法(步骤)的一种描述
本质:指令的有限序列,其中每一条指令表示一个或多个操作
算法五特性
- 有穷性 有穷步数,每步有穷时间
- 确定性 指令必须有明确的含义,不能存在二义性
- 可行性 算法描述的操作必能通过已经实现的基本运算执行有限次来实现
- 输入 零个或多个输入
- 输出 一个或多个输出,与输入有着某些特定关系
描述方法
- 自然语言描述
- 形式语言描述
- 计算机程序设计语言描述
算法设计要求
- 正确性(Correctness)
- 可读性(Readability)
- 健壮性(Robustness)
- 通用性(Generality)
- 效率与存储量需求
算法效率的度量
- 事前分析 求出时间界限函数
- 事后测试
/**
* @Brief
* BubbleSort
* @Param a[]
* @Param n
*/
void BubbleSort(int a[], int n)
{
bool change=false;
int i=0,j=0;
for(i=n-1,change=true; i>1 && change; --i)
for (j=0,change=false; j<i; ++j)
if(a[j]>a[j+1])
{
a[j]^=a[j+1]^=a[j]^=a[j+1]; //交换两个数
change=true;
}
}
时间: 2024-12-20 23:29:02