1-2 算法和算法分析基础

1. 算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中每一条指令表示一个或多个操作

2. 算法有五个特性:有穷性、确定性、可行性、输入、输出

3. 算法设计的要求:正确性、可读性、健壮性、效率与低存储量需求

4. 算法的时间量度记作 T(n)=O(f(n)),他表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的渐进时间复杂度,简称时间复杂度。

5. 一般情况下,随着n的增大,T(n)增长越慢的算法成为最优算法

6. 空间复杂度:S(n) = O(f(n)),n为问题的规模(或大小)

7. 算法的含义与程序十分相似,但二者是有区别的。

8. 个程序不一定满足有穷性(如一个操作系统在用户未使用前一直处于“等待” 的循环中,  直到出现新的用户事件为止。这样的系统可以无休止地运行,直到系统停工。);

9. 程序中的指令必须是机器可执行的,而算法中的指令则无此限制。算法若用计算机语言来书写,则它就可以是程序

冒泡排序算法:

1.void   bubble_sort(int   a[] , int  n)       
2.{    //将a中整数序列按从小到大的顺序排序
3.	  for(i = n-1, change = TURE ;i >= 1 && change ;  --i)
4.	  {
5.            change = FALSE;//交换标识
6.             for(j = 0; j < i; ++j)
7.		       if(a[j] > a[j+1])
8.		       {
9.			a[j]<--->a[j+1];
10.                        change = TRUE;
11.                   } 
12.}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值