Python语言基础
Python语言进阶
Python数据结构

Python 算法类

Python 算法类详细说明
算法是明确的步骤,应该通过处理零个或多个输入为我们提供定义明确的输出。这导致了设计和编写算法的许多方法。已经观察到,大多数算法可以分为以下几类。

贪婪算法

贪婪算法试图找到局部最优解,最终可能导致全局最优解。但是,通常,贪心算法不会提供全局优化的解决方案。
因此,贪婪的算法会在那个时候寻找一个简单的解决方案,而不考虑它如何影响未来的步骤。这类似于人类如何解决问题而无需遍历提供的输入的完整细节。
大多数网络算法都使用贪婪方法。这是其中一些的列表-
旅行商问题 Prim的最小生成树算法 Kruskal的最小生成树算法 Dijkstra的最小生成树算法

分而治之

这类算法包括将给定问题分解为较小的子问题,然后独立解决每个子问题。当问题无法进一步细分时,我们开始将解决方案合并到每个子问题中,以得出更大问题的解决方案。
分而治之算法的重要示例是-
合并排序 快速排序 Kruskal的最小生成树算法 二元搜寻

动态编程

动态编程涉及将较大的问题分解为较小的问题,但与“分而治之”不同,它不涉及独立解决每个子问题。而是会记住较小的子问题的结果,并将其用于相似或重叠的子问题。通常,这些算法用于优化。在解决现有子问题之前,动态算法将尝试检查先前解决的子问题的结果。
动态算法是针对问题的整体优化而不是局部优化。
动态编程算法的重要示例是-
斐波那契数列 背包问题 河内塔
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4