
数据结构
文章平均质量分 66
toward_south
自律给人自由
展开
-
计算几何-扫描线算法
计算几何中,扫描线算法(Sweep Line Algorithm)或平面扫描算法(Plane Sweep Algorithm)是一种算法模式,虚拟扫描线或扫描面来解决欧几里德空间中的各种问题,一般被用来解决图形面积,周长等问题,是计算几何中的关键技术之一。这种算法背后的想法是想象一条线(通常是一条垂直线)在平面上扫过或移动,在某些点停止。几何操作仅限于几何对象,无论何时停止,它们都与扫描线相交或紧邻扫描线,并且一旦线穿过所有对象,就可以获得完整的解。原创 2024-05-19 17:51:57 · 954 阅读 · 0 评论 -
LRU的一些思考和实现
1、LRU是什么LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高“--来自百度在知乎看到一个讨论挺有意思的,大概是:如果A被访问了80次,B才一次,当数据D进来的时候 依旧剔除A么? 这样符合 最近最少原则么?个人觉得 LRU 侧重点在于 “最近”,看题主的意思是侧重于访问频率了,像 A 被访问的频率都集中在前边,最近都没有被访问到,那么新的数据 D 进来是要淘汰 A 的。.原创 2022-01-24 22:48:59 · 260 阅读 · 0 评论 -
查找-顺序表查找
顺序表查找,逐一比较,它有以下算法1.顺序查找2.顺序查找优化(加了个哨兵)代码:/* * 顺序查找不等同与顺序表就已经是有序的了,这里需要注意 * 时间复杂度为0(n) * 空间复杂度为1 */public class SequentialSearch { /* * 顺序表查找算法 * @param a 数组 * @param n 数组大小 ...原创 2019-04-23 20:55:42 · 321 阅读 · 0 评论 -
查找-有序表查找
有序表查找,首先是表内有序,它有以下算法1.折半查找2.插值查找3.斐波那契查找Java代码实现:/* *有序表查找 */public class OrderListSearch { /* * 折半查找 * 时间复杂度为O(logn) * * @param a 数组 * @param n 数组大小 * @param key 要...原创 2019-04-23 21:02:51 · 439 阅读 · 0 评论