【算法】第1章 算法概述

参考教材:《算法设计与分析(第2版)》 耿国华 主编 高等教育出版社

1、程序 = 数据结构 + 算法
2、算法的5个重要特征:

(1)有限性
(2)确定性(无二义)
(3)可行性
(4)输入
(5)输出

  • 例:死循环——违反了有限性、除0错误——违反了可行性
3、算法的描述方式

(1)自然语言
(2)框图(流程图)
(3)伪代码
(4)类语言
(5)高级语言

4、求解问题的基本过程

(1)分析题意
(2)建立模型
(3)设计算法
(4)编写程序
(5)分析运算结果与算法性能
(6)改进

  • 例:最大公约数问题
    方法1:连续整数检测法
    方法2:质因数分解法
    方法3:欧几里得算法
5、算法设计与分析的任务
  • 设计阶段:如何构造问题的解。常用的算法设计方法:分治法、动态规划、贪心、回溯等。
  • 分析阶段:对算法的有效性及性能进行评价。
6、算法分析准则
  • 正确性
  • 可读性
  • 健壮性
  • 高效率和低存能量:评价算法运行效率的主要技术指标是:算法运行的时间复杂度和空间复杂度
7、常用数学术语
  • 计量单位:b B K M G T ms…

  • 阶乘:n! = n × (n-1) × (n-2) × … × 2 × 1

  • 排列组合

    • 排列公式: A n k = n ⋅ ( n − 1 ) ⋅ ⋅ ⋅ ( n − k + 1 ) = n ! ( n − k ) ! A_n^k = n·(n-1)···(n-k+1)=\frac{n!}{(n-k)!} Ank=n(n1)(nk+1)=(nk)!n!

    • 组合公式: C n k = n ! ( n − k ) ! k ! = n ( n − 1 ) ⋅ ⋅ ⋅ ( n − k + 1 ) k ! C_n^k = \frac{n!}{(n-k)! k!} = \frac{n(n-1)···(n-k+1)}{k!} Cnk=(nk)!k!n!=k!n(n1)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值