100种算法【Python版】第51篇——希尔排序

本文目录 1 算法步骤 2 算法示例 3 python代码 3.1 代码说明 3.2 复杂度分析 4 算法优化 4.1 Shell 原始增量序列 4.2 Hibbard 增量序列 4.3 Knuth 增量序列 4.4 Sedgewick 增量序列 4.5 Tokuda 增量序列 4.6 Pratt 增量序列 5 不同的增量序列的效率对比 希尔排序(Shell Sort)是插入排序的改进版。它通过比较距离较远的...

100种算法【Python版】第50篇——Tim Sort

本文目录 1 基本原理 2 主要步骤 3 算法示例 4 Python 实现 4.1 代码说明 4.2 复杂度分析 Tim Sort 是一种混合排序算法,由 Tim Peters 于 2002 年为 Python 编程语言设计。它结合了插入排序和归并排序的优点,专门针对实际数据中的某些模式进行优化。Tim Sort 的核心思想是将数组分割成若干个小的有序区间(称为 run),然后通过归并排序的思想将这些有序区间...

100种算法【Python版】第58篇——滤波算法之卡尔曼滤波

本文目录 1 算法步骤 2 算法示例 2.1 示例描述 2.2 python代码 3 算法应用:二维运动目标跟踪问题 滤波算法是用于从信号中提取有用信息、去除噪声或估计系统状态的技术。在时间序列分析、信号处理和控制系统中,滤波算法起着关键作用。 1 算法步骤 卡尔曼滤波(Kalman Filter)的基本思想是利用系统的动态模型和观测模型,通过对当前状态的预测和更新,逐步逼近真实状态。其过程可以分为两个主要步...

100种算法【Python版】第48篇——计数排序

本文目录 1 算法步骤 2 算法示例 3 python代码 3.1 仅支持整数 3.1.1 代码说明 3.2 支持浮点数 3.2.1 代码说明 4 复杂度分析 4.1 时间复杂度: 4.2 空间复杂度: 计数排序(Counting Sort)是一种基于整数键值的非比较排序算法。它的核心思想是通过计数每个元素出现的次数,利用这些计数来确定每个元素在排序后数组中的位置。计数排序适用于范围较小的整数排序,时间复杂度...

100种算法【Python版】第35篇——PageRank算法

本文目录 1 算法说明 1.2 算法核心 1.2 算法步骤 2 示例说明 3 python代码 1 算法说明 PageRank算法是由拉里·佩奇和谢尔盖·布林在1996年提出的一种用于网页排名的算法,最初用于谷歌搜索引擎。它通过分析网页之间的链接结构来评估网页的重要性,从而改善搜索结果的相关性与质量。 1.2 算法核心 PageRank的核心思想是:一个网页的重要性不仅取决于它自身的质量,还取决于指向它的其他...

Ubuntu18.04服务器非root用户在虚拟环境下的python版本设定

3.9.16 yyy是你的虚拟环境名字 创建之后,激活虚拟环境 source activate yyy或者conda activate yyy 激活之后,输入python 却发现仍然是之前设定好的python版本,也就是3.8.0,而不是3.9.16 这是因为在bashrc配置文件中,在上篇博客中写死了python的环境,并且Path环境路径里,python3.8.0的安装路径优先级高,因此只需要改两步 第...

100种算法【Python版】第16篇——Rabin-Karp算法

本文目录 1 算法原理 2 实现步骤 3 算法示例 4 python代码 5 应用领域 6 优势与局限 6.1 优势 6.2 局限 1 算法原理 Rabin-Karp算法是一种用于字符串匹配的算法,利用哈希函数来快速判断子串是否匹配,非常适合多模式匹配。 核心概念 哈希函数:将字符串转化为整数(哈希值),使比较更高效。 滚动哈希:通过移出前一个字符和加入后一个字符更新哈希值,从而避免重复计算。 匹配验证:当子...

100种算法【Python版】第21篇——Wilson算法

本文目录 1 算法原理及步骤 2 迷宫实现步骤 3 python代码 4 算法应用 1 算法原理及步骤 Wilson算法是一种用于生成完美迷宫的算法,它的主要特点是生成的迷宫无偏且随机。这意味着所有可能的迷宫结构生成的概率相等。它使用了“随机游走和环消除”的方法,确保每个单元格都被访问,并且没有循环路径。 算法流程 (1)初始化: 创建一个全是墙的网格。 随机选择一个单元格作为已访问的起点。 (2)随机游走:...

100种算法【Python版】第19篇——Kruskal’s 算法

本文目录 1 算法原理及步骤 2 生成迷宫的逻辑 3 python代码 4 算法应用 1 算法原理及步骤 Kruskal’s 算法用于寻找无向图的最小生成树。它通过逐步选择最小权重的边,确保在不形成环的情况下连接所有节点。 原理 贪心策略:从权重最小的边开始选择,逐步构建生成树。 避免环路:使用并查集(Union-Find)数据结构来检测并避免环路。 实现步骤 (1)初始化: 将每个节点作为一个独立的集合。 ...

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 算法改进思路 群体智能优化算法介绍 群体智能优化算法是一类基于自然界中...
© 2025 LMLPHP 关于我们 联系我们 友情链接 耗时0.005133(s)
2025-05-22 18:17:12 1747909032