Below you will find pages that utilize the taxonomy term “算法”
算法-KMP
算法介绍 KMP字符串匹配算法。 移动位数 = 已匹配的字符数 – 对应的部分匹配值 《部分匹配表》怎么得出 两个概念:”前缀”和”后缀”: “前缀”指除了最后一个字符以外,一个
算法-LRU
LRU介绍 LRU(Least Recently Used)最近最少使用算法,通常在缓存策略中使用。操作系统在内存管理中,对页的置换有应用这一算法。 通常缓存空间有限,因此当空间满的
算法-回溯算法排列组合
回溯算法特点 回溯算法是一种暴力穷举算法 穷举的过程是遍历一颗多叉树的过程 回溯算法的框架和多叉树遍历相似 回溯算法框架 List<Value> result; void backtrace(路径, 选择列表) { if (
算法-图的最短路径 Dijkstra
图如果不带权重,计算最短路径用BFS,队列的数据结构就够了,如果带权重(负权不能使用dijkstra)的话可以使用优先队列的数据结构。放邻接点的时候,哪个权重小
算法-图的遍历 广度优先 BFS 和深度优先 DFS
图的两种遍历方式 如题,图的广度优先和深度优先遍历。和二叉树的广度优先遍历类似都利用队列先进先出的特点,不同点在于,二叉树的BFS不需要记录节点是否遍历过,但图会
算法-时间轮实现
时间轮(Timing Wheel) 时间轮是一种高效的定时任务调度数据结构,核心目标是解决大规模定时任务场景下的性能瓶颈问题。最早应用于操作系统内核的定时器管理,后
算法-最优解问题 0-1背包
问题 问题描述 一个可放总重量为 W 的背包和 N 个物品。每个物品,有重量 w 和价值 v 两个属性,那么第 i 个物品的重量为 w[i],价值为 v[i]。现在用这个背包装物品,问最多
算法-最优解问题 找零钱
问题 问题描述 给定 n 种不同面值的硬币,有一个总金额 k,计算出最少需要几枚硬币凑出这个金额k ?每种硬币的个数不限。如果没有任何一种硬币组合能组成总金额时,返回 -1。
算法-练习题目
链表 链表典型问题参考 逆序遍历链表 简单一个递归,先递归再取值 public static void reverseTraverse(Node node) { if (node == null) { return ; } reverseTraverse(node.next); System.out.println(node.value); } 删除倒数第N个节点 和逆序遍历链表一个思路。递归处理,就是反转了,i+