算法 垃圾 阶段jvm
【校招VIP】java语言考点之jvm内存结构
考点介绍:jvm虚拟机相关内容是校招的高频考点之一,Java虚拟机,准确来说是Java二进制字节码的运行环境,jvm是一套规范,用来执行class文件,保证Java语言跨平台... 一、考点题目 1、描述一下JVM加载class文件的原理机制? 解答:JVM中类的装载是由类加载器(ClassLoad ......
代码随想录算法训练营第二十天| 654.最大二叉树 617.合并二叉树 700.二叉搜索树中的搜索 98.验证二叉搜索树
654.最大二叉树 卡哥建议:又是构造二叉树,昨天大家刚刚做完 中序后序确定二叉树,今天做这个 应该会容易一些, 先看视频,好好体会一下 为什么构造二叉树都是 前序遍历 题目链接/文章讲解:https://programmercarl.com/0654.%E6%9C%80%E5%A4%A7%E4%B ......
排序算法
1. 常用排序 1.1 归并排序 1.2 快速排序 快速排序优化 1.3 堆排序 2. 低级排序 2.1 冒泡排序 2.2 直接插入排序 2.3 希尔排序 3. 基于比较的排序算法时间复杂度下限证明 4. 排序算法会出现不稳定的状态原因 5. 非比较排序 5.1 计数排序 5.2 桶排序 5.3 基 ......
扁扁笨算法-AVL树的插入与删除
# 扁扁笨算法-AVL树的插入与删除 ## 扁扁笨简述 扁扁笨算法是将不平衡子树打成一条中序遍历的直链(实质是一条升序链),然后按照寻找中点并提起中点构造二叉树的一种朴素做法。扁扁笨算法是一种确定平衡树调整结构之后填入数字的辅助手段,本身并没有什么出彩的地方。 ## 理论简介 AVL树插入之后一般会 ......
扁扁笨算法-B树的插入与删除
# 扁扁笨算法-B树的插入与删除 ## 扁扁笨简述 扁扁笨算法是将不平衡子树打成一条中序遍历的直链(实质是一条升序链),然后按照寻找中点并提起中点构造二叉树的一种朴素做法。扁扁笨算法是一种确定平衡树调整结构之后填入数字的辅助手段,本身并没有什么出彩的地方。 ## 理论简介 B树是一种强结构弱数据的数 ......
【图论#02】岛屿数量,flood fill算法的代码实现与优化
### 岛屿数量 给你一个由 `'1'`(陆地)和 `'0'`(水)组成的的二维网格,请你计算网格中岛屿的数量。 岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。 此外,你可以假设该网格的四条边均被水包围。 **示例 1:** ``` 输入:grid = [ ["1" ......
使用MD5算法和sha512sum校验和检验文件完整性
[TOC] # 一.前言 在我们日常生活中,无论是下载文件、传输数据还是备份重要信息,如何确保数据的完整性始终是一个不能忽视的问题。本文将向大家介绍如何使用MD5算法和sha512sum校验和来进行文件完整性的验证。 # 二.MD5算法简介 MD5算法,全称Message-Digest Algori ......
c++算法之哈希表
啥是哈希表 哈希表,类似散列表,是一种存储数据的一种方式。只能说是有点奇葩。 他是通过将值转换成数组的下标,也就是f[x]=x的意思,大家估计都能理解吧😃。 所以他可以通过这样的方式存储后遍历数组就可以发现他家可以自动排序,而且只需O(n)时间复杂度。 但是所需要的空间式数据中的最大值。 输入数据 ......
数据结构与算法八股
讲一讲插入排序 讲一讲冒泡排序 讲一讲快速排序 讲一讲堆排序 讲一讲归并排序 dp dp数组的定义及含义:dp[num1.length+1][num2.length+1],为什么要+1呢,因为我们要判断他与前面的关系涉及到i-1,所以遍历需要从1开始 return的是什么 如果初始化时候size+1 ......
FlashAttention算法详解
这篇文章的目的是详细的解释Flash Attention,为什么要解释FlashAttention呢?因为FlashAttention 是一种重新排序注意力计算的算法,它无需任何近似即可加速注意力计算并减少内存占用。所以作为目前LLM的模型加速它是一个非常好的解决方案,本文介绍经典的V1版本,最新的 ......
【算法】用c#实现自定义字符串编码及围栏解码方法
编写一个函数/方法,它接受2个参数、一个字符串和轨道数,并返回ENCODED字符串。 编写第二个函数/方法,它接受2个参数、一个编码字符串和轨道数,并返回DECODED字符串。 然后使用围栏密码对其进行解码。 这种密码用于通过将每个字符沿着一组“竖状轨道”依次放在对角线上来对字符串进行编码。首先开始 ......
分布式共识算法之Raft设计与实现
### 如何理解分布式共识? 多个参与者 针对 某一件事 达成完全 一致 :一件事,一个结论 已达成一致的结论,不可推翻 ### 有哪些分布式共识算法? - Paxos:被认为是分布式共识算法的根本,其他都是其变种,但是 Paxos 论文中只给出了单个提案的过程,并没有给出复制状态机中需要的 mul ......
Bcrypt加密算法相关
### 简介 Bcrypt是一个跨平台的文件加密工具,由它加密的文件可在所有支持的操作系统和处理器上进行转移。它的口令必须是8至56个字符,并将在内部被转化为448位的密钥。spring-security内部就是使用这个算法来对用户密码加密的(BCryptPasswordEncoder)。 ### ......
CGAL入门——凸壳算法
一、凸壳算法 凸壳是能包含点集合的最小凸多边形,即凸壳是点集合的一个子集,将这个子集的点连接起来可以包含点集中所有的点。 二、数组中点的凸壳 #include <iostream> #include <CGAL/Exact_predicates_inexact_constructions_kerne ......
2023-08-20:用go语言写算法。给定一个由'W'、'A'、'S'、'D'四种字符组成的字符串,长度一定是4的倍数, 你可以把任意连续的一段子串,变成'W'、'A'、'S'、'D'组成的随意状
2023-08-20:用go语言写算法。给定一个由'W'、'A'、'S'、'D'四种字符组成的字符串,长度一定是4的倍数, 你可以把任意连续的一段子串,变成'W'、'A'、'S'、'D'组成的随意状态, 目的是让4种字符词频一样。 返回需要修改的最短子串长度。 完美走位问题。 输入:s = "QQQ ......
JVM内存模型深度剖析与优化
JDK体系结构 Java语言的跨平台特性 JVM整体结构及内存模型 二、JVM内存参数设置 Spring Boot程序的JVM参数设置格式(Tomcat启动直接加在bin目录下catalina.sh文件里): java ‐Xms2048M ‐Xmx2048M ‐Xmn1024M ‐Xss512K ‐ ......
JVM指令手册
栈和局部变量操作 将常量压入栈的指令 aconst_null 将null对象引用压入栈 iconst_m1 将int类型常量-1压入栈 iconst_0 将int类型常量0压入栈 iconst_1 将int类型常量1压入操作数栈 iconst_2 将int类型常量2压入栈 iconst_3 将int ......
Prim算法是一种用于解决最小生成树问题的贪心算法。它通过逐步选择边来构建最小生成树,直到包含了所有的顶点。以下是Prim算法的Java代码示例:
```java import java.util.*; class PrimAlgorithm { private static final int INF = Integer.MAX_VALUE; public void primMST(int[][] graph) { int vertices ......
Kruskal算法是一种用于寻找图的最小生成树的贪心算法。它通过按照边的权重递增的顺序选择边,并将其添加到生成树中,同时确保不会形成环路。
Kruskal算法可以通过生活中的例子来解释。我们可以将城市之间的道路网络看作是一个图,每个城市是一个顶点,道路是连接城市的边,而道路的长度可以看作是边的权重。假设我们想要修建一条连接所有城市的最小成本道路网络。 首先,我们需要找到连接城市的所有道路,并按照道路的长度进行排序。然后,我们从最短的道路 ......
扩展欧几里得算法
# 裴蜀定理 对于任意正整数 $a,b$,记 $g=(a,b)$,一定存在整数 $x,y$,使得 $ax+by=g$,且能凑出的数一定是 $g$ 的倍数。 首先由于 $a,b$ 都是 $g$ 的倍数,所以能凑出的数必定是 $g$ 的倍数。 关键在于怎么证明一定存在整数 $x,y$,使得 $ax+by ......
STL容器和算法
[toc] # STL容器和算法 ## 基本概念 标准模板库,主要分为容器、算法、迭代器。 通过迭代器访问容器中的数据,并进行算法操作。 所有代码采用模板类和模板函数的方式。 ## 容器 ### 容器的分类 #### 序列式容器 每个元素都有固定位置,该位置取决于插入时机和地点,和元素值无关。 ve ......
快速幂算法
# 快速幂 洛谷 P1226 【模板】快速幂||取余运算 ```c++ #include using namespace std; typedef long long ll; ll quickpow(ll a, ll b, ll p = 10) { // 计算a的b次方 if (b == 0) re ......
算法总结
# 前言: 有关于算法的一切的大合集 # 基本数据结构及排序方法手撸 - 完全二叉树/满二叉树 - 红黑树 1. 节点分为红色或者黑色; 2. 根节点必为黑色; 3. 叶子节点都为黑色,且为null; 4. 连接红色节点的两个子节点都为黑色(红黑树不会出现相邻的红色节点); 5. 从任意节点出发,到 ......
西农OJ 2021阶段二考试
# Problem A 用一维动态数组实现杨辉三角形 ```c unsigned int *createline(unsigned int *p, int line){ unsigned int * thisline = p+line*(line-1)/2; /* 指向当前行的首地址*/ unsig ......
「Python」第一阶段第七章笔记
# 函数的多返回值 ```python """ 函数的多返回值 """ def my_return(): return 1,2 x,y = my_return() print(x,y,type(x),type(y)) ``` # 函数的多种传参方式 ```python """ 函数的多种传参方式 - ......
「Python」第一阶段第四章笔记
# while循环 ```python """ while 条件: 代码块 """ num = 255; # python没有++和-- while num: print(num) num -= 1 ``` # for循环 ## for基础语法 ```python """ for循环(感觉更像是一个 ......
「Python」第一阶段第三章笔记
# 布尔类型和比较运算符 ```python """ 跳过 """ ``` # if语句 ## 基本格式 ```python """ if语句基本格式 if 条件: 代码块 """ age = int(input("请输入你的年龄: ")) if age >= 18: print("老东西速速爆金币 ......
「Python」第一阶段第二章 笔记
# 字面量 ```python # 字面量: 写在程序中固定的值 print(114514) print(1919810) print("Hello World") ``` # 注释 ```python """ Python中的 多行注释 """ print("多行注释用三个引号开头三个引号结尾") ......
「Python」第一阶段第八章笔记
# 文件的读取操作 # 打开文件 ## open函数 - 打开文件 # 读取文件 ```python open(name,mode,encoding) # 文件名,模式,编码 ``` ## read方法 - 读取文件 ```python file.read(num) # 不传参表示读取所有内容 `` ......
「Python」第一阶段第五章笔记
# 函数的初体验 ```python """ 函数的初体验 """ name = "OrzMiku" print(f"{name}这个名字有{len(name)}个字符长") ``` # 函数的定义 ```python """ 函数的定义 def 函数名(参数表): 函数体 return 返回值 " ......