算法

51k+ Star!动画图解、一键运行的数据结构与算法教程!

hello-algo(《Hello 算法》) —— 动画图解、一键运行的数据结构与算法教程,支持 Java、C++、 Python、 Go、 JS、 TS、 C#、 Swift、 Rust、 Dart、 Zig 等语言。 ......
数据结构 算法 结构 动画 教程

acwing week2 基础算法3总结

acwing week2 基础算法3总结 总结点1:双指针算法 //常用模版框架 for (int i = 0, j = 0; i < n; i ++ ) { while (j < i && check(i, j)) j ++ ; } 常见问题分类: (1) 对于一个序列,用两个指针维护一段区间 ( ......
算法 基础 acwing week2 week

区间合并算法总结

区间合并使用贪心算法,对于区间问题,通常需要对左端点排序、右端点排序或者左端点和右端点双关键字排序。区间合并算法的算法步骤: 1. 按照区间左端点排序。 2. 扫描过程中,每次维护一个当前的区间。 题目链接: https://www.acwing.com/problem/content/805/ 代 ......
区间 算法

离散化算法总结

离散化是将大范围的数字映射到小范围的区间内,适用于稀疏的区间。 两个问题需要考虑: 1. 原数组中可能有重复元素,需要去重。 2. 如何算出离散化后的值(离散化后保序,使用二分)。 题目链接: https://www.acwing.com/problem/content/804/ 代码: #incl ......
算法

代码随想录算法训练营第三天 | 203.移除链表元素 707.设计链表 206.反转链表

