算法

基于PSD-ML算法的语音增强算法matlab仿真

1.算法运行效果图预览 2.算法运行软件版本 matlab2022A 3.算法理论概述 PSD-ML(Power Spectral Density Maximum Likelihood)算法是一种基于最大似然估计的语音增强算法,通过对语音信号的功率谱密度进行估计,并利用估计结果对原始语音信号进行滤波 ......
算法 语音 PSD-ML matlab PSD

【Cpp 基础】泛型算法 stable_sort() 的应用

最近在刷牛客的题。经常遇到排序问题,经常有一个附加的规则:相同的数值的,按照录入的顺序排序。 可是C++的sort()的底层是快速排序,并不能保证相同数值的顺序不改变。所以最后我不得不自己写冒泡排序。(冒泡排序不改变相同数值的录入顺序) 写了那么多的排序,但是其实C++里封装有排序函数,而且功能非常 ......
算法 stable_sort 基础 stable sort

代码随想录算法训练营第6天 | lc454、lc383、lc15、lc18

(本合集全部为Go语言实现) 相关文章链接:454题解 383题解 15题解 18题解 相关视频链接: Leetcode454 状态:秒了 实现过程中的难点:思想就是利用哈希表将部分和记录下来,最终实现将n ^ 4转换为2 * n ^ 2 个人写法 func fourSumCount(nums1 [ ......
随想录 训练营 lc 随想 算法

常见算法的复杂度

算法 平均时间复杂度 最差空间复杂度 快速排序 nlogn logn 归并排序 nlogn n timsort nlogn n 堆排序 nlogn 1 冒泡排序 n^2 1 插入排序 n^2 1 选择排序 n^2 1 希尔排序 (nlogn)^2 1 桶排序 n+k n 基数排序 nk n+k ......
复杂度 算法 常见

机器学习的算法——线性回归

1.回归问题的定位 我们知道机器学习分为有监督学习和无监督学习,无监督学习主要是聚类方面的算法,而有监督问题主要分为回归和分类两类 而这线性回归就属于有监督学习,且属于其中的回归类问题,另外有一种逻辑回归,他却是属于分类问题的一部分。 2.线性回归 (1)大体思路 首先它是利用数理统计中的回归分析来 ......
线性 算法 机器

【算法】【线性表】搜索旋转排序数组(有重复数据)

1 题目 跟进“搜索旋转排序数组”,假如有重复元素又将如何?是否会影响运行时间复杂度?如何影响?为何会影响?写出一个函数判断给定的目标值是否出现在数组中。 样例 1: 输入: A = [] target = 1 输出: false 解释:数组为空,1不在数组中。 样例 2: 输入: A = [3,4 ......
数组 线性 算法 数据

1.理论、算法、协议

1.CAP 理论 CAP 也就是 Consistency(一致性)、Availability(可用性)、Partition Tolerance(分区容错性) 这三个单词首字母组合。 在理论计算机科学中,CAP 定理(CAP theorem)指出对于一个分布式系统来说,当设计读写操作时,只能同时满足以 ......
算法 理论

直播系统源码,常见的混音算法有哪些?

声音是由于物体的振动对周围的空气产生压力而传播的一种压力波,转成电信号后经过抽样,量化,仍然是连续平滑的波形信号,量化后的波形信号的频率与声音的频率对应,振幅与声音的音量对应,在直播系统源码中,量化的语音信号的叠加等价于空气中声波的叠加,所以当采样率一致时,混音可以实现为将各对应信号的采样数据线性叠 ......
算法 源码 常见 系统

电台覆盖区域的贪心算法

1.贪心算法 电台覆盖区域求最优解问题 题目:假设存在如下表的需要付费的广播台,以及广播台信号可以覆盖的地区。 如何选择最少的广播台,让所有的地区都可以接收到信号 广播台 覆盖地区 K1 “北京”, “上海”, “天津” K2 “广州”, “北京”, “深圳” K3 “成都”, “上海”, “杭州” ......
算法 电台 区域

最小费用组最大流——EK算法

时间复杂度O(nm^2),理论上限 //n,m,s,t,分别代表该网络的点数n,网络的边数m,源点编号s,汇点编号t。 const int N=5010,M=100010,INF=1e8; int n,m,S,T; struct edge{int v,c,w,ne;}e[M]; int h[N],i ......
算法 费用

梯度下降算法

梯度下降是一种算法,可以用来找到成本函数的局部最小值。这里用线性回归来演示梯度下降算法,但梯度下降不仅仅适用于线性回归成本函数。 梯度下降中,有学习率 α、数学表示等概念 梯度下降是什么 单变量线性回归梯度下降 梯度下降通过逐步更新参数,一步一步达到局部最小值 每一步的更新操作是这样的: 这里要注意 ......
梯度 算法

网络流 最大流 Dinic 算法

#define LL long long #define N 10010 #define M 200010 using namespace std; int n,m,S,T; //n,m,s,t,分别表示点的个数、有向边的个数、源点序号、汇点序号 struct edge{LL v,c,ne;}e[M ......
算法 Dinic 网络

基于小波变换的分形信号r指数求解算法matlab仿真

1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.算法理论概述 基于小波变换的分形信号r指数求解算法是一种利用小波变换和分形理论对信号进行分析的方法。下面将详细介绍这种算法的原理和数学公式。 分形信号是一种具有自相似性的非周期信号,其局部和整体具有相似的特征。在分形信号的分析 ......
算法 信号 指数 matlab

基于FPGA的图像缩小算法实现,包括tb测试文件和MATLAB辅助验证

1.算法运行效果图预览 将FPGA的处理结果导出到matlab中显示图像效果: 2.算法运行软件版本 vivado2019.2 matlab2022a 3.算法理论概述 图像放小算法主要通过抽取算法实现,常见的抽取算法最大值抽取,和均值抽取。其示意图如下所示: 以缩小一半为例,如果是最大值抽取,则在 ......
算法 图像 文件 MATLAB FPGA

KMP算法

1.暴力匹配 暴力匹配算法的步骤如下: 遍历主串中的每个可能的起始位置,从第一个字符开始。 对于每个起始位置,逐个比较主串和模式串中对应位置的字符。 如果发现不匹配的字符,即主串和模式串中对应位置的字符不相等,将模式串向右移动一个位置,继续比较。 如果模式串完全匹配主串中的一段子串,即模式串的每个字 ......
算法 KMP

网络流最大流Dinic算法

感谢董晓老师:博客,b站 /* Dinic算法的思路是,用bfs进行分层,限制后面dfs每次的搜索深度, 并且,在dfs的过程中,直接把当前这个路走到u的容量限制分给u的各个出边 */ #include <iostream> #include <algorithm> #include <cstrin ......
算法 Dinic 网络

杂算法

update on 2023.11.17 NOIP前来复习板子,发现KMP整理的不是很到位,所以更新详细一些。 模板题 抽象的blog 浅显易懂的讲解视频:(dalao讲得太好了\(%%%\)) 备用网址 \(kmp\)(字符串匹配)的概念: 主串:被匹配的字符串 模式串:匹配的串 最长前后缀:一个 ......
算法

二分——acwing算法基础课笔记

个人笔记,欢迎补充、指正。 此次完全以个人理解来写。 整数二分 整数二分有两种,分别是找左边界和找右边界。 寻找符合要求的左边界:绿色点 int bsearch_1(int l, int r) { while (l < r) { int mid = l + r >> 1;//对应下界,最左 if ( ......
基础课 算法 基础 笔记 acwing

数据结构与算法----------3

队列 队列也是一种受限制的线性表,只能在一端进行插入,在另一端进行删除。 当然也有一种特殊的队列,名叫双端队列,也就是一段既可以插入也可以删除,在另一端也可以插入和删除。这就是双端队列。 队列的顺序实现(非环形数组) 代码实现 //队列的顺序实现(非环形数组) #define _CRT_SECURE ......
数据结构 算法 结构 数据

数据结构与算法---------2

栈 栈是一个具有一定操作约束的线性表,只能在一端(栈顶,top)做插入和删除。 栈的顺序实现 //栈的顺序实现 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <string.h> #in ......
数据结构 算法 结构 数据

React diff 算法详解

代码参照 React 16.13.1 什么是 Diff 在render阶段的beginWork函数中,会将上次更新产生的 Fiber 节点与本次更新的 JSX 对象(对应ClassComponent的this.render方法返回值,或者FunctionComponent执行的返回值)进行比较。根据 ......
算法 React diff

Vue3 diff算法详解

Diff 更新算法 由于目前Vue3对于性能的优化做了很多的处理,所以其在更新时并不会对所有的节点都进行diff更新。目前会进行diff更新的有以下两种情况: v-for容器节点 自写的render()函数 还有一种特殊情况会进行无diff的按序更新,这种更新是全替换模式,非常耗时: 无key值的v ......
算法 Vue3 diff Vue

Vue2 的 diff 算法详解

所谓 diff 算法,就是通过比对新旧两个虚拟节点不一样的地方,针对那些不一样的地方进行新增或更新或删除操作。接下来详细介绍节点更新的过程。 首先进行静态节点处理,判断新旧两个虚拟节点是否是静态节点,如果是,就不需要进行更新操作,可以直接跳过更新比对的过程 。 再更新处理新老节点的属性,获取新老节点 ......
算法 Vue2 diff Vue

【Lidar】Python实现点云CSF布料滤波算法&提取地面点

这两天会持续更新一下Python处理点云数据的教程,大家可以点个关注。今天给大家分享一下点云的经典算法:CSF布料模拟算法。 ......
布料 算法 地面 Python Lidar

文心一言 VS 讯飞星火 VS chatgpt (152)-- 算法导论12.2 8题

八、用go语言,证明:在一棵高度为 h 的二叉搜索树中,不论从哪个结点开始,k 次连续的 TREE-SUCCESSOR 调用所需时间为 O(k+h)。 文心一言: 要证明在一棵高度为 h 的二叉搜索树中,不论从哪个结点开始,k 次连续的 TREE-SUCCESSOR 调用所需时间为 O(k+h),我 ......
文心 导论 算法 chatgpt VS

【算法】【线性表】搜索旋转排序数组(无重复数据)

1 题目 给定一个有序数组,但是数组以某个元素作为支点进行了旋转(比如,0 1 2 4 5 6 7 可能成为4 5 6 7 0 1 2)。给定一个目标值target进行搜索,如果在数组中找到目标值返回数组中的索引位置,否则返回-1。你可以假设数组中不存在重复的元素。 样例 1: 输入: 数组 = [ ......
数组 线性 算法 数据

深度学习中前馈神经网络的认识以及损失函数,梯度下降的一些算法

1.前馈神经网络 前馈神经网络就是上次提到的网络模型的基础上它仅可以向前传播,往前传播应该有的权值w,不断提取特征 2.损失函数 损失函数是什么? 它是输入之后在隐藏层的传播过程中每一次数据传入对它预测结束之后都有一个预测值,这个预测值和真实得出来的结果有一定的误差,对这个误差进行拟合,需要用一些函 ......
神经网络 梯度 算法 函数 深度

算法【快速排序】

算法【快速排序】 快速排序。选择一个作为比较的元素,这里我们选择首元素,这个元素我叫他‘比较元素’;前后两个指针(其实是索引变量)同时往后和往前进行遍历,开头的指针遇到比‘比较元素’大的元素停下来(空循环体的循环即可实现),末尾的指针往前遍历,遇到比‘比较元素’小的元素停下来;两个元素都停止后,交换 ......
算法

一些震惊世界的算法。

\(O(1)\) 最小流。 \(O(1)\) 最小费用最小流。 \(O(1)\) 求区间子串个数。 \(O(1)\) 用 1 种颜色对图染色。 \(O(1)\) 对一个 DAG 缩点。 \(O(1)\) 计算 \(1^{x}\)。 \(O(1)\) 对一个无向无环连通图求最小生成树。 \(O(1)\ ......
算法 世界

Kosaraju 算法学习笔记(求强连通分量)

写起来简单无比,不比 Tarjan 香? 方法 按照[1...n]的顺序在反图(边方向相反)上dfs一遍,出栈时将节点存入数组q[1...n]中 按照q[n...1]的顺序在原图上dfs一遍,每次遍历就是一个新的强联通分量 为什么是正确的? 核心在于封死连通分量往外走的路。 如果原图u-->v有一条 ......
分量 算法 Kosaraju 笔记