深入浅出 算法 森林
哈希算法之md5和sha1
MD5(Message Digest Algorithm 5)和SHA1(Secure Hash Algorithm 1)都是常见的哈希算法,用于生成哈希值。然而,它们有一些区别。 哈希长度:MD5生成的哈希值长度为128位(16字节),而SHA1生成的哈希值长度为160位(20字节)。SHA1相对 ......
FIT9136 算法与编程
FIT9136 Algorithms andProgramming Foundations inPythonAssignment 3May 20231Table of Contents1. Key Information2. Instruction2.1. User Class2.2. Custom ......
基于TPC算法的WSN网络资源分配matlab仿真
1.算法仿真效果 matlab2022a仿真结果如下: 2.算法涉及理论知识概要 一个移动通信系统面临的主要问题有三个:由哪些资源组成,资源如何分配?这些资源如何组织形成一个网络,网络架构是什么样子的?各网络组成部分之间如何进行信息交互? 资源及资源分配、网络架构、信息交互是移动通信系统运行的三大要 ......
基于Lucas-Kanade算法的双目图像光流提取matlab仿真
1.算法仿真效果 matlab2022a仿真结果如下: 2.算法涉及理论知识概要 1950年,Gibson首先提出了光流的概念,所谓光流就是指图像表现运动的速度。物体在运动的时候之所以能被人眼发现,就是因为当物体运动时,会在人的视网膜上形成一系列的连续变化的图像,这些变化信息在不同时间,不断的流过眼 ......
算法刷题记录:[NOIP2009]潜伏者
###题目链接 https://ac.nowcoder.com/acm/contest/19306/1051 ###题目分析 用a、b进行映射。map或者模拟都可以。 注意两点即可: - a中的所有字母必须在b中出现,那么我们统计b中的所有字符再来判断a。 - a、b不能矛盾,将b[i]储存在idx ......
如何衡量目标检测算法的优劣
# 如何衡量目标检测算法的优劣 目标检测(object detection)问题相对于一般AI分类问题更加复杂,不仅检测出目标,输出目标的类别,还要定位出目标的位置。分类问题中的简单accuray指标已经不能反映出目标检测问题结果的准确度,而mAP (Mean Average Precision)就 ......
文心一言 VS 讯飞星火 VS chatgpt (22)-- 算法导论4.2 2题
# 二、为Strassen算法编写伪代码。 ## 文心一言: Strassen算法是一种用于矩阵乘法的算法,它的核心思想是通过不断将原始矩阵分割成较小的子矩阵来实现高效的乘法运算。以下是Strassen算法的伪代码: ``` function Strassen(A, B): if A[0][0] = ......
根号算法
文章内容多摘自 [Alex_wei](https://www.cnblogs.com/alex-wei/p/sqrt_algorithms.html) 、 [不分解的AgOH](https://www.bilibili.com/video/BV1zE411673h/?spm_id_from=333. ......
位运算在排序算法中的运用
### 常规选择排序 ```javascript function selectSort(arr: Number[]) { //先排除一些不需要排序的情况 if (!arr || arr.length 现有N个数,除了唯一的一个数出现的次数是奇数,其他的均是出现了偶数次的数,现在请编程找出这个出现奇 ......
Tarjan算法
## Tarjan算法与无向图连通性 ### 一、割点和桥的定义 给定一个无向连通图 $ G = (V,E) $ 若对于 $x \in V$ , 如果从图中删去节点 $x$ 以及与 $x$ 相连的边后,$ G $ 分裂成两个或者多个不相连的连通块,那么就说这个点是一个**割点**; 若对于 $e \ ......
选择排序算法之泛型优化
选择排序算法 工作原理: 每一次从待排序的数据元素中选中最小的一个元素,然后,再从剩余未排序元素中继续寻找最小元素,将2个元素交换位置,就达到了已排序的元素一直是从小到大了。 这个算法的时间复杂度为O(n²),空间复杂度为O(1)。 /** * @Author: 翰林猿 * @Description ......
代码随想录算法训练营第十五天|102. 二叉树的层序遍历、226. 翻转二叉树、101. 对称二叉树
【参考链接】 102. 二叉树的层序遍历 【注意】 1.队列先进先出,符合一层一层遍历的逻辑,而用栈先进后出适合模拟深度优先遍历也就是递归的逻辑。而这种层序遍历方式就是图论中的广度优先遍历,只不过我们应用在二叉树上。 2.遍历的时候要记录队列的大小。就可以知道哪些元素是第几层的。 3.记得首先要判断 ......
PPO算法的一个简单实现:对话机器人
综上,PPO算法是一种具体的Actor-Critic算法实现,比如在对话机器人中,输入的prompt是state,输出的response是action,想要得到的策略就是怎么从prompt生成action能够得到最大的reward,也就是拟合人类的偏好。具体实现时,可以按如下两大步骤实现 首先定义4 ......
算法导论阅读记录
#### $\color{red}{不正确的算法如果其错误率可以被控制的情况下肯是很有用的}$ [动态图解排序算法](https://visualgo.net/zh/sorting) ### 插入排序 对少量元素的排序较为有效,每次选择一个待排序元素,依次与已排序集合比较 伪代码 ``` //从第2 ......
三维装箱之遗传算法讲解
遗传算法 在达尔文提出来“物竞天择,适者生存”的生物进化理论的基础上,美国Michigan大学教授Jolm Holland在1975年作为第一个提出了基本遗传算法的概念,遗传算法实质上就是一种随机搜索类型的算法,又称random searchingalgorithms,这种算法所使用机制大致和生物自 ......
非极大值抑制(NMS)算法详解
NMS(non maximum suppression)即非极大值抑制,广泛应用于传统的特征提取和深度学习的目标检测算法中。 NMS原理是通过筛选出局部极大值得到最优解。 在2维边缘提取中体现在提取边缘轮廓后将一些梯度方向变化率较小的点筛选掉,避免造成干扰。 在三维关键点检测中也起到重要作用,筛选掉 ......
哈希算法
哈希算法 哈希算法 哈希算法(Hash)又称摘要算法(Digest),它的作用是:对任意一组输入数据进行计算,得到一个固定长度的输出摘要。 哈希算法最重要的特点就是: 相同的输入一定得到相同的输出; 不同的输入大概率得到不同的输出。 哈希算法的目的就是为了验证原始数据是否被篡改。 Java字符串的h ......
Go性能调优:深入理解和应用Go pprof
## 摘要: 在开发高性能的Go应用程序时,性能调优是一个重要的环节。Go语言提供了一种强大的性能分析工具——pprof,它可以帮助开发人员定位应用程序中的性能瓶颈。本文将介绍如何使用Go pprof进行性能分析,并提供一些常见的优化技巧,帮助您更好地调优Go应用程序。 ## 引言: Go是一门以高 ......
第六章.数据结构与算法基础(重点)
上午下午都会考,且难度最高 重点:线性表、树与二叉树、排序与查找、算法基础及常见算法 第一节.数组与稀疏矩阵 数组 主要考察一维二维数组存储地址的计算 一维数组存储地址计算:a+i*len;i为索引号,len是每个位置所占的内存大小 二维数组存储地址计算(分为按行优先和按列优先):如五行五列的二维数 ......
python如何利用算法解决业务上的【分单问题】
分单是很多企业日常工作中非常典型的一项内容,它非常复杂,但同时又极为重要,如何合理的分单是企业管理中一个很重要的课题。 之所以说分单很复杂,是因为影响单据该分给谁,分多少量这个事儿本身就有太多的影响因子;一旦管理者在分单的公平性上出现大的问题,厚此薄彼了,往大了讲,员工的做事积极性有可能都会被挫伤。 ......
各种排序算法的快速了解
冒泡排序 算法描述 重复地比较要排序的数列,一次比较两个元素,如果后者较小则与前者交换元素。 比较相邻的元素,如果前者比后者大,则交换两个元素。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。 针对所有的元素重复以上的步骤,除了最后一个。 快速排序 快速排序算法通过多次比较和交换来实现 ......
深入浅出 C++ 11 右值引用
彻底搞清楚:右值引用/移动语义/拷贝省略/通用引用/完美转发 —— 以最短的篇幅,介绍常见误解(什么时候要用 move?什么时候不能 move?为什么 move 失败?)和基础知识(为什么右值引用变量是左值?为什么会调用移动构造函数?),一步步解释“为什么/是什么/怎么做”。 写在前面 如果你还不知 ......
Graph Embedding:LINE算法
背景 如上图所示,结点6和7是相邻结点,他们应该是相似结点,结点5和6虽然不是相邻结点,但是它们有共同的相邻的结点,因此它们也应该是相似结点。 基于词观察,LINE算法提出了一阶相似性算法和二阶相似性算法 First-order 我们首先如如下公式来计算结点i和j的联合概率分布: 其中ui,uj分 ......
二分图匹配算法
匈牙利算法、Hopcroft-Karp算法和Kuhn-Munkres算法是三种常见的二分图匹配算法,它们在实现方式、时间复杂度和适用场景上有所差异。以下是它们的区别和优缺点: 1. 匈牙利算法: - 实现方式:匈牙利算法使用深度优先搜索(DFS)来寻找增广路径,通过不断更新匹配的顶点对来找到最大匹配 ......
JUC:cas 算法、原子类、原子引用类
### 什么是 CAS + 全称是 Compare-And-Swap,对数据进行 **原子性** 操作,sun.misc.Unsafe 类的各个 native 方法实现的 + 比较当前工作内存中的值和主内存中的值,如果相同则执行规定操作,否则什么都不做或者重来一次,重来就是自旋锁了 [java各种锁 ......
算法-给你两个非空的链表,请你将两个数相加,并以相同形式返回一个表示和的链表
## 1.题目描述 https://leetcode.cn/problems/add-two-numbers/?envType=study-plan-v2&envId=top-100-liked 给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数 ......
【算法学习前置】了解JS中的数组
## 介绍 此篇属于前端算法入门系列的第一篇,主要介绍常用的`数组方法`、`字符串方法`、`遍历方法`、`高阶函数`、`正则表达式`以及相关`数学知识`。 **文章主要包含以下内容:** - 数组常用方法 - 字符串常用方法 - 常用遍历方法&高阶函数 - 常用正则表达式 - 数学知识 ## 一、数 ......
【算法学习前置】了解js中的字符串
## 二、字符串常用方法 1. `chat()` 返回指定索引位置处的字符。类似于数组用中括号获取相应下标位置的数据。 ```js const str = 'abcdef' console.log(str.chat(2)) // 'c' console.log(srt[2]) // 'c' ``` ......