算法 随想录 柠檬水 队列

数据结构与算法(四):双向链表

# 基本概念 双向链表概念和单向链表是一致的,区别在于双向链表在单向链表的基础上,指针区域多了一个指向上一个节点的指针。单向链表内容可以参考我的上一篇文章:http://t.csdn.cn/Iu56H。 基本的数据结构如图所示:![在这里插入图片描述](https://img-blog.csdnim ......
数据结构 双向 算法 结构 数据

多重背包 (单调队列)

[题目链接](https://www.acwing.com/problem/content/6/ "题目链接") *** ``` #include using ll = long long; const int N = 1E3 + 5 , M = 2E4 + 5; int n,m; int v[N] ......
队列 背包

m基于FFT傅里叶变换的QPSK基带信号频偏估计和补偿算法FPGA实现,包含testbench和matlab星座图显示

1.算法仿真效果 本系统进行了Vivado2019.2平台的开发,并使用matlab2022a对结果进行星座图的显示: 将FPGA的频偏基带QPSK信号和频偏补偿后的QPSK基带信号使用matlab显示星座图,结果如下: 2.算法涉及理论知识概要 QPSK(Quadrature Phase Shif ......
基带 算法 testbench 信号 星座

基于位相光栅的四波横向剪切干涉法波前检测算法的matlab仿真

1.算法理论概述 波前检测技术是现代光学中的重要技术之一,可以用于衡量光学系统的成像质量和研究光学系统的异常现象。随着现代光学技术的不断发展,波前检测技术也在不断地发展和完善。其中,基于位相光栅的四波横向剪切干涉法波前检测算法是一种常用的波前检测算法,本文将从专业角度详细介绍该算法的实现步骤和数学公 ......
光栅 横向 算法 matlab

类欧几里得算法学习笔记

ABC313,逆天 为了 ABC313G,来学一下最简单形式的类欧算法。 类欧几里得算法似乎和欧几里得唯一的共性是复杂度证明。 形式化的,我们需要计算 $f(a,b,c,n)=\sum_{i=0}^n\lfloor \dfrac{ai+b}{c}\rfloor$。 首先,如果 $a\ge c$ 或者 ......
算法 笔记

代码随想录算法训练营第七天|力扣334.反转字符串、力扣541.反转字符串II、剑指offer05.替换空格、力扣151.反转字符串、剑指offer58-II左旋转字符串里的单词

# 字符串 ## 反转字符串(力扣344.) - **如果题目关键的部分直接用库函数就可以解决,建议不要使用库函数。** 毕竟面试官一定不是考察你对库函数的熟悉程度, 如果使用python和java 的同学更需要注意这一点,因为python、java提供的库函数十分丰富。 - **如果库函数仅仅是 ......
字符串 字符 随想录 左旋 offer

LeetCode从算法到算命—每日一题(0805)

# 21. 合并两个有序链表 ## 题目信息 将两个升序链表合并为一个新的 **升序** 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 **示例 1:** ``` 输入:l1 = [1,2,4], l2 = [1,3,4] 输出:[1,1,2,3,4,4] ``` **示例 2:** ......
算法 LeetCode 0805

前端面试经典算法题

### 前言 现在面试流行考核算法,做过面试官,也被面试。问算法对面试官来说,是一种解脱,找出了一个看似很高明且能偷懒的办法选择人,避免了不知道问啥的尴尬;被面试者,也找到了一种新的面试八股文,刷就对了;算法题让面试与被面试找到了一种平衡。 在实际的开发中,很多被考核的算法确实没啥卵用,面试者要认真 ......
前端 算法 经典

数据结构(一)数据结构与算法

[TOC] # 算法 算法是一系列程序指令,用于处理特定的运算和逻辑问题。 例:1+2+3...+100 ```c int i, sum=0, n=100; for(i = 1; i + 算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。 > + 算 ......
数据结构 结构 数据 算法

c#学习笔记----------------c#简单算法之排序算法

排序算法 参考文章:https://blog.csdn.net/weixin_61361738/article/details/128794945 冒泡排序 namespace ConsoleApp1 { internal class Program { static void Main(strin ......
算法 笔记

王道408用数组,链表以及双向链表实现栈、队列

我在电脑上敲了一遍,又在纸上模拟了一遍 下面记录在电脑上敲的: 一、用数组实现栈 #include <stdio.h> #include <string.h> #define MaxSize 50 typedef struct{ int data[MaxSize]; int top; }stack; ......
队列 数组 王道 双向 408

C/C++ 数据结构五大核心算法之贪心算法_钱币找零问题

贪婪算法(贪心算法)是指在对问题进行求解时,在每一步选择中都采取最好或者最优(即最有利)的选择,从而希望能够导致结果是最好或者最优的算法。 贪婪算法所得到的结果往往不是最优的结果(有时候会是最优解),但是都是相对近似(接近)最优解的结果。 贪婪算法并没有固定的算法解决框架,算法的关键是贪婪策略的选择 ......
算法 数据结构 钱币 核心 结构

迪杰斯特拉算法

# 迪杰斯特拉算法(单源最短路径) 算法基本流程:node 0 as start. 注意算法流程默认图是联通的,若不联通,需要添加循环跳出处理。 ![image-20230805163622438](https://img2023.cnblogs.com/blog/2505287/202308/25 ......
算法

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

# 参照图 7-1的方法,说明 PARTITION在数组 A=(13,19,9,5,12,8,7,4,21,2,6,11)上的操作过程。 ## 文心一言: PARTITION 是一种常见的快速排序算法,其目的是将数组分成两个部分,使得其中一个部分的所有元素都小于另一个部分的所有元素。在这个过程中,最 ......
文心 导论 算法 chatgpt VS

代码随想录-字符串-c++总结

关于字符串string一些库函数的使用,不太熟悉,导致开始做的时候比较磕磕绊绊 主要用到了<algorithm>中的reverse,以及string的resize,substr,erase等,在这贴一个 C++ 字符串(string)常用操作总结 - 知乎 (zhihu.com) C++的strin ......
随想录 字符串 随想 字符 代码

C/C++ 数据结构五大核心算法之回溯法-N皇后问题

N皇后问题:在 n * n 的棋盘上要摆 n 个皇后,要求:任何两个皇后不同行,不同列也不在同一条斜线上,求给一个整数 n ,返回 n 皇后的摆法数。 #include <iostream> #include <math.h> #define N 8 using namespace std; int ......
数据结构 皇后 算法 核心 结构

[代码随想录]Day10-栈与队列part02

## 题目:[20. 有效的括号](https://leetcode.cn/problems/valid-parentheses/) ### 思路: 很简单的一个栈的题目: 1. 如果是左括号就存 2. 如果是右括号就和栈顶的匹配 1. 匹配失败就返回false 2. 匹配成功就删除栈顶元素 3. ......
随想录 队列 随想 代码 part

代码随想录算法训练营第四十六天| 84.柱状图中最大的矩形

84.柱状图中最大的矩形 要求: 有多个矩形,要求返回可能勾勒出的最大矩形 思路: 寻找右边第一个小于当前节点的index 寻找左边第一个小于当前节点的index 右边:累加的方式,如果当前节点小于,那么判读后放进去 左边,放进去了之后,当前节点后一个,就是左边最小的 代码: 1 // 要求:和相邻 ......
随想录 矩形 训练营 随想 算法

LeetCode从算法到算命—每日一题(0804)

# 980.不同路径III ## 题目信息 在二维网格 `grid` 上,有 4 种类型的方格: - `1` 表示起始方格。且只有一个起始方格。 - `2` 表示结束方格,且只有一个结束方格。 - `0` 表示我们可以走过的空方格。 - `-1` 表示我们无法跨越的障碍。 返回在四个方向(上、下、左 ......
算法 LeetCode 0804

基于自适应ICP算法的三维模型配准matlab仿真

1.算法理论概述 三维模型配准是三维重建、三维建模、机器人视觉等领域中重要的基础问题。在三维模型配准中,自适应ICP算法是一种常用的配准算法,可以快速而准确地将多个三维模型进行配准和融合。本文将从专业角度详细介绍基于自适应ICP算法的三维模型配准算法,包括算法的实现步骤、数学公式及其推导过程等。 1 ......
算法 模型 matlab ICP

加密算法解析:MD5、DES和RAS的工作原理与特点

本文探讨了三种常见的加密算法:MD5、DES和RAS的工作原理与特点。首先,MD5是一种不可逆的加密算法,它将任意长度的数据转化为固定长度的摘要,用于数据完整性校验。然而,由于其存在碰撞攻击的漏洞,MD5已经不再被推荐作为安全加密算法。其次,DES是一种对称可逆的加密算法,它使用相同的密钥进行加密和... ......
算法 原理 特点 MD5 DES

算法工程师学习运筹学 笔记二 线性规划

线性规划 框架图先放在这里 图片由知乎 @运筹说 提供,原文链接:https://zhuanlan.zhihu.com/p/382644742 线性规划模型标准型 标准型如上 目标函数求max; 约束条件两端用“=”连结; 右端常数项非负; 所有决策变量非负。(如有决策变量没有约束,则把该变量拆成两 ......
运筹学 线性 算法 工程师 笔记

代码随想录算法训练营第十天| 232.用栈实现队列 225. 用队列实现栈

232.用栈实现队列 卡哥建议:大家可以先看视频,了解一下模拟的过程,然后写代码会轻松很多。 题目链接/文章讲解/视频讲解:https://programmercarl.com/0232.%E7%94%A8%E6%A0%88%E5%AE%9E%E7%8E%B0%E9%98%9F%E5%88%97.h ......
队列 随想录 训练营 随想 算法

[刷题笔记][算法模型总结] Luogu P1880 [NOI1995] 石子合并 || 区间dp之合并石子模型

[Problem](https://www.luogu.com.cn/problem/P1880) ### Solution 本题还有一个弱化版,见[Luogu P1775](https://www.luogu.com.cn/problem/P1775) 我们发现本题和弱化版唯一区别就是本题有环。 ......
石子 模型 区间 算法 笔记

[代码随想录]Day09-栈与队列part01

## 题目:[232. 用栈实现队列](https://leetcode.cn/problems/implement-queue-using-stacks/) ### 思路: 因为go没有栈和队列的类型,直接自己写就行了。 比较简单的实现,具体看代码中的注释。 ### 代码: ```go type ......
随想录 队列 随想 代码 part

算法:深挖合并 K 个有序链表

本人刷题时思考的几个解法,欢迎交流 力扣链接:[合并 2 个有序链表](https://leetcode.cn/problems/merge-two-sorted-lists/) 力扣链接:[合并K个有序链表](https://leetcode.cn/problems/merge-k-sorted- ......
算法

C-查找算法

时间复杂度:由于计算机的性能不同,无法准确地确定一个算法的执行时间,因此使用执行算法的次数来代表算法的时间复杂度,一般用O(公式)来表示。 空间复杂度:执行一个程序(算法)所需要的内存空间的大小,是对一个算法在运行过程中临时占用存储空间大小的衡量。通常来说,只要这个算法不涉及动态分配内存以及递归,通 ......
算法

c++算法之离散化例题

离散化基础2 题目描述 给定 n 个元素的数列,将相同的数据离散化为一个数据(去重),即把 {4000,201,11,45,11}{4000,201,11,45,11} 离散化为 {4,3,1,2,1}{4,3,1,2,1}。 输入格式 第一行一个整数 (1≤m≤105)n(1≤n≤105),为元素 ......
例题 算法

ICCV论文速读:SOTA!越简单,越强大!ByteTrackV2-通用2D、3D跟踪算法(开源)

前言 本文提出了一个分层的数据关联策略来寻找低分检测框中的真实目标,这缓解了目标丢失和轨迹不连续的问题。这个简单通用的数据关联策略在2D和3D设置下都表现良好。另外,由于在3D场景中预测对象在世界坐标系中的速度比较容易,本文提出了一种辅助的运动预测策略,将检测到的速度与卡尔曼滤波器结合起来,以解决运 ......
算法 ByteTrackV2 ByteTrackV 论文 ICCV

记一次JavaScript异或算法加密 , 异或加密

公司业务代码 const Base64 = require('base-64') function xorEncrypt (str, key) { let result const list = [] for (let i = 0; i < str.length; i++) { const char ......
算法 JavaScript