算法 垃圾 阶段jvm

位运算在排序算法中的运用

### 常规选择排序 ```javascript function selectSort(arr: Number[]) { //先排除一些不需要排序的情况 if (!arr || arr.length 现有N个数,除了唯一的一个数出现的次数是奇数,其他的均是出现了偶数次的数,现在请编程找出这个出现奇 ......
算法

Tarjan算法

## Tarjan算法与无向图连通性 ### 一、割点和桥的定义 给定一个无向连通图 $ G = (V,E) $ 若对于 $x \in V$ , 如果从图中删去节点 $x$ 以及与 $x$ 相连的边后,$ G $ 分裂成两个或者多个不相连的连通块,那么就说这个点是一个**割点**; 若对于 $e \ ......
算法 Tarjan

选择排序算法之泛型优化

选择排序算法 工作原理: 每一次从待排序的数据元素中选中最小的一个元素,然后,再从剩余未排序元素中继续寻找最小元素,将2个元素交换位置,就达到了已排序的元素一直是从小到大了。 这个算法的时间复杂度为O(n²),空间复杂度为O(1)。 /** * @Author: 翰林猿 * @Description ......
算法

代码随想录算法训练营第十五天|102. 二叉树的层序遍历、226. 翻转二叉树、101. 对称二叉树

【参考链接】 102. 二叉树的层序遍历 【注意】 1.队列先进先出,符合一层一层遍历的逻辑,而用栈先进后出适合模拟深度优先遍历也就是递归的逻辑。而这种层序遍历方式就是图论中的广度优先遍历,只不过我们应用在二叉树上。 2.遍历的时候要记录队列的大小。就可以知道哪些元素是第几层的。 3.记得首先要判断 ......
随想录 训练营 随想 算法 代码

2023.5.25——软件工程站立会议(阶段二)

站立会议内容: 1.整个项目预期的任务量: 目前已经花的时间: 剩余的时间: 2.任务看板照片: 3.团队照片: 4.产品状态: 最新做好的功能: 正在完成中 5.燃尽图: ......
软件工程 阶段 会议 工程 软件

PPO算法的一个简单实现:对话机器人

综上,PPO算法是一种具体的Actor-Critic算法实现,比如在对话机器人中,输入的prompt是state,输出的response是action,想要得到的策略就是怎么从prompt生成action能够得到最大的reward,也就是拟合人类的偏好。具体实现时,可以按如下两大步骤实现 首先定义4 ......
机器人 算法 机器 PPO

算法导论阅读记录

#### $\color{red}{不正确的算法如果其错误率可以被控制的情况下肯是很有用的}$ [动态图解排序算法](https://visualgo.net/zh/sorting) ### 插入排序 对少量元素的排序较为有效,每次选择一个待排序元素,依次与已排序集合比较 伪代码 ``` //从第2 ......
导论 算法

JVM内存结构

JVM内存结构由五部分组成: 堆:java堆是所有线程共享的一块内存,几乎所有的对象实例和数组都要在堆中分配内存,因此该区域也经常发生垃圾回收操作。 方法区:存放已被加载的类信息。比如:常量、静态变量等。 虚拟机栈:线程私有的,每个方法执行时都会创建一个栈帧,用来存储局部变量、操作数、动态链接以及方 ......
内存 结构 JVM

三维装箱之遗传算法讲解

遗传算法 在达尔文提出来“物竞天择,适者生存”的生物进化理论的基础上,美国Michigan大学教授Jolm Holland在1975年作为第一个提出了基本遗传算法的概念,遗传算法实质上就是一种随机搜索类型的算法,又称random searchingalgorithms,这种算法所使用机制大致和生物自 ......
算法

非极大值抑制(NMS)算法详解

NMS(non maximum suppression)即非极大值抑制,广泛应用于传统的特征提取和深度学习的目标检测算法中。 NMS原理是通过筛选出局部极大值得到最优解。 在2维边缘提取中体现在提取边缘轮廓后将一些梯度方向变化率较小的点筛选掉,避免造成干扰。 在三维关键点检测中也起到重要作用,筛选掉 ......
极大值 算法 NMS

学习笔记-JVM

# JVM的位置 JVM是运行在操作系统上的虚拟机,存在于JRE当中 # JVM的类型 * HotSpot * Sun公司 * 用的基本都是这个 * JRockit * BEA * J9VM * IBM # JVM的体系结构 ![JVM8.png](https://img1.imgtp.com/20 ......
笔记 JVM

哈希算法

哈希算法 哈希算法 哈希算法(Hash)又称摘要算法(Digest),它的作用是:对任意一组输入数据进行计算,得到一个固定长度的输出摘要。 哈希算法最重要的特点就是: 相同的输入一定得到相同的输出; 不同的输入大概率得到不同的输出。 哈希算法的目的就是为了验证原始数据是否被篡改。 Java字符串的h ......
算法

第六章.数据结构与算法基础(重点)

上午下午都会考,且难度最高 重点:线性表、树与二叉树、排序与查找、算法基础及常见算法 第一节.数组与稀疏矩阵 数组 主要考察一维二维数组存储地址的计算 一维数组存储地址计算:a+i*len;i为索引号,len是每个位置所占的内存大小 二维数组存储地址计算(分为按行优先和按列优先):如五行五列的二维数 ......
数据结构 算法 重点 结构 基础

python如何利用算法解决业务上的【分单问题】

分单是很多企业日常工作中非常典型的一项内容,它非常复杂,但同时又极为重要,如何合理的分单是企业管理中一个很重要的课题。 之所以说分单很复杂,是因为影响单据该分给谁,分多少量这个事儿本身就有太多的影响因子;一旦管理者在分单的公平性上出现大的问题,厚此薄彼了,往大了讲,员工的做事积极性有可能都会被挫伤。 ......
算法 业务 python 问题

各种排序算法的快速了解

冒泡排序 算法描述 重复地比较要排序的数列,一次比较两个元素,如果后者较小则与前者交换元素。 比较相邻的元素,如果前者比后者大,则交换两个元素。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。 针对所有的元素重复以上的步骤,除了最后一个。 快速排序 快速排序算法通过多次比较和交换来实现 ......
算法

2023.5.24——软件工程站立会议(阶段二)

站立会议内容: 1.整个项目预期的任务量: 目前已经花的时间: 剩余的时间: 2.任务看板照片: 3.团队照片: 4.产品状态: 最新做好的功能: 正在完成中 5.燃尽图: ......
软件工程 阶段 会议 工程 软件

算法day1

暴力解 二分查找 直接fast遍历数组,不要用for循环i遍历, ......
算法 day1 day

Graph Embedding:LINE算法

背景 如上图所示,结点6和7是相邻结点,他们应该是相似结点,结点5和6虽然不是相邻结点,但是它们有共同的相邻的结点,因此它们也应该是相似结点。 基于词观察,LINE算法提出了一阶相似性算法和二阶相似性算法 First-order 我们首先如如下公式来计算结点i和j的联合概率分布: 其中ui,uj​分 ......
算法 Embedding Graph LINE

二分图匹配算法

匈牙利算法、Hopcroft-Karp算法和Kuhn-Munkres算法是三种常见的二分图匹配算法,它们在实现方式、时间复杂度和适用场景上有所差异。以下是它们的区别和优缺点: 1. 匈牙利算法: - 实现方式:匈牙利算法使用深度优先搜索(DFS)来寻找增广路径,通过不断更新匹配的顶点对来找到最大匹配 ......
算法

JUC:cas 算法、原子类、原子引用类

### 什么是 CAS + 全称是 Compare-And-Swap,对数据进行 **原子性** 操作,sun.misc.Unsafe 类的各个 native 方法实现的 + 比较当前工作内存中的值和主内存中的值,如果相同则执行规定操作,否则什么都不做或者重来一次,重来就是自旋锁了 [java各种锁 ......
原子 算法 JUC cas

算法-给你两个非空的链表,请你将两个数相加,并以相同形式返回一个表示和的链表

## 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' ``` ......
字符串 算法 字符

以太网监听算法

1.非坚持算法:若信道忙,则放弃监听,后退一段随机时间后再重新发送.这种方法重新冲突的概率低,但是会引入过多的信道延迟,浪费信道的带宽 2.坚持算法:若信道忙,则继续监听,知道信道空闲就发送.这种方法冲突的概率高,但是可以减少发送延迟 3.P坚持算法:若信道忙,则以概率P继续监听,或以概率P-1放弃 ......
以太网 算法

exgcd|扩展欧几里得算法|扩展欧几里得算法证明 一文说明白

## exgcd 扩展欧几里得算法(Extended Euclidean algorithm, EXGCD),常用于求 $ax+by=\gcd(a,b)$ 的一组可行解。 > 部分选自[OI Wiki](https://oi-wiki.org/math/number-theory/gcd/#%E6% ......
算法 exgcd

免疫算法——仓储中心选址问题(文献详解)

恰逢学术论文课要求做文献解读分享,选用了自己感兴趣的智能算法领域文献《基于免疫算法的煤炭生产物流仓储中心选址研究》(徐超),做了一下免疫算法的形象解释说明,其实就是遗传算法的改进算法,希望对诸君有用。 ...... (三)模型求解 论文采用免疫算法(Immune Algorithm)对模型进行求解, ......
算法 文献 问题

贪心算法

//区间选点 //数轴上有 n 个闭区间 [a_i, b_i]。取尽量少的点,使得每个区间内都至少有一个点(不同区间内含的点可以是同一个) // //Input //第一行1个整数N(N<=100) //第2~N+1行,每行两个整数a,b(a,b<=100) // INPUT :2 //1 5 // ......
算法

基础算法大全(更新ing

1 前缀和 /// 给定一组数,求任意区间的总和 #include<bits/stdc++.h> using namespace std; const int N=100010; int n,a[N],s[N],m; int main() { cin>>n>>m; for(int i=1;i<=n; ......
算法 基础 大全 ing

搜索算法

//DPS(深度搜索) //n-皇后问题 //方法一(与数字全排列相似) #include<bits/stdc++.h> using namespace std; const int N = 80; int n,res=0; char Q[N][N]; bool cow[N],dg[N],rdg[N ......
算法

图的算法

图的存储结构: (1) 邻接矩阵 1 typedef struct{ 2 int no;//顶点编号 3 char data[MAXL];//顶点其他信息 4 }VertexType;//顶点类型 5 typedef struct{ 6 int edges[MAXV][MAXV];//边数组 7 i ......
算法