几何 算法

m基于混合高斯模型和帧间差分相融合的自适应视频背景提取算法matlab仿真

1.算法仿真效果 matlab2013b仿真结果如下: 混合高斯模型背景提取: 利用混合高斯模型处理这段视频,黑车已经运动离开画面左下角时,左下角仍然有黑车,这种现象我们称为“鬼影”。其产生的原因是由于混合高斯模型是对图像每个像素建立模型,所以算法的更新速度跟不上物体的变化,产生了滞留情况,这就是“ ......
算法 模型 背景 matlab 视频

扎实打牢数据结构算法根基,从此不怕算法面试系列之010 week02 01-01 最简单的排序算法-选择排序法的设计思想

#1、基础排序算法 接下类,我们学习另外一类非常基础的算法,即排序算法。 排序算法是计算机科学领域研究的非常深入的一类算法,排序这个动作本身也是非常重要的, 很多时候面对无需的数据,首先需要做的就是对他们进行排序。 排序算法——目的:让数据有序。 排序算法——种类:种类也非常多,适用于不同的情景。 ......

查找算法

查找算法 1. 线性查找 线性查找(Order Search)是最简单的一种查找算法,直接从头到尾遍历,直至找到要查找的值为止。 1.1 代码实现 package com.algorithm; /** * @author SnkrGao * @create 2023-04-20 19:52 */ p ......
算法

算法学习day01数组part02-209、59、977

