算法 随想录 柠檬水 队列

[代码随想录]Day49-动态规划part17

题目:647. 回文子串 思路: 整体上是两种,就是s[i]与s[j]相等,s[i]与s[j]不相等这两种。 当s[i]与s[j]不相等,那没啥好说的了,dp[i][j]一定是false。 当s[i]与s[j]相等时,这就复杂一些了,有如下三种情况 情况一:下标i 与 j相同,同一个字符例如a,当然 ......
随想录 随想 代码 动态 part

1、算法中涉及的数据公式(Markdown和代码中)

一、基本公式 1. 上下标 1 $$ 2 A_1^2 3 \\ 4 B_{12} 5 \\ 6 2^{x^2+y} 7 $$ View Code ......
算法 公式 Markdown 代码 数据

优先队列

priority_queue<int> q;//大根堆priority_queue<int,vector<int>,greater<int> >q;//小根堆 q.top()//取得堆顶元素,并不会弹出 q.pop()//弹出堆顶元素 q.push()//往堆里面插入一个元素 q.empty()// ......
队列

21_消息队列

消息队列 消息队列 1、任务级队列处理函数 2、中断级队列处理函数(带中断保护)已经在CMSIS接口中封装 但写入生产速度比消费速度快的时候,容易出现数据被覆盖 邮箱队列 创建、发送、接收、查询、删除 传数值 osEvent event = osMessageGet(myQueue01Handle, ......
队列 消息 21

基础高精度算法:高精度四则运算

#if 1 #include <iostream> #include <vector> #include <algorithm> using namespace std; vector<int> add(vector<int> A, vector<int> B) { vector<int> C; i ......
高精 高精度 四则 算法 基础

9.20算法

需要回溯到失败匹配之后的下一个,索引回去就可以 实现 strStr()给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1 。 示 ......
算法 9.20 20

《数据结构与算法》之散列表

散列表 什么是散列表 “散列”的基本思想是: 1.以关键字key为自变量,通过一个确定的函数(散列函数),通过函数计算出确定的函数值,作为数据对象存储地址 2.可能不同散列对象会映射到一个散列地址上,则称之为冲突 需要某种解决策略 如上图: 我们依次读入数据时,对于同一个key值和散列函数,总有一些 ......
数据结构 算法 结构 数据

阻塞队列

生产者消费者概念 生产者消费者是设计模式的一种。让生产者和消费者基于一个容器来解决强耦合问题。 生产者 消费者彼此之间不会直接通讯的,而是通过一个容器(队列)进行通讯。 所以生产者生产完数据后扔到容器中,不通用等待消费者来处理。 消费者不需要去找生产者要数据,直接从容器中获取即可。 而这种容器最常用 ......
队列

算法训练day14 二叉树递归遍历、迭代遍历、统一遍历

算法训练day14 二叉树递归遍历、迭代遍历、统一遍历 递归遍历 144. 二叉树的前序遍历 - 力扣(LeetCode) 94. 二叉树的中序遍历 - 力扣(LeetCode) 145. 二叉树的后序遍历 - 力扣(LeetCode) 代码随想录 (programmercarl.com) 先序遍历 ......
算法 day 14

机器学习算法原理实现——随机森林,核心是就是行列抽样,可以并行

记得参考之前的文章 机器学习算法原理实现——cart决策树:分类&回归 随机森林算法训练步骤: 代码实现(决策树复用了之前的深度剪枝实现): # 导入numpy库 import numpy as np from sklearn.metrics import accuracy_score class ......
算法 行列 原理 机器 核心

数据结构与算法学习计划

第一个月: 基础知识和线性结构 学习数据结构基本概念,如数组、链表、栈和队列。 理解线性结构的特点和操作,熟悉它们的实现和应用。 掌握常见线性结构的时间复杂度和空间复杂度分析。 第二个月: 树与图 学习树形结构,包括二叉树、二叉搜索树、平衡二叉树和堆。 理解树的遍历算法,包括前序、中序和后序遍历。 ......
数据结构 算法 结构 数据

个人项目 ———Java实现论文查重算法

个人项目 ———Java实现论文查重算法 作业要求 这个作业属于哪个课程 工程概论 这个作业要求在哪里 个人项目 这个作业的目标 学习GitHub项目开发,了解PSP表格 🌟 需求 题目:论文查重 描述如下: 设计一个论文查重算法,给出一个原文文件和一个在这份原文上经过了增删改的抄袭版论文的文件, ......
算法 项目 论文 个人 Java

[剑指offer] 搜索算法

JZ53 数字在升序数组中出现的次数 1 /* 二分左边界 */ 2 public class JZ53_1 3 { 4 public static int GetNumberOfK(int[] nums, int k) 5 { 6 int left = 0, right = nums.length ......
算法 offer

基于正交滤波器组的语音DPCM编解码算法matlab仿真

1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.算法理论概述 在语音信号处理中,一种常见的编解码技术是差分脉冲编码调制(DPCM)。DPCM是一种无损或有损压缩技术,通过利用信号中的冗余性来减少数据传输或存储所需的比特数。在DPCM编解码中,滤波器是关键组件之一,用于对原始 ......
正交 滤波器 算法 语音 matlab

m基于码率兼容打孔LDPC码BP译码算法的matlab误码率仿真

1.算法仿真效果 matlab2022a仿真结果如下: 2.算法涉及理论知识概要 码率兼容打孔LDPC码BP译码算法是一种改进的LDPC译码算法,能够在不同码率下实现更好的译码性能。该算法通过在LDPC码中引入打孔操作,使得码率可以灵活地调整,同时利用BP(Belief Propagation)译码 ......
误码率 误码 译码 算法 matlab

快速排序算法

快速排序 1. 快速排序的思想 快速排序是一种分治的排序算法,是对于冒泡排序的改进算法,在C语言标准库中的函数qsort()的实现就是快速排序。(下述快速排序都是最后要求值按从小到大排序) 快速排序的核心思想在于: 每次都选择主元,然后利用主元进行划分,使得左边的元素都小于主元,右边的元素都大于主元 ......
算法

图解 LeetCode 算法汇总——二分查找

二分查找(Binary Search)是一种在有序数组中查找特定元素的高效算法。它的基本思想是将目标值与数组中间的元素进行比较,如果目标值小于中间元素,则在数组的左半部分继续查找,否则在右半部分查找,不断缩小搜索范围,直到找到目标值或确定目标值不存在为止。 二分查找也叫折半查找,比如在一个有序的数组 ......
算法 LeetCode

priority_queue(优先队列)

优先队列底层模板:priority<type,container,function>,type:元素数据类型,container:容器一般是vector, function:比较函数 优先队列默认是大根堆,即堆顶元素为最大值:定义方法为 priority_queue<type>q或priority< ......
队列 priority_queue priority queue

Spring Boot + Disruptor 实现消息队列,告诉你什么叫快、什么叫高效!

01、背景 工作中遇到项目使用Disruptor做消息队列,对你没看错,不是Kafka,也不是rabbitmq;Disruptor有个最大的优点就是快,还有一点它是开源的哦,下面做个简单的记录. 02、Disruptor介绍 Disruptor 是英国外汇交易公司LMAX开发的一个高性能队列,研发的 ......
队列 Disruptor 消息 Spring Boot

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

一、用go语言,在算法 SELECT 中,输人元素被分为每组 5 个元素。如果它们被分为每组 7个元素,该算法仍然会是线性时间吗?证明:如果分成每组 3 个元素,SELECT 的运行时间不是线性的。 文心一言: 在算法分析中,一个算法的运行时间是否线性依赖于其输入数据的大小。线性时间意味着算法的运行 ......
文心 导论 算法 chatgpt VS

9.19算法

这题目纯纯恶心人,测试用例很恶心,需要有正负、负正的判断 class Solution { public: int myAtoi(string s) { int i=0; bool negative = false,positive=false; int res = 0; int r; while( ......
算法 9.19 19

消息队列 - RabbitMQ

RabbitMQ简介 RabbitMQ 是一个广泛使用的开源消息队列系统,它实现了高级消息队列协议(AMQP)标准,为分布式应用程序提供了强大的消息传递功能。RabbitMQ 是 Erlang 语言编写的,具有高度的可扩展性和可靠性,因此被广泛用于构建分布式、异步的消息通信系统。 以下是关于 Rab ......
队列 RabbitMQ 消息

[代码随想录]Day48-动态规划part16

题目:583. 两个字符串的删除操作 思路: 还是最长公共子序列,假设最长公共子序列长度是l;那么需要删除的次数是len(s1) - l + len(s2) - l 代码: func minDistance(word1 string, word2 string) int { lens1 := len ......
随想录 随想 代码 动态 part

关于一个BitMap的算法理解

最近在看算法,想学习一下算法这玩意,虽然工作中很少用到。在《小灰的算法之旅》这本书中,有一个关于BitMap的算法。 早期接触过一点类似的,有人在数据库里面保存了一个字符串 000000000000000000,000000000001000001,这种,每一位代表一个含义,比如第一位为1表示这个用 ......
算法 BitMap

模仿学习算法:Data Aggregation Approach: DAGGER算法——Mixing policy

论文: 《A Reduction of Imitation Learning and Structured Prediction to No-Regret Online Learning》 算法描述: Mixing Policy: ......
算法 Aggregation Approach DAGGER Mixing

监督学习-分类算法-KNN

定义:KNN最核心的功能“分类”是通过多数表决来完成的,具体方法是在待分类点的K个最近邻中查看哪个类别占比最多。哪个类别多,待分类点就属于哪个类别 如果选择K=3,那么模型将考虑目标数据点的3个最近邻居, 对于图像的分类。他的邻居是什么 每个图像样本通常会被表示为一个特征向量,其中每个特征可以代表图 ......
算法 KNN

非监督学习-聚类算法-Kmeans

K均值聚类算法是一种用于将数据集中的数据点分成不同组的方法。这些组通常称为簇。这个算法的核心思想是把相似的数据点放在同一个簇中,从而把数据分成几个组,每个组内的数据点彼此相似。 这是一个简单的K均值聚类过程: 选择簇的数量(K):首先,您需要决定要将数据分成多少个簇。这个K值是您必须在开始时选择的, ......
算法 Kmeans

监督学习-分类算法

分类算法是一类监督学习算法,用于将数据点分为预定义的类别或标签之一。在分类问题中,算法通过学习从已知输入数据到其对应类别的映射来训练模型,然后使用该模型来对新的、未标记的数据进行分类。分类问题通常涉及到预测离散的输出,即将数据分为几个互斥的类别之一。 以下是一些常见的分类算法: 逻辑回归(Logis ......
算法

算法训练day13 LeetCode 239

算法训练day13 LeetCode 239.滑动窗口最大值347.前k个高频元素 239.滑动窗口最大值 题目 239. 滑动窗口最大值 - 力扣(LeetCode) 题解 代码随想录 (programmercarl.com) class Solution { private: class MyQ ......
算法 LeetCode day 239 13

机器学习算法原理实现——lightgbm,核心leaf-wise生长结合数据和特征并行+直方图算法+单边梯度抽样+互斥特征捆绑

算法亮点: 1、leaf-wise生长策略+特征并行和数据并行 让我们通过一个简单的例子来详细解释 LightGBM 的 Leaf-wise 生长策略。假设我们有以下的数据集:| 年龄 | 收入 | 购买 || | | || 20 | 3000 | 0 || 25 | 3500 | 0 || 30  ......
算法 特征 直方图 梯度 leaf-wise