LFU算法 一、LFU 是什么LFU(Least Frequently Used,最不经常使用)是一种缓存淘汰策略:缓存满了要腾位置时,优先踢掉访问频率最低的 key。 它和更常见的 LRU(Least Recently Used,最近最少使用)区别在于判断视角: LRU 看”最近有没有被用”——久没碰的先走。 LFU 看”总共被用了多少次”——用得少的先走。 所以 LFU 适合”热点数据稳定”的场景:某 2026-08-23 数据结构与算法 #数据结构 #算法 #LFU
跳表实现(java版本) 1.一句话理解跳表跳表 = 有序链表 + 多层索引。 底层是一条完整的有序单链表,上面又盖了几层”稀疏的索引”。查找时从最高层开始,能跳就跳,跳不动了再往下一层,平均时间复杂度 O(log n)。它用”以空间换时间”的思路,把一个慢查询的链表变成了接近二分查找的速度。 2.为什么需要跳表先看一个朴素的对比: 结构 查找 插入 删除 备注 有序数组 O(log n)(二分) O 2026-08-20 数据结构与算法 #数据结构 #算法 #跳表 #java
关于前缀树Trie 前缀树(Trie)介绍 前缀树(字典树)是为”前缀匹配”设计的数据结构:共享公共前缀、逐字符下挂、结尾打标记。 一、解决什么问题搜索框输入 app,要立刻联想出 apple、apply。用 HashSet 得逐个 startsWith 扫一遍,词库越大越慢。前缀树让查询只跟”要查的词多长”有关,跟词库大小无关。 二、结构插入 app、apple、apply,共享前缀 app: 12(root) 2026-08-16 数据结构与算法 #数据结构 #算法 #前缀树
Java中Stream流完全指南 Java 8 把 Stream 加进来之后,处理集合的方式跟以前不太一样了。你可能也写过 list.stream().filter(...).collect(...),但中间操作、终止操作、收集器这几个东西搅在一起时,还是容易写错。 这篇把 Java 8 里常用到的 Stream 用法过一遍,每个都配上能直接跑的例子。并行流和常见的坑也一并说一下。 一、Stream 是什么先说它不存数据这件事: 2026-08-12 Java #Java #笔记
简易视频人像背景AI替换 用 Python 给视频换个背景一个基于 RVM 的抠像小工具。 最近折腾了这么个小工具:把视频里的人像抠出来,换成你指定的背景图,同时把原来的声音原样保留。不用绿幕,不用一帧一帧手动描,丢进去一批视频就能批量出片。 写它的起因挺简单——手头有些固定机位拍的视频,背景乱七八糟,想换成干净一点的图。网上抠像工具要么要钱,要么只能处理图片,要么在线的传视频又慢又担心隐私。于是干脆自己vibe codi 2026-08-10 Python #Python #AI Coding
Java常用数据结构与方法 Java 常用类与算法函数介绍 本文档聚焦”函数的解释说明”:每个方法都给出 作用 / 签名 / 返回值 / 时间复杂度 / 易错点 / 示例。 一、数组与Arrays工具类 本节讲 Arrays 工具类;先明确数组类型本身: 数组类型基础(int[] / 二维数组): 语法 说明 易错点 int[] a = new 2026-08-08 Java #数据结构 #算法 #Java
Hexo博客持续更新指南 Hexo博客持续更新与双仓库备份指南 适用对象:已搭好 Hexo 博客、希望在新电脑 / 新环境下继续发布文章,并用两个 GitHub 仓库做「源码」与「站点」分离备份的用户。环境前提:本机已安装 Node.js 与 Git(本文不展开 Node / Git 的安装步骤)。 一、核心概念:源码 vs 站点(为何要两个仓库)一个 Hexo 博客天然包含两份不同的东西: 源 2026-08-06 博客搭建 #Hexo #博客
Shell脚本笔记 前言查看当前窗口是什么shell 1echo $SHELL shell脚本可以一次性执行多条命令,通常脚本文件以.sh结尾,这称为批处理。 注释用#表示,但注意第一行的#!/bin/bash表示以后面的解释器解释执行; 执行方式: 作为可执行文件 12chmod +x name.sh # 加上可执行权限./name.sh # 执行脚本 作为解释器参数 1/bin/bash n 2025-08-20 Linux #Linux #Shell
排序算法总结 一些知识 稳定排序:如果 a 原本在 b 的前面,且 a == b,排序之后 a 仍然在 b 的前面,则为稳定排序。 非稳定排序:如果 a 原本在 b 的前面,且 a == b,排序之后 a 可能不在 b 的前面,则为非稳定排序。 原地排序:指在排序过程中不申请多余的存储空间,只利用原来存储待排数据的存储空间进行比较和交换。 非原地排序:需要利用额外的数组来 2024-07-31 数据结构与算法 #刷题 #总结 #数据结构 #算法 #排序算法 #冒泡排序 #选择排序 #插入排序 #快速排序 #希尔排序 #归并排序 #堆排序 #计数排序 #桶排序 #基数排序
C++后端个人书单 众所周知,书上的知识密度更大~ 类别 书名 作者 数学基础 程序员的数学2 概率统计 [日]平冈和幸 程序员的数学3 线性代数 [日]平冈和幸 C++ C++ Primer(中文版 第五版) [美]Stanley B. Lippman Effective C++ [美]Scott Meyers More Effective C++ [美]Scott Meye 2024-07-01 书单 #计算机学习 #学习路线 #书单