![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
容光如老许
这个作者很懒,什么都没留下…
展开
-
LRU算法实现
LRU算法实现 介绍 LRU算法(最近最少使用)是最常用的缓存回收算法。主要的实现方式就是带哈希表的双向链表。 哈希能够帮我们快速定位我们需要的缓存页面 双向链表提供的顺序性能够让我们选择回收最少使用的页面。 双向链表可以在任意节点插入,便于移动缓存页面的顺序。 代码 /** * @file LRU.cpp * @author qingfu * @brief a implement of LRUcache * @version 0.1 * @date 2021-04-05 * * @c原创 2021-07-25 19:49:23 · 127 阅读 · 1 评论 -
常见的排序算法——c++实现
排序算法一览 文章目录排序算法一览总览冒泡排序选择排序插入排序希尔排序快速排序归并排序基数排序堆排序 总览 排序算法 时间复杂度 空间复杂度 稳定性 原地排序? 冒泡排序 O(n2)O(n^2)O(n2) O(1)O(1)O(1) 稳定 是 选择排序 O(n2)O(n^2)O(n2) O(1)O(1)O(1) 不稳定 是 插入排序 O(n2)O(n^2)O(n2) O(1)O(1)O(1) 稳定 是 希尔排序 O(nlogn)O(nlogn)O(nlogn) O(1)O(1)O(原创 2021-07-25 19:37:11 · 101 阅读 · 0 评论 -
最短路径算法
最短路径算法 Dijkstra算法 图G中的起点为顶点s,distTo[]表示G中路径的长度,distTo[v]表示从s到v某条路径的长度。不可达长度设为无穷。T表示已经确定最短路径的节点。 distTo[s]初始化为0,更新s到邻接点的距离。s存入T中。 放松 *->v:找到distTo[]内的最短路径distTo[v],更新s到v的邻接点的距离。v存入T中。 distTo[w]=min(distTo[w],disto[v]+edge(v,w));//w为v的邻接点。 循环直到T内包原创 2021-05-06 13:48:59 · 146 阅读 · 0 评论