洪水 算法

Java 实现 FIFO 缓存算法

Java 实现 FIFO 缓存算法 一、什么是 FIFO FIFO(First In, First Out)是一种常见的数据结构,也叫做先进先出队列。它的特点是先进入队列的数据最先出队。 类似于现实中排队买东西的场景,先来的人先排队,先买完商品的人先离开。 在计算机领域,FIFO常用于缓存管理、进程 ......
缓存 算法 Java FIFO

Prophet 时间序列预测算法

Prophet 时间序列预测算法 一、背景 时间序列预测是一种预测未来数据的方法,对于时间序列的分析,我们可以采用传统的统计学方法,例如 ARIMA、Exponential Smoothing等,这些方法通过分析过去的数据建立模型来预测未来的趋势,但是这些方法有一个限制就是必须满足某些假设条件,例如 ......
时间序列 序列 算法 Prophet 时间

Java 实现 LRU 缓存算法

Java 实现 LRU 缓存算法 一、什么是 LRU LRU(Least Recently Used,最近最少使用)是一种缓存算法,其核心思想是将最近最少使用的缓存项移除,以便为更常用的缓存项腾出空间。 在实际应用中,LRU 算法被广泛用于缓存和页面置换。 二、Java 实现 LRU 缓存算法 在 ......
缓存 算法 Java LRU

【算法】哈希算法

1 前言 本节我们来看我们常用的哈希算法哈。 2 为什么要有哈希 假设我们要设计一个系统来存储将员工手机号作为主键的员工记录,并希望高效地执行以下操作: 插入电话号码和相应的信息。(插入) 搜索电话号码并获取信息。(查找) 删除电话号码及相关信息。(删除) 我们可以考虑使用以下数据结构来维护不同电话 ......
算法

【算法】页面替换算法

1 前言 功能:当缺页中断发生,需要调入新的页面而内存已满时,选择内存当中哪个物理页面被置换。 目标:尽可能地减少页面的换进换出次数(即缺页中断的次数)。具体来说,把未来不再使用的或短期内较少使用的页面换出,通常只能在局部原理指导下依据过去的统计数据来进行预测。 2 最优页面替换算法 基本思路:当一 ......
算法 页面

从分布式共识算法到区块链共识机制

英文原文链接:https://medium.com/datadriveninvestor/from-distributed-consensus-algorithms-to-the-blockchain-consensus-mechanism-75ee036abb65 From Distributed ......
共识 区块 分布式 算法 机制

Stoer-Wagner 算法

刚才可能是有用算法。这次是无用算法。 无向图的最小割是最小的边集使得割掉后不连通。Stoer-Wagner 算法可以在 $O(n^3)$ 复杂度内解决无向图最小割。或者说实际上是 $O(nm\log m)$。 首先有一句废话:对于任意两点 $s,t$ ,割掉最小割后,或者处于一个连通块,或者处于不同 ......
Stoer-Wagner 算法 Wagner Stoer

06 ETH-挖矿算法

《区块链技术与应用》课程链接:https://www.bilibili.com/video/BV1Vt411X7JF/?spm_id_from=333.337.search-card.all.click 06 ETH-挖矿算法 挖矿是保障区块链安全的一个重要手段。 Blockchain is sec ......
算法 ETH 06

项目实践:我在嵌入式控制上对PID算法的理解

关于PID算法的碎碎念(我也不知道咋说明)。 笔者:czg-bky 全文:我在嵌入式控制上对PID算法的理解 - czg-bky - 博客园 (cnblogs.com) ......
嵌入式 算法 项目 PID

分别使用SAD匹配,NCC匹配,SSD匹配三种算法提取双目图像的深度信息

1.算法仿真效果 matlab2022a仿真结果如下: 2.算法涉及理论知识概要 深度学习的蓬勃发展得益于大规模有标注的数据驱动,有监督学习(supervised learning)推动深度模型向着性能越来越高的方向发展。但是,大量的标注数据往往需要付出巨大的人力成本,越来越多的研究开始关注如何在不 ......
双目 算法 深度 图像 信息