package LeetCode.arraypart02; /** * 209. 长度最小的子数组 * 给定一个含有n个正整数的数组和一个正整数 target 。 * 找出该数组中满足其和 ≥ target 的长度最小的 连续子数组[numsl, numsl+1, ..., numsr-1, num ......
数组 算法 part day 209

快速幂算法——求a^b % p的一种快速方法

先想暴力怎么求解 可以循环b次,每次从而求出a^b % p,时间复杂度为O(b),而这里的b是很大的,达到了2 * 10 ^ 9数量级,所以这么做会TLE 1 #include <iostream> 2 using namespace std; 3 int main() { 4 int a, b, ......
算法 方法

算法、一个数组中有10个数字,把这组数数据分在div上,每个div上最多只能有4个数字,用for循环怎么实现

来自chartGPT的写法: const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; const divNum = 4; // 每个div上最多只能有4个数字 for (let i = 0; i < arr.length; i += divNum) { const ......
数字 数组 算法 div 数据

基础算法-快速排序

思路 快速排序是一种常见的排序算法,它的基本思路是通过分治的方法将一个大的问题分解成小的问题进行解决。具体而言,快速排序的核心思路是选取一个枢轴元素,将序列分为两个子序列,其中一个子序列的所有元素都比枢轴元素小,而另一个子序列的所有元素都比枢轴元素大,然后对这两个子序列分别进行递归排序,直到子序列的 ......
算法 基础

基础算法-堆排序

思路 堆是一种完全二叉树,其中每个节点的值都大于或等于其子节点的值,被称为“大根堆”;或者每个节点的值都小于或等于其子节点的值,被称为“小根堆”。在堆排序中,我们使用的是大根堆,即根节点的值是最大的元素。 堆排序的基本思路是: 建立一个大根堆。将待排序的序列构建成一个大根堆,即所有非叶子节点的值都大 ......
算法 基础

基本算法-基数排序

思想 当我们需要对一组数据进行排序时,常规的排序算法(如快速排序、归并排序等)通常是比较排序,即通过比较元素之间的大小关系来进行排序。但有时候我们需要对一组数据按照它们的“数字位”进行排序,此时比较排序并不是最优的选择,这时候基数排序就显得非常有效了。 基数排序是一种非比较排序算法,它根据元素的每个 ......
基数 算法

基于RL(Q-Learning)的迷宫寻路算法

强化学习是一种机器学习方法,旨在通过智能体在与环境交互的过程中不断优化其行动策略来实现特定目标。与其他机器学习方法不同,强化学习涉及到智能体对环境的观测、选择行动并接收奖励或惩罚。因此,强化学习适用于那些需要自主决策的复杂问题,比如游戏、机器人控制、自动驾驶等。强化学习可以分为基于价值的方法和基于策 ......
迷宫 算法 Q-Learning Learning RL

Redis 为何使用Nearly LRU 算法淘汰数据

Redis 使用该 LRU 算法淘汰过期数据吗?不是的。 由于 LRU 算法需要用链表管理所有的数据,会造成大量额外的空间消耗。 大量的节点被访问就会带来频繁的链表节点移动操作,从而降低了 Redis 性能。 Redis的内存空间是很宝贵的,而维护LRU的双向链表需要使用比较多的额外空间,至少需要一 ......
算法 数据 Nearly Redis LRU

C++写算法常用函数

title: C++写算法常用函数 字符串转数字 int num = stoi(s); 数字转字符串 string s = to_string(num); 字符串末尾添加字符 s.push_back('a'); 字符串末尾添加字符串 s.append("asd"); 字符串读取 1、用cin读取 s ......
算法 函数 常用

JVM垃圾回收机制之对象回收算法

在前面的文章中,介绍了JVM内存模型分为:堆区、虚拟机栈、方法区、本地方法区和程序计数器,其中堆区是JVM中最大的一块内存区域,在Java中的所有对象实例都保存在此区域,它能被所有线程共享。 在Java中还有一个重要的机制:GC(垃圾收集器),堆是GC管理的主要区域,本文会带大家了解GC机制。 GC ......
算法 机制 对象 垃圾 JVM

Python用哈希算法查找相似图片(包括不同分辨率,不同大小,不同格式的图片)

# -*- coding: utf-8 -*- ''' Python用哈希算法查找相似图片并放入[_df]的文件夹中 相似图片包括不同分辨率,不同大小,不同格式,只要图片相似就会算重复文件 安装cv2 pip install opencv-python ''' import os import cv ......
图片 算法 分辨率 大小 格式

从原理聊JVM(一):染色标记和垃圾回收算法

本篇介绍了JVM中垃圾回收器相关的基础知识,后续会深入介绍CMS、G1、ZGC等不同垃圾收集器的运作流程和原理,欢迎关注。 ......
算法 标记 原理 垃圾 JVM

Diffie-Hellman密钥交换算法

隐私计算常用到各种加密算法,那么双方如何协商得到同一个不被泄露的密钥呢? 一种做法是基于RSA,拥有公钥的一方将随机私钥加密提供给对方,对方再利用私钥解密出密钥。于是双方都得到了会话密钥。 本篇是另一种密钥交换算法,可以保证“通讯双方在完全没有对方任何预先信息的条件下通过不安全信道创建起一个密钥”:... ......
密钥 Diffie-Hellman 算法 Hellman Diffie

算法题目

-- coding: utf-8 -- """ Created on Wed Jun 1 15:34:00 2022 @author: guess who i am """ 说明: 1 本文共一百八九十道题,涵盖了截止2022.6.30我在网上所见到的所有题,真正的最全题库,只有答案没有题目。 ht ......
算法 题目

牛顿迭代法求方程根(递归算法)

#include<iostream>#include<cmath>using namespace std;double f_origianal(double a, double b, double c, double d, double newx){ return a * pow(newx, 3) ......
迭代法 方程 算法

护士排班——线性规划算法的实现

一、问题描述 护士排班问题是指在医院中,如何合理地安排护士的工作时间,以满足患者的需求,同时保证护士的工作质量和生活质量。该问题通常涉及到多个护士、多个班次和多个工作日,需要考虑护士的工作时间、休息时间、轮班时间等因素。 二、线性规划模型 为了解决护士排班问题,可以采用线性规划模型。假设有 n 个护 ......
线性 算法 护士

几何算法

C++常用计算几何算法 - 小四的海市蜃楼 - C++博客 (cppblog.com) (59条消息) C++常用计算几何算法_计算几何常用算法 c++_Belial_2010的博客-CSDN博客 ......
几何 算法

哈茨霍恩怎样写出了名著《代数几何》

哈茨霍恩(Robin Hartshorne)是著名的代数几何学家,他在上个世纪的70年代写了一本关于现代代数几何的英文经典教材《代数几何》(Algebraic Geometry),该书在1977年作为著名的GTM(研究生数学课本)丛书中的第52卷,由Springer-Verlag出版社出版。1994 ......
代数 几何 名著

4-算法

常见的七种查找算法: 1. 基本查找 ​ 也叫做顺序查找 说明:顺序查找适合于存储结构为数组或者链表。 基本思想:顺序查找也称为线形查找,属于无序查找算法。从数据结构线的一端开始,顺序扫描,依次将遍历到的结点与要查找的值相比较,若相等则表示查找成功;若遍历结束仍没有找到相同的,表示查找失败。 示例代 ......
算法

SQL JOIN的常见连接算法(转载)

原文:https://zhuanlan.zhihu.com/p/495442432 在数据库和大数据领域,通过SQL中的JOIN连接将两个及两个以上的表(或中间表、视图、物化视图)中的数据 按指定的连接条件关联起来,是很常用也很方便的操作。 我们前面学习了JOIN有多种常见连接方式如内连接INNER ......
算法 常见 JOIN SQL

C#中使用CAS实现无锁算法

CAS 的基本概念 CAS(Compare-and-Swap)是一种多线程并发编程中常用的原子操作,用于实现多线程间的同步和互斥访问。 它操作通常包含三个参数:一个内存地址(通常是一个共享变量的地址)、期望的旧值和新值。 CompareAndSwap(内存地址,期望的旧值,新值) CAS 操作会比较 ......
算法 CAS

快速排序以及快速排序常用的三种算法

快速排序相比其他极大排序在效率和空间复杂度上都算是比较优得。并且在进行了三数取中优化以后,除了及其小的情况外,基本能保持logn的时间复杂度。 三数取中法;在一堆数据中随机取三个数,然后取其中间大小的数。 有了三数取中的基础以后,快速排序的key就可以用三数取中来完成了。 1:快速排序有三种常用的方 ......
算法 常用

QuHai互联科技 算法题部分

11、实现计算第n个斐波那契数 12、给定一个字符串编码规则,如输入字符串”Y3E12S!3”,字母后面的数字表示该字符重复几次,如果字符后没有数字则表示一个字符,最终输出转码后的字符串’YYYEEEEEEEEEEEES!!!’。试写出转码的函数,编程语言不限。 13、简述你所了解的两种或以上排序算 ......
算法 部分 QuHai 科技

扎实打牢数据结构算法根基,从此不怕算法面试系列之week01 02-09 测试算法时间复杂度性能的方式方法

#1、数组生成器 测试算法性能肯定不能自己手动声明创建数组了,在现代计算机上,对于O(n)级别的算法,都需要10W级别以上的数据才能看到性能,我们肯定不能手动声明10W个元素的数组吧? 所以,创建数组生成器。 这里,自己创建一个数组生成器——ArrayGenerator。 package com.m ......
算法 复杂度 数据结构 根基 性能

学习十大排序算法(1)——选择排序【实现方法c语言】

十大排序算法第一节——选择排序 复制代码直接滑到最后!!! 选择排序就是找到(最大或者)最小元素,放到最开始的位置,然后就是在没有排序的序列中找到最小的排在已经排好的序列之后,直至没有排数列排完。(自己的理解) 大概解释代码其中的细节:第6行中的sizeof的用法是求出括号里面的所占的字节数,比如s ......
算法 语言 方法

vue2源码-十、diff算法

diff算法 diff算法的特点就是平级比较,内部采用了双指针方式进行优化,优化了常见的操作。采用了递归比较的方式。 针对一个节点的diff算法 先拿出根节点来进行比较如果是同一个节点则比较属性,如果不是同一个节点则直接换成最新的即可。 同一个节点比较属性后,复用老节点 比较儿子 一方有儿子 一方没 ......
算法 源码 vue2 diff vue

福特-富克森算法

福特-富克森(Ford-Fulkerson)算法是一种求解最大流问题的经典算法,它的基本思想是通过不断地增广路径来找到最大流。 最大流问题通常是指在网络中找到从源点到汇点的最大流量,其中网络由若干条有向边组成,每条边都有一个容量,表示该边可以通过的最大流量。最大流问题的目标是找到一个流,使得从源点到 ......
算法