洪水 算法

十大排序算法

(前言:嗯,之前是学过一点排序算法的,比如说快排,归并,插入排序,冒泡排序什么的,但是有好多学校也没教,自己学的也不扎实,这次自己一边慢慢写,一边教自己一边,努力把这些搞懂,但我肯定一天是写不完的,所以要多等) # 1 算法分类 ## 1.1 比较排序 graph TD; 比较排序-->交换排序; ......
算法

排序算法代码实现

学习:https://www.bilibili.com/video/BV1fp4y1D7cj/?spm_id_from=333.788.top_right_bar_window_history.content.click&vd_source=46d50b5d646b50dcb2a208d3946b1 ......
算法 代码

前缀函数与 KMP 算法

文本串 $t$,模式串 $s$,$m=|t|,n=|s|$。($|s|$ 表示 $s$ 的长度。) $s[i\dots j]$ 表示 $s$ 从 $i$ 到 $j$ 的子串。 默认字符串下标从 $0$ 开始。 ## 引言 有时我们希望在文本串 $t$ 中查找模式串 $s$。比如你按下 Ctrl+F ......
前缀 算法 函数 KMP

算法刷题:栈、队列(8.29,持续更)

栈 [汉诺塔问题](https://leetcode.cn/problems/hanota-lcci) [最小栈](https://leetcode.cn/problems/min-stack) *** [TOC] *** ## 最小栈 ### 额外空间$O(N)$ #### 辅助栈解法 ```ja ......
队列 算法 8.29 29

【校招VIP】前端算法考点之快慢指针题型

考点介绍: 链表是校招面试里手撕代码出现频度比较高的题型,三线和中小厂会考察简单的链表反转,大厂会进一步考察复杂度和双指针问题,比如中间元素、是否存在环等。 一、考点题目 1.一个长度为n的单向链表,用O(1) 空间复杂度来实现倒转输出,使用最低时间复杂度 解答:单向链表,直接设结点 Node he ......
快慢 题型 考点 前端 指针

[代码随想录]Day31-贪心算法part05

## 题目:[435. 无重叠区间](https://leetcode.cn/problems/non-overlapping-intervals/) ### 思路: 移除最少就是保留最多,和昨天最后一个题一样就是选出最多的不重叠区间。 记住一点——右边界越小,后续可以选取的范围就越大,可能选取到的 ......
随想录 随想 算法 代码 part

进程调度的原理和算法探析

本文探讨了进程调度的原理和算法,并提供了全面的概述。进程调度是操作系统中的重要组成部分,用于决定进程的执行顺序和分配CPU时间。我们讨论了优先级调度和时间片轮转调度算法。优先级调度根据进程的优先级确定执行顺序,可以分为抢占式和非抢占式。时间片轮转调度将CPU时间划分为固定大小的时间片,每个进程在一个... ......
算法 进程 原理

[5]-代码随想录算法训练营-day6-哈希-part1

## 代码随想录算法训练营第六天|哈希表-part1 ### 1.Leecode 242.有效的字母异味词 > 1. 题目 > > - https://leetcode.cn/problems/valid-anagram/ > > 2. 思路 > > - 长26数组,下标0表示'a',25表示'z' ......
随想录 训练营 随想 算法 代码

[4]-代码随想录算法训练营-day4-链表-part2

## 代码随想录算法训练营第四天|链表-part2 ### 1.Leecode 24.两两交换链表中的节点 > 1. 题目 > > - https://leetcode.cn/problems/swap-nodes-in-pairs/ > > 2. 思路 > > - 虚拟头节点 > - `tmp`变 ......
随想录 训练营 随想 算法 代码

[2]-代码随想录算法训练营-day2-数组-part2

## 代码随想录算法训练营第二天|数组-part2 ### 1.LeetCode 997.有序数组的平方 > 1. 题目 > > - https://leetcode.cn/problems/squares-of-a-sorted-array/ > > 2. 思路 > > - 先给原始数组每个数进行 ......
随想录 训练营 数组 随想 算法

[3]-代码随想录算法训练营-day3-链表-part1

## 代码随想录算法训练营第二天|链表 part1 ### 1.LeetCode 203.移除链表元素 > 1. 题目 > > - https://leetcode.cn/problems/remove-linked-list-elements/ > > 2. 思路 > > - 遍历,删 > - 两 ......
随想录 训练营 随想 算法 代码

[1]-代码随想录算法训练营-day1-数组-part1

## 代码随想录算法训练营第一天|数组-part1 ### 1.Leecode 704.二分查找 > 1. 题目 > > - https://leetcode.cn/problems/binary-search/ > > 2. 思路 > > - 二分查找法 > > 3. 刷随想录后想法 > > - ......
随想录 训练营 数组 随想 算法

STL- 常用算法

# 5 STL- 常用算法 **概述**: * 算法主要是由头文件`` `` ``组成。 * ``是所有STL头文件中最大的一个,范围涉及到**比较、 交换、查找、遍历操作、复制、修改**等等 * ``体积很小,只包括几个在序列上面进行简单数学运算的模板函数 * ``定义了一些模板类,用以声明函数对 ......
算法 常用 STL

国密算法SM2的优势、原理和应用场景

在数字化时代,信息安全成为关注的焦点。密码算法是信息安全的核心,而国密算法SM2是一种国产密码算法,已经广泛应用于电子认证、电子签名、数据加密等领域。本文将深入介绍SM2算法的优势、原理和应用场景,并探讨如何利用FuncGPT(慧函数)生成的SM2库构建安全的应用程序。 一、国密算法SM2概述 国密 ......
算法 场景 原理 优势 SM2

LFU算法

# 思路 LFU每个freq对应的集合其实就是个LRU,淘汰K时,会首先选取freq最小的集合,其次选取最久未使用的Key。 更新或者查询时,会将对应的K/V从当前freq提升至freq+1集合的末尾(假如头代表最久未使用)。 ## 插入 ![image](https://img2023.cnblo ......
算法 LFU

进程调度算法

1、批处理系统中的调度 (1)先来先服务: ⾮抢占式的调度算法,按照请求的顺序进⾏调度。 有利于长作业,但不利于短作业,因为短作业必须⼀直等待前⾯的长作业执⾏完毕才能执⾏,⽽长作业又需要执⾏ 很长时间,造成了短作业等待时间过长。 (2)最短作业优先: ⾮抢占式的调度算法,按估计运⾏时间最短的顺序进⾏ ......
算法 进程

文心一言 VS 讯飞星火 VS chatgpt (83)-- 算法导论8.1 4题

# 四、用go语言,假设现有一个包含n个元素的待排序序列。该序列由 n/k 个子序列组成,每个子序列包含k个元素。一个给定子序列中的每个元素都小于其后继子序列中的所有元素,且大于其前驱子序列中的每个元素。因此,对于这个长度为 n 的序列的排序转化为对 n/k个序列中的k个元素的排序。试证明: 这个排 ......
文心 导论 算法 chatgpt VS

Python+协同过滤算法实现一个简单的图书推荐系统

![image](https://img2023.cnblogs.com/blog/1939553/202308/1939553-20230829134349308-508451685.gif) ## 背景介绍 当我们做一些推荐系统网站时,通常需要合适的推荐算法,下面给大家介绍推荐系统中经典的推荐算 ......
算法 Python 图书 系统

素性测试--Miller-Rabin算法

### 引子 今天(23/8/16),老师问了一个有趣的问题: 出道题给大家, 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111113111111111111 ......
素性 Miller-Rabin 算法 Miller Rabin

C++算法

运行前进行卡夫曼滤波(减小机器检测波动的影响) 延迟上机算法 速率法 原理 1、判断最新数据点和前面几个点的差值是否大于设定值 2、判断两点间的斜率k是否大于设定值 3、判断拟合曲线的符合度是否在规定范围内 技术实现 /// \brief 直线拟合-一元回归,拟合的结果可以使用getFactor获取 ......
算法

【数据结构与算法】TypeScript 实现图结构

```ts class Grapg { // 用于存储所有的顶点 verteces: T[] = []; // 用于存储所有的边 采用邻接表的形式 adjList: Map = new Map(); // 添加顶点 addVertex(v: T) { this.verteces.push(v); / ......
结构 数据结构 算法 TypeScript 数据

[代码随想录]Day30-贪心算法part04

## 题目:[860. 柠檬水找零](https://leetcode.cn/problems/lemonade-change/) ### 思路: 收到钱三种情况: 1. 5刀:直接收起来就可以了,不需要找钱 2. 10刀:收到10刀,需要找5刀,如果没有5刀,就返回false,否则5刀-1 3. ......
随想录 随想 算法 代码 part

二维数组和算法

1、⼆维数组 1. 定义: int[][] scores = new int[][]{{80,90,100},{99,88,77},{66,100,88}}; 2. 简写:int[][] scores = {{80,90,100},{99,88,77},{66,100,88}}; 3. 定义⼆: i ......
数组 算法

数据结构与算法之美读书笔记

读书笔记链接 时间复杂度分析 只关注执行次数最多的一段代码 加法法则:总复杂度等于量级最大的那段代码的复杂度 乘法法则:嵌套代码的复杂度等于嵌套内外代码复杂度的乘积 最好、最坏、平均时间复杂度 数组 内存中一块连续的存储空间,有效使用 CPU 的缓存机制,可以很方便的定位元素 在 O(1) 的时间通 ......
数据结构 算法 结构 笔记 数据

二叉树的存储结构和操作算法

## 二叉树的存储结构和操作算法 #### 二叉树的存储结构 ![屏幕截图(299)](https://harper886.oss-cn-qingdao.aliyuncs.com/img/202304101913586.png) **1.顺序存储结构(完全二叉树/满二叉树)** **2.链式存储结构 ......
算法 结构

LRU算法

# 思路 LRU算法,访问/更新/插入都会将数据置于队尾(假设队头淘汰)。 看3种情况的变化: * 插入:简单置于队尾即可。 * 更新:删除原有节点,新增节点置于队尾。 * 访问:将原节点提至队尾。 除了插入只需要简单接到链表尾部以外,更新和访问都是可能操作链表中间的,所以自然地就需要引入Map来快 ......
算法 LRU

空间密度算法DBSCAN和K-means聚类算法有什么区别和联系

DBSCAN(Density-Based Spatial Clustering of Applications with Noise)和K-means是两种常见的聚类算法,它们有一些区别和联系。 区别: 原理:K-means是基于距离的划分聚类算法,通过最小化数据点与聚类中心之间的平方误差来进行聚类 ......
算法 密度 K-means DBSCAN means

遗传算法解决航路规划问题(MATLAB)

# 遗传算法 > 文章部分图片和思路来自司守奎,孙兆亮《数学建模算法与应用》第二版 定义:遗传算法是一种基于自然选择原理和自然遗传机制的搜索(寻优)算法,模拟自然界中的声明进化机制,在人工系统中实现特定目标的优化。 本质其实就是群体搜索技术,根据适者生存的原则逐代进化,最终得到最优解或近似最优解。 ......
航路 算法 MATLAB 问题

[代码随想录]Day29-贪心算法part03

## 题目:[1005.K次取反后最大化的数组和](https://leetcode.cn/problems/maximize-sum-of-array-after-k-negations/) ### 思路: 思路是: 1. 先把负数从小到大变成正数(即绝对值由大到小) 2. 如果还需要变化(k>0 ......
随想录 随想 算法 代码 part