最近公共祖先 Tarjan算法

例题:洛谷P3379 【模板】最近公共祖先(LCA) https://www.luogu.com.cn/problem/P3379 tarjan算法是利用了并查集来求LCA的,时间复杂度比倍增低,是O(n+m) #include<iostream> #include<vector> #include ......
祖先 算法 Tarjan

算法3:质数的个数

一、质数的定义 质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。 二、判断质数的方法 1 for(int j = 2; j < i; j ++) { 2 if(i % j == 0) 3 break; 4 if(i == j) 5 cout << i << " "; 6 } 三 ......
质数 算法 个数

最近公共祖先 倍增算法

求最近公共祖先(Lowest Common Ancestor,LCA) 例题:洛谷P3379 【模板】最近公共祖先(LCA) https://www.luogu.com.cn/problem/P3379 基本思路就是先用倍增把两点升到同一深度,然后倍增来找最近公共祖先。 其中fa数组是关键 #inc ......
祖先 算法

推荐算法的知识框架【更新中】

几年前刚进入行业时,就简单认为不过是wide&deep做精排,双塔FM做召回做粗排,再加上一些周边项目,比如冷启动和多模型融合调参,就组成了一个完整的推荐系统算法部分。再回头思考这一切,不再迷失在各式各样的实现细节中,关注本质,有了更广泛的认识,分为一下几个部分。 1. 建模方法 多阶段的推荐系统如 ......
算法 框架 知识

整理一些学过的数据结构和算法

匆匆忙忙中学了很多算法,但基本都是打个板子~~就跑路了~~,有些算法有个人比较深入和独特的见解,但大部分,只是实现例题的需求,对算法的作用似懂非懂,所以写篇博客整理一下。 无旋平衡树(treap) 高级数据结构:树和堆 可以允许的操作:插入,删除,查询某数排名,查询某排名的树(第K大),求某数的前驱 ......
数据结构 算法 结构 数据

【字节二面算法】NO662 二叉树最大宽度

[字节二面算法] 662. 二叉树最大宽度 给你一棵二叉树的根节点 root ,返回树的 最大宽度 。 树的 最大宽度 是所有层中最大的 宽度 。 每一层的 宽度 被定义为该层最左和最右的非空节点(即,两个端点)之间的长度。将这个二叉树视作与满二叉树结构相同,两端点间会出现一些延伸到这一层的 nul ......
宽度 字节 算法 662 NO

「学习笔记」SPFA 算法的优化

