数列 前缀 区间 算法
Kruskal算法是一种用于寻找图的最小生成树的贪心算法。它通过按照边的权重递增的顺序选择边,并将其添加到生成树中,同时确保不会形成环路。
Kruskal算法可以通过生活中的例子来解释。我们可以将城市之间的道路网络看作是一个图,每个城市是一个顶点,道路是连接城市的边,而道路的长度可以看作是边的权重。假设我们想要修建一条连接所有城市的最小成本道路网络。 首先,我们需要找到连接城市的所有道路,并按照道路的长度进行排序。然后,我们从最短的道路 ......
扩展欧几里得算法
# 裴蜀定理 对于任意正整数 $a,b$,记 $g=(a,b)$,一定存在整数 $x,y$,使得 $ax+by=g$,且能凑出的数一定是 $g$ 的倍数。 首先由于 $a,b$ 都是 $g$ 的倍数,所以能凑出的数必定是 $g$ 的倍数。 关键在于怎么证明一定存在整数 $x,y$,使得 $ax+by ......
STL容器和算法
[toc] # STL容器和算法 ## 基本概念 标准模板库,主要分为容器、算法、迭代器。 通过迭代器访问容器中的数据,并进行算法操作。 所有代码采用模板类和模板函数的方式。 ## 容器 ### 容器的分类 #### 序列式容器 每个元素都有固定位置,该位置取决于插入时机和地点,和元素值无关。 ve ......
快速幂算法
# 快速幂 洛谷 P1226 【模板】快速幂||取余运算 ```c++ #include using namespace std; typedef long long ll; ll quickpow(ll a, ll b, ll p = 10) { // 计算a的b次方 if (b == 0) re ......
算法总结
# 前言: 有关于算法的一切的大合集 # 基本数据结构及排序方法手撸 - 完全二叉树/满二叉树 - 红黑树 1. 节点分为红色或者黑色; 2. 根节点必为黑色; 3. 叶子节点都为黑色,且为null; 4. 连接红色节点的两个子节点都为黑色(红黑树不会出现相邻的红色节点); 5. 从任意节点出发,到 ......
第二十三节 API(算法,lambda,练习)
# 常见的七种查找算法: 数据结构是数据存储的方式,算法是数据计算的方式。所以在开发中,算法和数据结构息息相关。今天的讲义中会涉及部分数据结构的专业名词,如果各位铁粉有疑惑,可以先看一下哥们后面录制的数据结构,再回头看算法。 ## 1. 基本查找 也叫做顺序查找 说明:顺序查找适合于存储 ......
python语言算法设计培训
义务教育新课程标准要求信息科技课程要培养学生学生的核心素养,主要包括信息意识、计算思维、数字化学习与创新、信息社会责任。计算思维作为信息科技课程的核心素养的关键要素,充分彰显信息科技课的独特价值。 ......
UFCFT4-15-3 加密系统算法
MODULAR PROGRAMMECOURSEWORK ASSESSMENT SPECIFICATION Module DetailsModule CodeUFCFT4-15-3 Run sem 3FIRST SIT 2023/24 Module Title CryptographyModule L ......
基础入门-算法分析&传输加密&数据格式&密文存储&代码混淆&逆向保护
基础入门-算法分析&传输加密&数据格式&密文存储&代码混淆&逆向保护 基础入门-算法分析&传输加密&数据格式&密文存储&代码混淆&逆向保护传输数据-编码型&加密型等传输格式-常规&JSON&XML等密码存储-Web&系统&三方应用代码混淆-源代码加密&逆向保护加密:1.常见加密编码进制等算法解析2. ......
c++算法之动态规划:01背包
什么是动态规划? 动态规划算法(dynamic programing),是一种由递推为基础的比贪心更稳定的一种优化策略,为运筹学的一部分。就是通过以递推为基础的手段非暴力求出最值。 它的总体思想其实就是一个比较过程:假如你有一个数据,它的价值是x,代价为y,如果用动态规划就是和你不加这个元素和你加上 ......
RSA 加密算法
> 博客地址:https://www.cnblogs.com/zylyehuo/ * ![](https://img2023.cnblogs.com/blog/3071480/202308/3071480-20230820003856278-1422713888.png) * ![](https:/ ......
【剑指Offer】7、斐波那契数列
# 【剑指Offer】7、斐波那契数列 **题目描述:** 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。假设n<=39。 **解题思路:** 斐波那契数列:0,1,1,2,3,5,8........ 总结起来就是:第一项是0,第二项是1,后续 ......
欧几里得算法(辗转相除法)-- 实现分数计算
> 博客地址:https://www.cnblogs.com/zylyehuo/ ```python # -*- coding: utf-8 -*- """ 利用欧几里得算法实现一个分数类,支持分数的四则运算(加法) """ class Fraction: def __init__(self, a, ......
【学习笔记】(23) 常用距离算法详解
本文主要讲述这三种常见距离算法 :欧氏距离,曼哈顿距离,切比雪夫距离 。 ## 1.欧氏距离 **欧氏距离** 是最易于理解的一种距离算法。在数学的平面直角坐标系中,设点 $A,B$ 的坐标分别为 $A(x_1,y_1),B(x_2,y_2)$,求点 $A,B$ 之间的距离,我们一般会使用如下公式: ......
欧几里得算法(辗转相除法)-- 计算两个数的最大公约数
> 博客地址:https://www.cnblogs.com/zylyehuo/ ```python # -*- coding: utf-8 -*- # 递归 def gcd(a, b): if b == 0: return a else: return gcd(b, a % b) print(gc ......
强化学习算法如何将GPU利用率提高到100%——在线强化学习如何将GPU利用率提升至100%
一直有个疑问,那就是“强化学习算法如何将GPU利用率提高到100%”,在一些论坛中也有人会提出这样的问题,但是一直也没有人比较正面的回答过这个问题,为此正好自己又想到了这么一个问题,于是想在这里正面的谈论下这个问题。 ......
《区间最值操作与历史最值问题》(吉如一)阅读笔记
## A. 基础区间最值操作 ### 问题描述 给定一个序列 $A$,需要支持以下操作: 1. 给定区间,将内部所有元素对 $X$ 取最大值。 1. 询问区间和。 ### 解法 首先,传统的线段树区间操作时间复杂度为 $\Theta(\log n)$,这是基于任何一个区间在线段树上作拆解,最终得到的 ......
COMP3506/7505 算法与数据结构
Assignment One – 15%Algorithms and Data Structures – COMP3506/7505 – Semester 2, 2023Due: 3pm on Friday September 1st (week 6)SummaryThe main objectiv ......
08-调度算法
# 08-调度算法 ## 一、背景 ### 1. CPU调度 **上下文切换** * 切换CPU的当前任务,从一个进程/线程到另一个 * 保存当前进程/线程在PCB/TCB中的执行上下文(CPU状态) * 读取下一个进程/线程的上下文 **CPU调度** * 从就绪队列中挑选一个进程/线程作为CPU ......
python机器学习经典算法代码示例及思维导图(数学建模必备)
最近几天学习了机器学习经典算法,通过此次学习入门了机器学习,并将经典算法的代码实现并记录下来,方便后续查找与使用。 ......
文心一言 VS 讯飞星火 VS chatgpt (78)-- 算法导论7.4 2题
# 二、如果用go语言,证明:在最好情况下,快速排序的运行时间为 Ω(nlgn)。 ## 文心一言: 在最好情况下,快速排序的运行时间为Ω(nlgn)的证明如下: 快速排序是一种分治算法,它将一个数组分成两个子数组,然后对这两个子数组分别进行排序。在最好情况下,每次划分都能将数组等分,即每次划分后得 ......
经典c语言排序算法
# 前言 前段时间偶然在公众号中看到了一篇汇总c语言排序算法的文章,感觉蛮不错的,这里直接copy记录下,学习积累一下。 [演示C语言经典排序算法 (qq.com)](https://mp.weixin.qq.com/s/gMpUouNHP9rscsXZuPm1Uw) # 排序算法简介 ## 1.算 ......
[代码随想录]Day22-回溯算法part02
## 题目:[216. 组合总和 III](https://leetcode.cn/problems/combination-sum-iii/) ### 思路: 多加一个记录和的参数,还有一个起始位置的参数(不重复就得加) 结束条件是个数到了k: 1. 如果此时sum == n那就说明答案正确 2. ......
算法复杂度和简单排序
1. 选择排序和冒泡排序 选择排序是O(n2),每次选取最大的,放在最前面,然后下次从第二个开始找到最后一个。 冒泡也是O(n2),一直交换到最后。 2. 插入排序 插入排序最坏是O(n2),最好是O(n),但是算法一般都是按照最坏的来。插入是先排序0-1,然后0-2,然后0-3,eq.:排序0-5 ......
动态规划--斐波那契数列
> 博客地址:https://www.cnblogs.com/zylyehuo/ * ![](https://img2023.cnblogs.com/blog/3071480/202308/3071480-20230819111410729-599722934.png) ```python # -* ......
贪心算法--活动选择问题
> 博客地址:https://www.cnblogs.com/zylyehuo/ * ![](https://img2023.cnblogs.com/blog/3071480/202308/3071480-20230819103606130-1305426951.png) * ![](https:/ ......
贪心算法--拼接最大数字问题
> 博客地址:https://www.cnblogs.com/zylyehuo/ * ![](https://img2023.cnblogs.com/blog/3071480/202308/3071480-20230819103408921-1043621003.png) * ![](https:/ ......
基于形态学处理的条形码数字分割和识别算法MATLAB仿真
1.算法理论概述 条形码数字的分割和识别是自动识别技术中的重要研究方向之一。本文将从专业角度详细介绍基于形态学处理的条形码数字分割和识别算法,包括实现步骤和数学公式的详细介绍。 一、算法概述 基于形态学处理的条形码数字分割和识别算法包括以下步骤: 图像预处理:对原始图像进行预处理,包括调整亮度和对比 ......
贪心算法--背包问题--分数背包
> 博客地址:https://www.cnblogs.com/zylyehuo/ * ![](https://img2023.cnblogs.com/blog/3071480/202308/3071480-20230818215830809-449168614.png) * ![](https:// ......