算法
文章平均质量分 95
Dontla
Life is short, I use AI.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
滑动窗口算法介绍(Sliding Window)解决连续区间问题
动态调整。原创 2025-08-28 19:20:30 · 1168 阅读 · 0 评论 -
有向无环图(Directed Acyclic Graph, DAG)介绍(环检测、DFS法、Kahn算法、)
有向无环图(Directed Acyclic Graph, DAG)是一种特殊的有向图。原创 2025-08-18 20:25:14 · 2620 阅读 · 0 评论 -
重复(Repeat)和迭代(Iteration)区别、递归(Recursion)
O2nOn。原创 2025-08-18 13:23:39 · 2117 阅读 · 0 评论 -
Rust字典(Rust HashMap、Rust BTreeMap)(std::collections::HashMap、std::collections::BTreeMap)哈希表桶、哈希表槽
HashMapkey的类型是&&str是因为你正在通过&map引用来遍历BTreeMap,所以每个key实际上是BTreeMap中的键()的引用,而你正在访问的是引用的引用,即&&str。通过解引用*key,你可以获取原始的&str类型。原创 2024-12-02 08:15:00 · 2051 阅读 · 0 评论 -
哈希表(Hash Table、散列表)实现原理(哈希映射HashMap、哈希函数(取余法、乘法法、加法法)、索引bucket桶、哈希冲突、链地址法、开放地址法(线性探测法)、负载因子、哈希表扩容)
线性探测法会按照桶的顺序从当前桶向后查找空位,直到找到一个空的桶为止。每当发生冲突时,哈希表会检查下一个桶,并依此类推直到找到一个空桶。实现简单:固定大小的数组便于通过哈希函数直接定位存储位置。内存管理简化:避免了动态调整数组大小的复杂性。哈希函数稳定性:哈希函数设计上要求固定大小的数组,以保证映射过程的高效性。负载因子和扩容机制:通过扩容和调整负载因子,保持哈希表在不同规模数据下的高效性能。尽管哈希表的大小在初始时是固定的,但它通过扩容机制能够动态调整,以适应更多的元素,确保哈希表操作的高效性。原创 2024-12-01 19:05:00 · 1452 阅读 · 0 评论 -
算法时间复杂度和空间复杂度计算方法(O(1)、O(n)、O(logn)、O(n^2)、O(n^3 )、O(n!))分治法归并排序、主定理
时间复杂度是指随着输入规模的增加,算法所消耗的时间增长情况。时间复杂度的计算通常以输入规模nnn为变量,衡量的是最坏情况、最好情况或平均情况下的时间增长趋势。合并是通过两指针(i和j)在两个有序子数组中一次性扫描每个元素。每个元素会被比较一次并放入结果数组中,之后不再参与任何操作。合并过程中的每个元素仅被访问一次,因此时间复杂度为OnO(n)On,其中nnn是待合并的元素总数。这种设计保证了归并排序在合并阶段的时间复杂度为线性OnO(n)On,并且整体的时间复杂度是On。原创 2024-11-28 16:54:53 · 1779 阅读 · 0 评论
分享