算法 随想录 柠檬水 队列

最小生成树(Kruskal和Prim算法)

最小生成树(Kruskal和Prim算法) 部分资料来源于:最小生成树(Kruskal算法)_kruskal算法求最小生成树-CSDN博客、【算法】最小生成树——Prim和Kruskal算法-CSDN博客 关于图的几个概念定义: 连通图:在无向图中,若任意两个顶点vi与vj都有路径相通,则称该无向图 ......
算法 Kruskal Prim

Dijkstra算法

Dijkstra算法 1.算法基本介绍 Dijkstra 算法是一个基于「贪心」、「广度优先搜索」、「动态规划」求一个图中一个点到其他所有点的最短路径的算法,时间复杂度 O(n2)。 Dijkstra算法通常是求解单源最短路中最快的算法,但它无法处理存在负权边的情况(原因在正确性证明中)。Dijks ......
算法 Dijkstra

算法总结

贪心算法 解决问题:最优化问题; 优点:是解决最优化问题的最优策略,时间复杂度低; 缺点:要满足局部最优解可以推出全局最优解,这意味着在考场上想出一个贪心策略需要通过举例以及证明。 常见思考方式: 如果是决定谁先做谁后做的,类比排队问题,邻项交换;如果先后有限制关系,比如谁先做谁后做,那么通常套路还 ......
算法

蓝桥杯第三周算法竞赛D题&&E题

