【软件设计师—基础精讲笔记9】第九章 算法设计与分析

简介: 【软件设计师—基础精讲笔记9】第九章 算法设计与分析

温馨提示:

       完整笔记已设置成专栏,欢迎各位点击右上角“订阅专栏”,收藏完整笔记。



一、分治法

1、基本思想

一般来说,分治算法在每一层递归上都有 3 个步骤

(1) 分解。将原问题分解成一系列子问题。

(2) 求解。递归地求解各子问题。若子问题足够小,则直接求解。

(3) 合并。将子问题的解合并成原问题的解。

二、动态规划法

动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动态规划求解的问题,经分解得到子问题往往不是互相独立的。若用分治法来解这类问题,则分解得到的子问题数目太多,有些子问题被重复计算了很多次。如果能够保存已解决的子问题的答案,而在需要时再找出已求得的答案,这样就可以避免大量的重复计算,节省时间。

动态规划算法通常用于求解具有某种最优性质的问题。

三、贪心法

从问题的某一个初始解出发一步一步地进行,根据某个优化测度,每一 步都要确保能获得局部最优解。每一步只考虑一 个数据,其选取应该满足局部优化的条件。若下 一个数据和部分最优解连在一起不再是可行解时, 就不把该数据添加到部分解中,直到把所有数据枚举完,或者不能再添加算法停止。

贪心算法在某种意义上具有局部最优解,但并不是对所有问题都能得到整体最优解,关键是贪心策略的选择。

四、回溯法

在包含问题的所有解的解空间树中,按照深度优先搜索的策略,从根结点出发深度探索解空间树。当探索到某一结点时,要先判断该结点是否包含问题的解,如果包含,就从该结点出发继续探索下去,如果该结点不包含问题的解,则逐层向其祖先结点回溯。

五、分支限界法

分支限界法常以广度优先方式搜索解空间树。在分支限界法中,每一个活结点只有一次机会成为扩展节点,活结点一旦成为扩展节点,就会一次性产生其所有儿子节点。在这些儿子节点中,导致不可行解或导致非最优解的儿子节点会被舍弃,其余儿子节点会被加入活结点表中。

为了有效的选择下一个扩展节点加速搜索,可在每一个活结点处计算一个函数值(限界),并根据计算的函数值结果从当前活结点表中选择下一个最有利的结点作为当前扩展结点,重复上述节点扩展过程,使搜索朝着解空间树上最优解的分支推进,直到找到所需的最优解或者活结点表为空。

六、总 结

       笔记总结不易,如果喜欢,请关注、点赞、收藏。

完整笔记下载地址:(后续完成后更新)

基础精讲课件地址:(请关注、点赞、收藏后,私信我)

基础精讲视频地址:(请私信我)

目录
相关文章
|
1月前
|
算法 调度
【算法设计与分析】— —基础概念题(one)可作为日常联系或期末复习
【算法设计与分析】— —基础概念题(one)可作为日常联系或期末复习
47 1
|
20天前
|
设计模式 存储 算法
【软件设计师—基础精讲笔记7】第七章 面向对象技术
【软件设计师—基础精讲笔记7】第七章 面向对象技术
51 1
|
20天前
|
自然语言处理 Java 编译器
【软件设计师—基础精讲笔记10】第十章 程序设计语言基础
【软件设计师—基础精讲笔记10】第十章 程序设计语言基础
23 1
|
20天前
|
存储 自然语言处理 算法
【软件设计师—基础精讲笔记6】第六章 结构化开发方法
【软件设计师—基础精讲笔记6】第六章 结构化开发方法
47 0
|
20天前
|
敏捷开发 算法 测试技术
【软件设计师—基础精讲笔记5】第五章 软件工程基础
【软件设计师—基础精讲笔记5】第五章 软件工程基础
41 2
|
20天前
|
存储 机器学习/深度学习 人工智能
【软件设计师—基础精讲笔记8】第八章 数据结构
【软件设计师—基础精讲笔记8】第八章 数据结构
67 0
|
20天前
|
存储 移动开发 自然语言处理
【软件设计师—基础精讲笔记1】第一章 计算机组成与体系结构
【软件设计师—基础精讲笔记1】第一章 计算机组成与体系结构
55 2
|
6月前
|
运维 监控 架构师
第二章 软件过程与思想 第一节 基础
第二章 软件过程与思想 第一节 基础
|
2月前
|
存储 算法 索引
【数据结构入门精讲 | 第四篇】考研408、企业面试表专项习题
【数据结构入门精讲 | 第四篇】考研408、企业面试表专项习题
53 0
|
6月前
|
机器学习/深度学习 人工智能 算法
这篇科普让你Get所有大模型的基础核心知识点
本文介绍了AI大模型的概念和发展历程。AI大模型是指具有1亿以上参数的机器学习模型,通过在大规模数据集上进行预训练,可以直接支撑各类应用。大模型的发展经历了从萌芽期到AI1.0时期,再到AI2.0时期的飞跃,目前最新发布的大模型参数已经达到了千亿甚至万亿级别。国内外的公司都在积极研发和应用大模型,如OpenAI、Google、Facebook、Microsoft等。国内也有百度、阿里巴巴、万维、商汤科技等公司发布了自己的大模型产品。大模型的建造离不开算力资源、算法人才、数据积累等核心要素。此外,文章还列举了一些与大模型相关的专业名词,如算法、模型参数、训练数据、Token等。

热门文章

最新文章