算法 随想录 柠檬水 队列

查找算法

顺序查找(线性查找) 思想:根据列表下标的顺序,一步步查找列表中的元素是否有与需查找元素相对应,有则返回下标。 代码实现 # 顺序查找 def linear_search(li,e): for ind,val in enumerate(li): if val == e: return ind els ......
算法

Rabbitmq消息队列调优

RabbitMQ每增加一个连接,Erlang都会给这个连接分配三个Erlang进程,每个进程都会分配一定大小内存空间,所以随着连接数的增长,内存和Erlang进程数呈现有规律的增长,所以RabbitMQ连接数的无限增大会压垮mq服务,导致RabbitMQ服务崩溃。 客户端与RabbitMQ建立的是长 ......
队列 Rabbitmq 消息

Winform中加密时提示此实现不是Windows平台FIPS验证的加密算法的一部分

场景 Java与Winform进行AES加解密数据传输的工具类与对应关系和示例: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/129357081 winform中使用如上进行加密时提示: 实现不是Windows平台FIPS验证的 ......
算法 Winform Windows 平台 FIPS

三种基本排序算法:桶排序,冒泡排序,快速排序

第一节 桶排序 (最快最简单的排序) 1、概括 就实现申请大小为的数组为例,int a[11]。首先将所有变量初始化为0,表示还没有出现过任何数字。 下面开始处理得到的数字: 若存入的第一个数字是5,就将相对应的a[5]的值在原来的基础上增加1.即将a[5]的值从0改为1,表示5出现过一次。 若第二 ......
算法

扩展欧几里得算法(exgcd)推导

给定 \(a\),\(b\),求解 \(ax+by=gcd(a,b)\) 的整数解。 考虑递归求解: 边界: 当 \(b=0\) 时,\(gcd(a,b)=a\),即 \(ax+by=a\),容易找到一组特殊解 \(x=1,y=0\)。 考虑一般情况: \(ax+by=gcd(a,b)\) \(ax ......
算法 exgcd

排序算法总结

low B三人组 冒泡排序 思想:列表相邻元素两两对比,每趟结束都会产生一个最大/最小元素 代码实现 def bubble_sort(li): for i in range(0,len(li)-1): # 趟数 exchange = 0 # 设置一个标识符,当有一趟无变化时,列表已有序,停止排序 f ......
算法

10.20算法

位1的个数编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为汉明重量)。 提示: 请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还 ......
算法 10.20 10 20

目录-04-队列

1:链接 2:链接 3:链接 4:链接 5:链接 6:链接 7:链接 8:链接 9:链接 0:链接 1:链接 2:链接 3:链接 4:链接 5:链接 6:链接 7:链接 8:链接 9:链接 0:链接 1:链接 2:链接 3:链接 4:链接 5:链接 6:链接 7:链接 8:链接 9:链接 0:链接 ......
队列 目录 04

理解算法(1): 最大值,最小值,和堆。

