-
算法小白的入门日记(二八)操作系统如何管理内存——哈希链表和LRU算法
发布时间:2022-01-26 21:58我们知道计算机的内存有限,如果并发运行的进程所需的内存空间超过了物理内存的总和,就需要通过虚拟内存的技术将休眠的进程的内存空间或者将处于等待或运行进程的部分内存空间换出到磁盘。 操作系统需要使用
-
算法小白的入门日记(二七)高效查找的链表——跳表
发布时间:2022-01-25 18:00先提出一个问题,如果让一个有序链表像有序数组使用二分查找一样实现高效查找。 · 跳表 跳表是一个具有多层索引的有序链表,借助索引可以像有序数组一样实现高效
-
算法小白的入门日记(二六)高效字符串匹配算法——KMP算法
发布时间:2022-01-24 22:59· KMP算法思路KMP算法也是通过减少字符串匹配的轮数进行优化的,BM算法关注“坏字符”和“好后缀”,KMP算法关注“已匹配的前缀”。KMP算法的思路是:将主串A的子串与模式串B进行多轮匹配,每轮匹
-
算法小白的入门日记(二五)高效字符串匹配算法——BM算法
发布时间:2022-01-24 20:34· BM算法 该算法的思路是:主串A和模式串B进行若干轮字符串比较,每轮从模式串B的尾部往前与A的子串进行比较,根据“坏字符”和“好后
-
算法小白的入门日记(二四)字符串匹配算法——BF算法和RK算法
发布时间:2022-01-24 20:32先抛出一个问题:给出两个字符串A和B,如何判断B是否为A的子串并返回B在A中第一次出现的位置? A是主串,B是模式串。 · BF算法(
-
算法小白的入门日记(二二)图的排序——拓扑排序
发布时间:2022-01-23 18:52拓扑排序是针对有向无环图的一种广度优先遍历顶点的算法,可以将图中所有顶点按照要求的先后顺序排序。当然,拓扑排序本质不是一种排序算法,而是一种遍历图的算法。在如果存在顶点 u 和顶点 v,要想到达顶点
-
算法小白的入门日记(二一)图的连通性问题——Union-Find 并查集
发布时间:2022-01-23 14:23· 并查集解决什么问题 如果给你一个图里面有一些顶点,并且告诉你图中每2个顶点的连接关系,你如何才能快速的找出任意给出的两个顶点是否具有连通性呢? 例如:下面的图结构给出了顶
-
算法小白的入门日记(二十)图的连通性问题——最小生成树算法
发布时间:2022-01-23 11:22 最小生成树算法最小生成树算法的作用是将一个图的多余边去除,使得图中所有顶点满足连通性的同时,边的权重总和最小,此时这个取出多余边的图我们称为最小连通子图,最小连通子图没有回路,因此是一个树
-
算法小白的入门日记(十九)图的最短路径——最短路径算法和多源最短路径算法
发布时间:2022-01-20 10:46 最短路径算法(Dijkstra 迪杰斯特拉算法 ) 对于一个加权无向图,如何求A到G的最短距离? 可以使用深度优先算法计算出所有从A到G的路径和最短距离,不过暴力解的时间复杂度
-
算法小白的入门日记(十八)图的遍历——深度优先算法和广度优先算法
发布时间:2022-01-20 10:39 图的遍历 图的遍历可以使用深度优先和广度优先遍历。 图的深度优先遍历做法和多叉树的深度优先遍历(前序遍历和后续遍历)一样,关键在于“回溯”,使用递归实现