发现更多计算机知识,欢迎访问Cr不是铬的个人网站 D迷宫逃脱 拿到题目一眼应该就能看出是可以用动态规划来解决。但是怎么定义dp呢? 这个题增加难度的点就在当所在位置与下一个要去的位置互质的时候,会消耗一把钥匙。当没有钥匙的时候就不能移动了。想到这里,我们可以定义一个三维的dp数组. 定义dp dp[ ......
蓝桥 算法 amp

算法~totp用作签名防止url被复用

之前写过关于totp的文章,对它的基础有不清楚的同学,可以先看我的这篇文章《TOTP基础一》《TOTP基础二》 想到的问题 因为totp是把时间分成了一个一个小的时间窗口,当生成totp的服务器和校验totp的服务器不在一起时间窗口,就会出现验证失败的问题,这是不可避免的,时间戳是一个long类型的 ......
算法 totp url

树算法题

目录 1、计算二叉树中所有结点个数 2、计算二叉树中所有叶子节点的个数 3、计算二叉树中所有双分支的节点个数 4、计算二叉树的深度 5、找出二叉树中最大值的点 6、判断两个二叉树是否相似(指都为空或者都只有一一个根节点,或者左右子树都相似) 7、把二叉树所有节点左右子树交换 8、输出先序遍历第k个结 ......
算法

【C++】【图像处理】形态学处理(腐蚀、膨胀)算法解析(以.raw格式的图像为基础进行图像处理、gray levels:256)

1 void erosion(BYTE* image, int w, int h, BYTE* outImg) 2 { 3 int rept; 4 //腐蚀 5 memcpy(outImg, image, sizeof(BYTE) * w * h); //将读取的图像赋值给outImg,方便进行腐蚀 ......
图像 图像处理 形态学 算法 形态

分治算法

1、基本介绍 分治算法是非常重要的一种算法,基本思想就是将一个大问题化解成俩个或多个子问题,直到子问题可以直接求解为止,将每个子问题的解合并。如:归并排序,汉诺塔问题,快速排序... 2、基本步骤 分治法在每一层递归上都有三个步骤: (1)、分解:将原问题分解为若干个规模较小,相互独立,与原问题形式 ......
算法

随机产生n个数的排列(Fisher-Yates洗牌算法)

#include <bits/stdc++.h> using namespace std; const int N = 1e5 + 10; int a[N]; // Fisher-Yates洗牌算法 void shuffle(int n) { srand(time(NULL)); for (int ......
Fisher-Yates 算法 个数 Fisher Yates

使用 PPO 算法进行 RLHF 的 N 步实现细节

当下,RLHF/ChatGPT 已经变成了一个非常流行的话题。我们正在致力于更多有关 RLHF 的研究,这篇博客尝试复现 OpenAI 在 2019 年开源的原始 RLHF 代码库,其仓库位置位于 openai/lm-human-preferences。尽管它具有 “tensorflow-1.x” ......
算法 细节 RLHF PPO

由数据范围反推算法复杂度以及算法内容

由数据范围反推算法复杂度以及算法内容 一般ACM或者笔试题的时间限制是1秒或2秒。 在这种情况下, \(\mathrm{C}++\) 代码中的操作次数控制在 \(10^{7} \sim 10^{8}\) 为最佳。 下面给出在不同数据范围下,代码的时间复杂度和算法该如何选择: \(n \leq 30\ ......
复杂度 算法 范围 内容 数据

文心一言 VS 讯飞星火 VS chatgpt (136)-- 算法导论11.3 2题

二、用go语言,假设将一个长度为r的字符串散列到m 个槽中,并将其视为一个以 128 为基数的数,要求应用除法散列法。我们可以很容易地把数 m 表示为一个 32 位的机器字,但对长度为r的字符串,由于它被当做以 128 为基数的数来处理,就要占用若干个机器字。假设应用除法散列法来计算一个字符串的散列 ......
文心 导论 算法 chatgpt VS

算法刷题记录-哈希表

算法刷题记录-哈希表 有效的字母异位词 给定两个字符串 *s* 和 *t* ,编写一个函数来判断 *t* 是否是 *s* 的字母异位词。 注意:若 *s* 和 *t* 中每个字符出现的次数都相同,则称 *s* 和 *t* 互为字母异位词。 示例 1: 输入: s = "anagram", t = " ......
算法

activemq 配置延时队列

conf/activemq.xml 新增配置 <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}" schedulerSupport ......
队列 activemq

setTimeout可以将字符串当成代码执行,类比eval函数。当遇到setTimeout或者SetInterval,他们会进入宏任务队列,此时,函数不执行,但是他们的时间会开始计算

请问以下JS代码的输出顺序是? let date = new Date() setTimeout(() => { console.log('1') }, 2000) setTimeout('console.log(2)',1000); setTimeout(function() { console. ......

数据结构与算法 | 动态规划算法(Dynamic Programming)

上一篇文末已经提到了记忆化搜索是动态规划(Dynamic Programming)的一种形式,是一种自顶向下(Top-Down)的思考方式;既然动态规划有自顶向下(Top-Down)的递归形式,自然想到对应的另外一种思考方式自底向上( Bottom-Up )。什么是自底向上的思考?不空谈理论... ......

KMeans算法全面解析与应用案例

本文深入探讨了KMeans聚类算法的核心原理、实际应用、优缺点以及在文本聚类中的特殊用途,为您在聚类分析和自然语言处理方面提供有价值的见解和指导。 关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云 ......
算法 案例 KMeans

测试开发常见算法题

1.冒泡排序 def faet_sort(test: list) -> list: """冒泡排序""" for i in range(len(test)): for j in range(len(test)-i-1): if test[j] > test[j + 1]: test[j], test ......
算法 常见

算法~base64算法理解

base64 Base64 是一种用于将二进制数据编码成 ASCII 字符的编码方式。它主要用于在文字环境中传输或存储二进制数据,如在电子邮件、XML 文件、URL 参数等。Base64 编码不是一种加密算法,而是一种编码方式,其主要作用是将二进制数据转换为文本数据,以便更容易在文本协议中处理。 B ......
算法 base 64

对匈牙利算法的一些解释

首先看蓝书上的代码 为什么即将开始dfs时,没有一开始就把vis[i]标记了? 其实dfs的流程是从左部的一个节点出发,考察右部的一个节点,如果右部的节点已经匹配了,下次dfs直接从这个右部节点的匹配点开始计算,所以vis的标记都是标记的右部节点,左部节点是不用标记的(因为是匹配二分图,只会被访问到 ......
算法

队列

#include <stdio.h> #include <stdlib.h> // 队列结点的定义 typedef struct QNode { int data; struct QNode* next; } QNode; // 链式队列的定义 typedef struct { QNode* fro ......
队列

循环队列

一、普通队列(顺序存储结构) 说明:rear指向队尾元素,front指向对头元素的下一个元素。 i.判断元素个数:number=rear-front; ii.判断队空:rear==front iii.插入元素:rear++; iiii.删除元素:front++; iiiii.队满操作:rear==l ......
队列

代码随想训练营第三十六天(Python)| 435. 无重叠区间、763.划分字母区间、56. 合并区间

435. 无重叠区间 class Solution: def eraseOverlapIntervals(self, intervals: List[List[int]]) -> int: intervals.sort(key=lambda x: x[0]) count = 0 for i in r ......
区间 训练营 随想 字母 代码

区域入侵AI算法如何应用在工地场景,保卫工地施工安全?

TSINGSEE青犀智能分析网关区域入侵算法可以预先划定堆放与设备操作区域,并添加设备禁止移动或操作, 来进行检测与报警。 ......
工地 算法 场景 区域

【课程】算法设计与分析——第八周 题解笔记

第八周 算法题解笔记 1极值点 题目描述 给定一个单峰函数f(x)和它的定义域,求它的极值点 该单峰函数f(x)保证定义域内有且只有一个极值点,且为极大值点 题解 本题感觉和dp关系不大,主要思路是三分法,和二分法非常类似,但没有二分法常用,主要用途是用来求单峰函数的极值 对于任意一个上凸函数,选取 ......
题解 算法 课程 笔记

检测重叠时间段的算法 [重复]

内容来自 DOC https://q.houxu6.top/?s=检测重叠时间段的算法 [重复] 我需要检测两个时间段是否重叠。 每个时间段都有一个开始日期和结束日期。 我需要检测我的第一个时间段(A)是否与另一个时间段(B/C)重叠。 在我的情况下,如果B的开始等于A的结束,则它们不重叠(反之亦然 ......
时间段 算法 时间

负载均衡算法

转载:负载均衡算法居然有这么多种!!!负载均衡算法总结_负载均衡算法有哪些_抓手的博客-CSDN博客 负载均衡算法可以分为两类:静态负载均衡算法和动态负载均衡算法,另外还可以自定义负载均衡算法。 静态负载均衡算法1、轮询(Round Robin):服务器按照顺序循环接受请求。2、随机(Random) ......
算法

基于深度学习网络的人员吸烟行为检测算法matlab仿真

1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.算法理论概述 基于Faster R-CNN深度学习网络的人员吸烟行为检测算法是一种利用深度学习技术进行人员吸烟行为检测的方法。该算法主要基于Faster R-CNN网络结构,通过对视频或图像序列中的人员进行目标检测和特征提取, ......
学习网络 算法 深度 行为 人员

基于深度学习网络的火灾检测算法matlab仿真

1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.算法理论概述 火灾检测在许多领域都是一项重要的任务,包括建筑、森林、甚至是太空。近年来,深度学习网络在图像识别和分类上的应用取得了显著的进步,这使得基于深度学习的火灾检测算法变得越来越普遍。下面,我们将详细介绍一种基于卷积神经 ......
学习网络 火灾 算法 深度 matlab

dfs回溯算法,拨号

题目 电话号码的字母组合 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例 1: 输入:digits = "23" 输出:["ad","ae","af","bd","be"," ......
算法 dfs