LeetCode 203.移除链表元素 视频链接: LeetCode203 思路: 根据链表的性质,将目标值对应的节点保存在一个临时节点中,再重新设置cur下一个节点,再将临时节点进行删除 class Solution { public: ListNode* removeElements(ListN ......
随想录 训练营 随想 算法 元素

Tomasulo算法小结

总结 L.D F6, 24(R2) L.D F2, 12(R3) MUL.D F0, F2, F4 SUB.D F8, F6, F2 DIV.D F10, F0, F6 ADD.D F6, F8, F2 以以上的代码为例,当指令MUL.D即将确认时,保留站、load缓冲器以及寄存器状态表中的内容。 ......
小结 算法 Tomasulo

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

二、用go语言,写出 TREE-MINIMUM 和 TREE-MAXIMUM 的递归版本。 灵捷3.5 。 文心一言: 以下是用 Go 语言编写的树的最大值和最小值的递归版本代码: package main import ( "fmt" ) type TreeNode struct { Val in ......
文心 导论 算法 chatgpt VS

数据结构与算法之单链表-----黑马程序员(26-35)

1.链表的概念 在计算机科学中,链表是数据元素的线性集合,其每个元素都指向下一个元素,元素储存上并不连续。 创建链表如图所示和相关代码 public class danlianbiao { private Node head=null;//头部第一个结点 private static class N ......
数据结构 黑马 程序员 算法 结构

6、常用算法和正则表达式

常用算法 double x=-92.42,y=25.98; double result1=qAbs(x); //取正数 qDebug() << "x="<<x<<";result="<<result1; double maxResult=qMax(result1,y); // 求2个数的最大数 qD ......
正则 表达式 算法 常用

一个算法笨蛋的11月leetCode刷题日记

时间 情况 2021年10月29日 时隔一年,第三次重做反转链表,又没做出来,太废了。 2021年11月1日 时隔两天,第四次重做反转链表,轻松写出 【21】合并两个有序链表(思路:想象两个有序链表,需要新建两个next指向头节点的空node,一个用于最后返回.next,一个用于接收最小的node) ......
算法 笨蛋 leetCode 日记

时间复杂度为 O(n^2) 的排序算法

对于小规模数据,我们可以选用时间复杂度为 O(n2) 的排序算法。因为时间复杂度并不代表实际代码的执行时间,它省去了低阶、系数和常数,仅代表的增长趋势,所以在小规模数据情况下, O(n2) 的排序算法可能会比 O(nlogn) 的排序算法执行效率高。不过随着数据规模增大, O(nlogn) 的排序算... ......
复杂度 算法 时间

Viola-Jones 人眼检测算法+meanshift跟踪算法

clc; clear all;close all;clf reset; %% %%%%%%%%%%%%%%%%%%%%%%%% 人眼检测部分开始 %%%%%%%%%%%%%%%%%%%%%% videoObj = VideoReader('eye.mp4');%读视频文件 nframes = get ......
算法 人眼 Viola-Jones meanshift Viola

位运算算法总结

如何求n的二进制表示中第k位是几? 1.先把第k位移到最后一位:n >> k 2.看个位是几:x & 1 综合得到:n >> k & 1返回的是n的二进制表示中第k位 题目链接: https://www.acwing.com/problem/content/803/ 题解: 用到lowbit(x) ......
算法

算法问题求解

算法问题求解通常包括以下几个步骤: 1.理解问题:首先要充分了解问题的背景、需求和具体内容,明确问题的目标。 2.设计算法:设计算法是计算机求解算法的核心部分。算法是解决问题的一种策略或方法。设计算法时,我们需要考虑问题的特性,并选择适当的数据结构和算法技术来设计算法。算法应该具有可行性、高效性和正 ......
算法 问题

快速 log2 取整算法 (O(1) 时间与空间复杂度)

先上核心代码(文末附针对多种整数类型的代码): inline int log_2(int x) { int rst = 0; if (x & 0xffff'0000U) rst += 16, x >>= 16; if (x & 0x0000'ff00U) rst += 8, x >>= 8; if ......
复杂度 时间与空间 算法 时间 log2

代码随想录算法训练营第二天 | 977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II

LeetCode 977.有序数组的平方 视频连接: LeetCode 977 思路: 利用双指针,通过首指针和尾指针的平方值比较,大的那个装入新的vector数组中,然后再更新指针。 class Solution { public: vector<int> sortedSquares(vector ......
数组 随想录 训练营 矩阵 螺旋

双指针算法总结

双指针算法分为两类:第一类指向一个序列(更多的情况),第二类指向两个序列。 基本的代码框架是: for (i = 0, j = 0; i < n; i++) { while (j < i && check(i, j)) j++; // 每道题目的具体逻辑 } 核心思想:运用单调性等性质,将O(n2) ......
指针 算法

机器学习中的典型算法——卷积神经网络(CNN)

1.机器学习的定位 AI,是我们当今这个时代的热门话题,那AI到底是啥? 通过翻译可知:人工智能,而人工智能的四个核心要素: -数据 -算法 -算力 -场景 然后机器学习是人工智能的一部分,机器学习里面又有新的特例:深度学习。 通俗来说机器学习即使用机器去学习一部分数据,然后去预测新的数据所属的某一 ......
卷积 神经网络 算法 典型 神经

刚硬矩阵 (2) Walsh–Hadamard 变换的 "更快" 算法

\(\newcommand{\sfT}{\mathsf T}\newcommand{\rank}{\operatorname{rank}}\) 为了避免歧义, 我们这里约定 \[H = \begin{bmatrix}1 & 1 \\ 1 & -1\end{bmatrix}, \]以及 \(2^n\t ......
矩阵 quot 算法 更快 Hadamard

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

一、用go语言,假设一棵二叉搜索树中的结点在1到 1000 之间,现在想要查找数值为 363 的结点。下面序列中哪个不是查找过的序列? a.2,252,401,398,330,344,397,363。 b.924,220,911,244,898,258,362,363。 c.925,202,911, ......
文心 导论 算法 chatgpt VS

基于MUSIC算法的二维超声波成像matlab仿真

1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.算法理论概述 MUSIC (Multiple Signal Classification) 算法是一种广泛应用于信号处理领域的算法,它可以用于估计信号的波达方向或频率。在超声波成像中,MUSIC 算法可以用于提高图像的分辨率和 ......
超声 超声波 算法 matlab MUSIC

垃圾收集算法

垃圾收集算法 在Java内存运行时区域中,堆和方法区有着显著的不确定性: 接口的多个实现类需要的内存可能不同 方法执行中不同条件需要的内存空间也不同 这部分内存的分配和回收是动态的。 两个问题,回收谁、怎么回收 回收谁——可回收垃圾(算法) 当对象没有被任何地方引用时,显然是可回收的, 引用计数算法 ......
算法 垃圾

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

1.算法运行效果图预览 2.算法运行软件版本 vivado2019.2 matlab2022a 3.算法理论概述 FPGA(Field-Programmable Gate Array)是一种可编程逻辑电路,可以通过编程实现各种算法,包括图像白平衡算法。图像白平衡算法是一种用于调整图像颜色温度的方法, ......
算法 图像 文件 MATLAB FPGA

程序开发中常用的10种算法,你用过几种?

当编写程序时,了解和使用不同的算法对解决问题至关重要。以下是C#中常用的10种算法,每个算法都伴随着示例代码和详细说明。 1. 冒泡排序 (Bubble Sort): 冒泡排序是一种简单的比较排序算法,它多次遍历数组,将较大的元素逐渐浮动到数组的末尾。 public static void Bubb ......
程序开发 算法 常用 程序

算法

1.二分 2.双指针 3.简单数据结构:栈、队列、优先队列、hash、trie 4.位运算 5.高级数据结构:并查集、树状数组、kmp、RMQ、线段树、主席树 6.bfs宽搜,dfs+数位dp 7.图论:拓扑、floyed、dijkstra、kurskal、抽象图论、强连通 8.动态规划:背包和变形 ......
算法

算法学习笔记_1

23.4 1. 一个C++输入时加速的好办法。 #include using namespace std; int main(){ std::ios::sync_with_stdio(false); cin.tie(0); return 0; } ios::sync_with_stdio(false ......
算法 笔记

算法学习笔记_2

2023.5 面向对象C++ : 函数 1. 缺省值 (1)函数调用时,如果一个参数使用了缺省值,那么后面的所有参数都要使用缺省值。 (2)参数的缺省值在函数声明中指定,而不是在函数定义中指定。在一个文件中,一个参数只能被指定一次缺省值。 print ( x ); // 等价于print ( x, ......
算法 笔记

程序设计实践基础算法模板

程设 复习 代码 1.kruscal #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; #define MAXN 100000 struct rec{int x ......
程序设计 算法 模板 基础 程序

音频混音算法的研究

什么是音频混音?把多种来源的声音,整合至一个立体音轨(Stereo)或单音音轨(Mono)中,从实际的业务场景来看,比如,使用抖音上传一段本地视频的时候,可以选择添加背景音乐,合成出来的视频既有本地视频的原音,也有添加的背景音乐。 音频混音的原理声音是由于物体的振动对周围的空气产生压力而传播的一种压 ......
算法 音频

查找算法

查找 1.二分查找 二分查找的思路分析有序序列 1.首先确定该数组的中间的下标 mid= (left+right) / 2 2.然后让需要查找的数findval和arr[mid] 比较 2.1findval>arr[mid],说明你要查找的数在mid 的右边,因此需要递归的向右查找 2.2 find ......
算法