与其说是 SPFA 算法的优化,倒不如说是 Bellman-Ford 算法的优化。 栈优化 将原本的 bfs 改为 dfs,在寻找负环时可能有着更高效的效率,但是最坏复杂度为指数级别。 void dfs_spfa(int u) { if (fg) return; vis[u] = true; for ......
算法 笔记 SPFA

线索化二叉树的递归算法

// 线索化二叉树的递归算法 #include <stdio.h> #include <malloc.h> typedef struct BiTNode { int data; struct BiTNode *lchild, *rchild; // 存储二叉树的左孩子和右孩子 } BiTNode, ......
算法 线索

m分别使用meanshift和camshift两种算法实现人员跟踪并输出人员移动曲线matlab仿真

1.算法仿真效果 matlab2022a仿真结果如下: 2.算法涉及理论知识概要 meanshift算法其实通过名字就可以看到该算法的核心,mean(均值),shift(偏移),简单的说,也就是有一个点 ,它的周围有很多个点 我们计算点 移动到每个点 所需要的偏移量之和,求平均,就得到平均偏移量,( ......
人员 算法 曲线 meanshift camshift

文心一言 VS chatgpt (13)-- 算法导论3.1 8题 3.2 1题

八、可以扩展我们的记号到有两个参数n和m的情形,其中的n和m可以按不同速率独立地趋于无穷。对于给定的函数g(n, m),用O(g(n, m))来表示以下函数集: O(g(n, m)) = { f(n, m): 存在正常量c、和,使得对所有n>=n0或m>=m0,有 0<=f(n,m)<=cg(n,m ......
文心 导论 算法 chatgpt 3.1

数据结构与算法复习--(2)

#算法和算法分析 算法的定义 对特定问题求解方法和步骤的一种描述,它是指令的有限序列。其中每个指令表示一个或多个操作。 算法的描述 自然语言:英语、中文 流程图:传统流程图、NS流程图 **伪代码:类语言:**类C语言 **程序代码:**C语言程序、Java语言程序 算法与程序 算法是解决问题的一种 ......
数据结构 算法 结构 数据

算法入门

算法介绍 算法(Algorithm):⼀个计算过程,解决问题的⽅法 Niklaus Wirth: “程序=数据结构+算法” 时间复杂度 简单总结 时间复杂度是⽤来估计算法运⾏时间的⼀个式⼦(单位)。 ⼀般来说,时间复杂度⾼的算法⽐复杂度低的算法慢。 常⻅的时间复杂度(按效率排序):O(1)<O(lo ......
算法

ssh key exchange算法问题

系统ssh服务器和xshell版本不匹配 解决: 1、升级ssh 2、更换xshell ......
算法 exchange 问题 ssh key

Gradio:轻松实现AI算法可视化部署

如何将你的AI算法迅速分享给别人,让对方体验,一直是一件麻烦事儿。 首先大部分人都是在本地跑代码,让别人使用你的模型,以往有这三种方案: 上github 将代码打包或者封装成docker后,用QQ/百度云/U盘传输 学习前后端知识,写个前端界面,买个域名,用flask这样微服务框架快速部署,看情况结 ......
算法 Gradio

数据结构与算法基础复习--(1)

#基本术语 ##1.数据(Data) 数据 是能输入计算机且能被计算机处理的各种符号的集合 信息的载体 是对客观事物符号化的表示 能够被计算机识别、存储和加工 包括: 数值型的数据:整数、实数等 非数值型的数据:文字、图像、图形、声音等 ##2.数据元素 数据元素 是数据的基本单位,在计算机程序中通 ......
数据结构 算法 结构 基础 数据

人体跟踪算法的描述

因为前一部分创新点用的是人体姿态估计,所以输出必定是关键点坐标,因此跟踪部分必须是关键点跟踪。 方法一:对前一帧和后一帧比较,进行相似度匹配。这样是无法解决遮挡问题的。看过多篇文章都是基于这个思路。 方法二:选取一个关键点去表示人体去跟所有帧所有人进行相似度估计。 ......
算法 人体

二分算法

整数二分 二分与单调性的关系: 如果有单调性, 一定可以二分; 可以二分的题目, 不一定非得有单调性 二分的本质: 边界 在区间上定义了某种性质, 该性质在区间右半边满足, 左半边不满足, 使整个区间一分为二 二分可以寻找性质的边界(既可以寻找边界 i , 也可以寻找边界 j ) ① 寻找边界 i ......
算法

欧几里得算法和扩展欧几里得算法

欧几里得算法基本原理和证明 代码实现: #include<iostream> using namespace std; int gcd(int a,int b){ return b?gcd(b,a%b):a; } int main(){ int x,y; cin>>x>>y; cout<<gcd(x ......
算法

排序算法

快速排序 //快速排序算法模板 void quick_sort (int q[],int l,int r) { if(l>=r)return; int i=l-1,j=r+1,x=q[l]; //x=q[r] while(i<j) { do i++; while(q[i]<x); do j--; w ......
算法

大话AI绘画技术原理与算法优化

引子 博主很长一段时间都没有发文,确实是在忙一些技术研究。 如标题所示,本篇博文主要把近段时间的研究工作做一个review。 看过各种相关技术的公关文章,林林总总,水分很多。 也确实没有多少人能把一些技术细节用一些比较通俗的语言阐述清楚。 故此,再一次冠以大话为题,对AI绘画主要是stable di ......
算法 绘画 大话 原理 技术