📊 排序算法

将一组数据按照特定顺序排列的算法。

🫧

冒泡排序

重复走访数列,一次比较两个元素,顺序错误就交换

查看详情
👆

选择排序

每次从数据中选出最小元素,放在序列起始位置

查看详情
📥

插入排序

在已排序序列中从后向前扫描,找到相应位置并插入

查看详情
⚡

快速排序

采用分治法,通过一趟排序将数据分割成独立两部分

查看详情
🔀

归并排序

采用分治法将有序子序列合并,得到完全有序序列

查看详情
🏔️

堆排序

利用堆数据结构设计的排序算法

查看详情

🔍 搜索算法

在数据结构中查找特定元素或满足条件的元素。

🎯

二分查找

在有序数组中查找目标元素,每次将范围缩小一半

查看详情
📏

线性查找

从列表第一个元素开始逐个检查

查看详情
🕳️

深度优先搜索

沿图的深度遍历节点,尽可能深搜索分支

查看详情
🌊

广度优先搜索

从根节点开始,沿树的宽度遍历节点

查看详情

🕸️ 图算法

处理图结构中的问题,如最短路径、遍历等。

📍

Dijkstra 最短路径

计算有权图中单源最短路径

查看详情
🌲

Prim 最小生成树

在加权连通图中搜索最小生成树

查看详情
📋

拓扑排序

对有向无环图进行线性排序

查看详情

🧮 动态规划

通过将原问题分解为子问题来求解复杂问题。

🎒

背包问题

经典的 0-1 背包动态规划问题

查看详情
🔗

最长公共子序列

寻找两个序列的最长公共子序列

查看详情
🌀

斐波那契数列

使用动态规划优化的斐波那契计算

查看详情