100种算法【Python版】第16篇——Rabin-Karp算法
本文目录 1 算法原理 2 实现步骤 3 算法示例 4 python代码 5 应用领域 6 优势与局限 6.1 优势 6.2 局限 1 算法原理 Rabin-Karp算法是一种用于字符串匹配的算法,利用哈希函数来快速判断子串是否匹配,非常适合多模式匹配。 核心概念 哈希函数:将字符串转化为整数(哈希值),使比较更高效。 滚动哈希:通过移出前一个字符和加入后一个字符更新哈希值,从而避免重复计算。 匹配验证:当...
100种算法【Python版】第19篇——Kruskal’s 算法
本文目录 1 算法原理及步骤 2 生成迷宫的逻辑 3 python代码 4 算法应用 1 算法原理及步骤 Kruskal’s 算法用于寻找无向图的最小生成树。它通过逐步选择最小权重的边,确保在不形成环的情况下连接所有节点。 原理 贪心策略:从权重最小的边开始选择,逐步构建生成树。 避免环路:使用并查集(Union-Find)数据结构来检测并避免环路。 实现步骤 (1)初始化: 将每个节点作为一个独立的集合。...
100种算法【Python版】第21篇——Wilson算法
本文目录 1 算法原理及步骤 2 迷宫实现步骤 3 python代码 4 算法应用 1 算法原理及步骤 Wilson算法是一种用于生成完美迷宫的算法,它的主要特点是生成的迷宫无偏且随机。这意味着所有可能的迷宫结构生成的概率相等。它使用了“随机游走和环消除”的方法,确保每个单元格都被访问,并且没有循环路径。 算法流程 (1)初始化: 创建一个全是墙的网格。 随机选择一个单元格作为已访问的起点。 (2)随机游走...
100种算法【Python版】第6篇——群体智能优化算法之粒子群优化
韩信点兵 群体智能优化算法介绍 1 粒子群优化 1.1 算法原理 1.2 算法特点 1.2 算法步骤 2 算法应用 2.1 带有约束的复杂函数极值求解 2.1.1 问题描述 2.1.2 python代码 2.1.3 代码思路说明 2.2 投资组合优化配比问题 2.2.1 问题描述 2.2.2 python代码 2.2.3 代码逻辑说明 3 算法改进思路 群体智能优化算法介绍 群体智能优化算法是一类基于自然界...
100种算法【Python版】第8篇——群体智能优化算法之人工蜂群算法
本文目录 1 人工蜂群算法 1.1 算法原理 1.2 核心特点 1.3 实现步骤 1.4 可以解决的问题 2 算法示例说明:复杂函数计算极值 2.1 问题描述 2.2 人工蜂群的思路 2.3 python代码 3 算法应用 3.1 带有约束的三元函数极值 3.1.1 问题描述 3.1.2 python代码 3.1.3 代码逻辑说明 3.2 多产品生产调度整数规划问题 3.2.1 问题描述 3.2.2 pyt...
100种算法【Python版】第35篇——PageRank算法
本文目录 1 算法说明 1.2 算法核心 1.2 算法步骤 2 示例说明 3 python代码 1 算法说明 PageRank算法是由拉里·佩奇和谢尔盖·布林在1996年提出的一种用于网页排名的算法,最初用于谷歌搜索引擎。它通过分析网页之间的链接结构来评估网页的重要性,从而改善搜索结果的相关性与质量。 1.2 算法核心 PageRank的核心思想是:一个网页的重要性不仅取决于它自身的质量,还取决于指向它的其...
100种算法【Python版】第48篇——计数排序
本文目录 1 算法步骤 2 算法示例 3 python代码 3.1 仅支持整数 3.1.1 代码说明 3.2 支持浮点数 3.2.1 代码说明 4 复杂度分析 4.1 时间复杂度: 4.2 空间复杂度: 计数排序(Counting Sort)是一种基于整数键值的非比较排序算法。它的核心思想是通过计数每个元素出现的次数,利用这些计数来确定每个元素在排序后数组中的位置。计数排序适用于范围较小的整数排序,时间复杂...