最近总想,算法好像没有数学那样直观,例如方程可以解决一大类问题,我们遇到许多数学问题,只要将其转成方程问题,剩下的就是解方程。算法好像不是那么直观,顺着这个思路开始重新看算法问题。今天有一个收获,也可能其他人早就知道。 int max=INT_MIN; for(size_t i=0;i<v.size ......
最大值 算法

强化学习Q-Learning和DQN算法

1 Q-Learning 强化学习中有state和action的两个重要概念。而Q-Learning算法就是用来得到在state上执行action的未来预期奖励。具体的算法流程如下: 初始化一个Q-table。 在当前状态\(s\)选择一个动作\(a\)。 执行动作\(a\),转移到新的状态\(s' ......
算法 Q-Learning Learning DQN

智能优化算法第一次实验

智能优化算法第一次实验 一、实验目的 (1) 掌握梯度下降法的基础知识及其应用过程; (2) 利用梯度下降法求解简单优化问题。 二、实验原理 梯度下降法是一种最优化算法,由于函数在该点梯度的模代表着函数值在该点最大的变化率,我们可以让函数沿着梯度方向迭代移动逼近函数最值,这就是梯度下降法的基本原理。 ......
算法 第一次 智能

R语言改进的K-Means(K-均值)聚类算法分析股票盈利能力和可视化|附代码数据

全文链接:http://tecdat.cn/?p=32418 原文出处:拓端数据部落公众号 大量数据中具有"相似"特征的数据点或样本划分为一个类别。聚类分析提供了样本集在非监督模式下的类别划分。 人们在投资时总期望以最小的风险获取最大的利益,面对庞大的股票市场和繁杂的股票数据,要想对股票进行合理的分 ......
均值 算法 盈利 K-Means 能力

[刷题笔记] [算法学习笔记]树上差分 -- Luogu P3128

Description Problem:https://www.luogu.com.cn/problem/P3128 FJ 给他的牛棚的 \(N\) 个隔间之间安装了 \(N-1\) 根管道,隔间编号从 \(1\) 到 \(N\)。所有隔间都被管道连通了。 FJ 有 \(K\) 条运输牛奶的路线,第 ......
笔记 算法 Luogu P3128 3128

图及相关算法

图 准备找实习了,把忘了的东西从头捡一捡 基本实现 大一时候有个特别蠢的问题,一直老想为什么不内置图的实现,现在想想真是蠢到家了…… Go语言实现无向无环图 import "fmt" //Implment by adjacency matrix type graphadjMat struct { v ......
算法

算法训练day37 LeetCode860.406.452.

算法训练day37 LeetCode860.406.452. 860.柠檬水找零 题目 860. 柠檬水找零 - 力扣(LeetCode) 题解 代码随想录 (programmercarl.com) 5:收五元 10:收十元,返五元 20:优先还十元+五元;否则还五元*3 class Solutio ......
算法 LeetCode day 860 406

文心一言 VS 讯飞星火 VS chatgpt (116)-- 算法导论10.3 1题

一、用go语言,画图表示序列(13,4,8,19,5,11),其存储形式为多数组表示的双向链表。同样画出单数组表示的形式。 文心一言: 在Go语言中,我们无法直接画图,但我可以帮助你描述如何使用Go语言来表示和操作多数组表示的双向链表和单数组表示。 首先,多数组表示的双向链表可以表示为以下的数据结构 ......
文心 导论 算法 chatgpt VS

C#基数排序算法

前言 基数排序是一种非比较性排序算法,它通过将待排序的数据拆分成多个数字位进行排序。 实现原理 首先找出待排序数组中的最大值,并确定排序的位数。 从最低位(个位)开始,按照个位数的大小进行桶排序,将元素放入对应的桶中。 将各个桶中的元素按照存放顺序依次取出,组成新的数组。 接着按照十位数进行桶排序, ......
基数 算法

GIL全局解释器锁、互斥锁、线程队列、进程池和线程池的使用、多线程爬取网页、协程理论、协程实现高并发

进程和线程的比较 进程的开销比线程的开销大很多 进程之间的数据是隔离的,但是,线程之间的数据不隔离 多个进程之间的线程数据不共享 >还是让进程通信(IPC) >进程下的线程也通信了 >队列 GIL全局解释器锁(重要理论) Python在设计之初就考虑到要在主循环中,同时只有一个线程在执行。虽然 Py ......
线程 解释器 队列 全局 进程

国科大卜东波算法设计作业

Question Number 1 You are interested in analyzing some hard-to-obtain data from two separate databases. Each database contains n numerical values, so ......
算法

常见国密算法简介

SM2 SM2 国密SM2算法是中国国家密码管理局(CNCA)发布的一种非对称加密算法。它采用椭圆曲线密码体系(Elliptic Curve Cryptography,ECC)进行密钥交换、数字签名和公钥加密等操作。以下是SM2算法的主要特点和步骤: 特点: 安全性高: SM2基于椭圆曲线离散对数难 ......
算法 常见 简介

算法13天58道题阶段性总结

刷算法十三天58道,克服了对算法的恐惧,能够正常刷题,缺点在于必须看题解、题型过多多变、没有掌握模板、无法理解题意举一反三 代码随想录二刷学会基本的理论和技巧/非类型题,拓展题过滤codetop/模板记熟/看懂题意先写一遍debug/查看其他的题解labuladong 灵山艾 旁边题解 ......
阶段性 算法 阶段

5秒用Java写一个快速排序算法?这个我在行

快速排序是一种非常高效的排序算法,由英国计算机科学家霍尔在1960年提出。它的基本思想是选择一个基准元素将待排序数组分成两部分,其中一部分的所有元素都比基准元素小,另一部分的所有元素都比基准元素大,然后对这两部分再分别进行快速排序,整个排序过程可以递归进行。 这种算法的主要步骤是: 1、 选择一个元 ......
算法 Java

就这么一段代码,跑死了我的笔记本 C# RabbitMQ 消息队列

十年河东,十年河西,莫欺少年穷 学无止境,精益求精 为了实现RabbitMQ的延迟队列,我做了如下代码 也就是如下代码,将我的电脑跑死了好几次 入口函数如下: public static void Main(string[] args) { for(int i = 0; i < 10; i++) { ......
队列 RabbitMQ 消息 代码 笔记本

TSINGSEE烟火识别算法的技术原理是什么?如何应用在视频监控中?

AI烟火识别算法是基于深度学习技术的一种视觉识别算法,主要用于在视频监控场景中自动检测和识别烟雾、火焰的行为。该技术基于深度学习神经网络技术,可以动态识别烟雾和火焰从有到无、从小到大、从大到小、从小烟到浓烟的状态转换过程。 1、技术原理 1)数据采集与准备:首先需要采集大量带有烟雾、火焰的视频数据, ......
视频监控 算法 烟火 TSINGSEE 原理

栈和队列

栈 先进后出, 后进现出 限定仅在表的一端进行插入和删除操作的线性表 操作 初始化 入栈 出栈 取值 判断栈满栈空 双栈共享 顺序栈 // 顺序栈类模板 template<class ElemType> class SqStack { protected: // 数据成员: ElemType *el ......
队列

Unity Mesh切割算法详解

我们在开发游戏的时候经常会有一些特殊的游戏玩法等,需要涉及Mesh切割。比如3D切水果, 在地图的城墙上挖一个洞,今天给大家来分享一个Mesh切割的算法,帮助大家解决项目中需要用到的Mesh切割的问题。本文主要从一下几个方面来讲解Mesh切割。 (1) 如何接受玩家的触摸操作,生成切割面; (2) ......
算法 Unity Mesh

数据结构与算法 | 链表(Linked List)

链表(Linked List)是一种线性数据结构,它由一系列节点(Node)组成,每个节点包含两部分:数据和指向下(上)一个节点的引用(或指针)。链表中的节点按照线性顺序连接在一起(相邻节点不需要存储在连续内存位置),不像数组一样存储在连续的内存位置。链表通常由头节点(Head)来表示整个链表,而尾... ......
数据结构 算法 结构 数据 Linked

10.19算法

罗马数字转整数罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1 。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V ......
算法 10.19 10 19

基于ACF,AMDF算法的语音编码matlab仿真

1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.算法理论概述 语音编码是一种将连续的语音信号转换为数字数据的过程,以便在数字通信和存储应用中使用。基于ACF和AMDF的编码算法是一种经典的方法,它在语音信号处理领域得到了广泛应用。 基于ACF和AMDF的语音编码过程包括以下 ......
算法 语音 编码 matlab AMDF

雪花算法:分布式唯一ID生成利器

雪花算法:分布式唯一ID生成利器 程序新视界 ​关注他 前言 无论是在分布式系统中的ID生成,还是在业务系统中请求流水号这一类唯一编号的生成,都是软件开发人员经常会面临的一场景。而雪花算法便是这些场景的一个解决方案。 以分布式ID为例,它的生成往往会在唯一性、递增性、高可用性、高性能等方面都有所要求 ......
分布式 利器 算法 雪花