软件设计师教程(第5版)第8章 算法设计与分析(更新中)

8.1 算法设计与分析的基本概念P416

8.1.1 算法P416

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

一个算法还具有下列5个重要特性:【有穷】性、【确定】性、【可行】性、【输入】、【输出】。P416

8.1.2 算法设计P416

算法设计是一件非常困难的工作,通常设计一个“好”的算法应考虑多个目标,包括【正确】性、【可读】性、【健壮】性和【高效】性等。P416

8.1.3 算法分析P417

从基本概念上看,【算法分析】是指对一个算法所需要的资源进行估算,这些资源包括内存、通信带宽、计算机硬件和时间等,所需要的资源越多,该算法的复杂度就越高。P417

8.1.4 算法的表示P417

常用的表示算法的方法有【自然语言】、【流程图】、【程序设计语言】和【伪代码】等。P417

8.2 算法分析基础P417

8.2.1 时间复杂度P417

算法的时间复杂度分析分为3种情况:【最佳】情况、【最坏】情况、【平均】情况。P418

8.2.2 渐进符号P418

O记号。
Ω记号。
在这里插入图片描述记号。

8.2.3 递归式P419

从算法的结构上看,算法可以分为【非递归】形式和【递归】形式。P419

递归算法的时间复杂度分析方法:【展开】法、【代换】法、【递归树】法、【主方法】。P420

8.3 分治法P422

8.3.1 递归的概念P422

【递归】是指子程序(或函数)直接调用自己或通过一系列调用语句间接调用自己,是一种描述问题和解决问题的常用方法。P422

递归有两个基本要素:【边界条件】,即确定递归到何时终止,也称为【递归出口】;【递归模式】,即大问题是如何分解为小问题的,也称为【递归体】。P422

8.3.2 分治法的基本思想P423

分治算法在每一层递归上都有3个步骤:【分解】、【求解】、【合并】。P423

8.3.3 分治法的典型实例P423

归并排序。
最大子段和。

8.4 动态规划法P427

8.4.1 动态规划法的基本思想P427

8.4.2 动态规划法的典型实例P428

8.5 贪心法P433

8.5.1 贪心法的基本思想P433

【贪心】算法并不总能得到最优解。P434

8.5.2 贪心法的典型实例P434

8.6 回溯法P437

8.6.1 回溯法的算法框架P437

1.问题的解空间

2.回溯法的基本思想

3.回溯法的算法框架

4.回溯法的限界函数

8.6.2 回溯法的典型实例P440

8.7 分支限界法P445

8.8 概率算法P446

概率算法大致分为4类:【数值概率】算法、【蒙特卡罗】(Monte Carlo)算法、【拉斯维加斯】(Las Vegas)算法和【舍伍德】(Sherwood)算法。P447

8.9 近似算法P448

8.10 数据挖掘算法P448

1.数据挖掘概述

数据挖掘的核心是算法,其主要功能包括【分类】、【回归】、【关联规则】和【聚类】等。P448

2.分类

分类是一种有监督的学习过程,根据历史数据预测未来数据的模型。P448

3.频繁模式和关联规则挖掘

4.聚类

5.数据挖掘的应用

8.11 智能优化算法P450

1.智能优化算法概述

2.人工神经网络

【人工神经网络】(【ANN】)是一个以有向图为拓扑结构的动态系统,它通过对连续或断续的输入作状态响应而进行信息处理。P451

3.遗传算法

【遗传】算法是源于模拟达尔文的“优胜劣汰、适者生存”的进化论和孟德尔.摩根的遗传变异理论,在迭代过程中保持已有的结构,同时寻找更好的结构。P451

【遗传】算法是建立在自然选择和群体遗传学基础上,通过自然选择、杂交和变异实现搜索的方法。P451

4.模拟退火算法

物理退火过程包括3个阶段:【加温】阶段、【等温】阶段、【冷却】阶段。P452

5.禁忌搜索算法

【禁忌搜索】算法(【TS】)是模拟人类智力过程的一种全局搜索算法,是对局部邻域搜索的一种扩展。P452

6.蚁群算法

7.粒子群优化算法

【粒子群】算法的基本思想:鸟群觅食飞行时,在飞行过程中经常会突然改变方向、散开、聚集,其行为不可预测,但其整体总保持一致性,个体与个体间也保持着最适宜的距离。P454

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

福大大架构师每日一题

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值