算法专题

[算法][贪心算法][数组][leetcode]2589. 完成所有任务的最少时间

题目地址 https://leetcode.cn/problems/minimum-time-to-complete-all-tasks/description/ 思路 题解 public static int findMinimumTime(int[][] tasks) {//先将数数组进行尾端升序排列Arrays.sort(tasks, (a, b) -> a[1

代码随想录算法训练营第40天|● 343. 整数拆分 ● 96.不同的二叉搜索树

343. 整数拆分 动归 递归拆 class Solution:def integerBreak(self, n: int) -> int:dp=[0]*(n+1)dp[2]=1for i in range(3,n+1):for j in range(1,i//2+1):dp[i]=max(dp[i],(i-j)*j,dp[i-j]*j)return dp[n] 公式:全拆3,剩1个4

ACM学习历程30——回溯算法

一、回溯算法也叫试探法,它是一种系统地搜索问题的解的方法。回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。用回溯算法解决问题的一般步骤为: 1、定义一个解空间,它包含问题的解。 2、利用适于搜索的方法组织解空间。 3、利用深度优先法搜索解空间。 4、利用限界函数避免移动到不可能产生解的子空间。 二、回溯举例 2.1皇后问题 问题描述:在n×n 格的棋

无向连通网的最小生成树算法[第3部分]

普利姆算法的测试数据如下:每行数据表示边的两个端点和权值10 131 0 42 1 23 0 34 3 85 1 25 2 25 4 16 3 107 4 48 5 48 7 69 6 59 7 2 普利姆最小生成树算法: /*时间:2017.1.1描述:普利姆算法求解最小生成树*/#include<iostream>#include<climits>#in

无向连通网的最小生成树算法[第2部分]

4.2 primMst算法及时间复杂度分析 void primMst(int **AdjMatrix,EDGENODE *edgeSet,int n,int start){int iter,minPos,to;EDGENODE edge;initEdgeSet(AdjMatrix,edgeSet,n,start); //初始化边集合for(iter=0;iter<n-1

无向连通网的最小生成树算法[第1部分]

摘要:求解图的最小生成树在工程管理、最优化规划等领域有广泛的应用,因此对最小生成树算法的研究具有重要的意义。本文针对图的最小生成树算法,首先对几种经典的最小生成树算法进行了总结,最后针对无向连通网的最小生成树问题,分别使用普利姆算法和克鲁斯卡尔算法进行了详细的算法原理分析与程序实现。 关键词:无向连通网;最小生成树算法;普利姆算法;克鲁斯卡尔算法 The Minimum Spanning Tr

优化算法——人工蜂群算法(ABC)

一、人工蜂群算法的介绍 人工蜂群算法(Artificial Bee Colony, ABC)是由Karaboga于2005年提出的一种新颖的基于群智能的全局优化算法,其直观背景来源于蜂群的采蜜行为,蜜蜂根据各自的分工进行不同的活动,并实现蜂群信息的共享和交流,从而找到问题的最优解。人工蜂群算法属于群智能算法的一种。 二、人工蜂群算法的原理     1、原理 标准的ABC算法通过模拟实际蜜

(1)双指针算法介绍与练习:移动零

目录 双指针算法介绍 练习:移动零 双指针算法介绍 双指针算法常见于数组和双向链表的题型 在数组中,双指针中的指针代表数组元素的下标,而不是真正的指针类型变量 在双向链表中,双指针中的指针即为真正意义上的指针,该指针一般是双向链表节点类型的指针 常见的双指针有两种形式: 对撞指针:从结构的两端开始向中间移动,一般存在两种情况 left == right:代表两个指针指向的时

Python 机器学习 基础 之 监督学习 [ 神经网络(深度学习)] 算法 的简单说明

Python 机器学习 基础 之 监督学习 [ 神经网络(深度学习)] 算法 的简单说明 目录 Python 机器学习 基础 之 监督学习 [ 神经网络(深度学习)] 算法 的简单说明 一、简单介绍 二、监督学习 算法 说明前的 数据集 说明 三、监督学习 之 神经网络(深度学习) 1、神经网络模型 2、神经网络调参 3、优点、缺点和参数 附录 一、如果报错 ModuleN

机器学习算法那些事 | 60个“特征工程”计算函数(Python代码)

本文来源公众号“机器学习算法那些事”,仅用于学术分享,侵权删,干货满满。 原文链接:60个“特征工程”计算函数(Python代码) 近期一些朋友询问我关于如何做特征工程的问题,有没有什么适合初学者的有效操作。 特征工程的问题往往需要具体问题具体分析,当然也有一些暴力的策略,可以在竞赛初赛前期可以带来较大提升,而很多竞赛往往依赖这些信息就可以拿到非常好的效果,剩余的则需要结合业务逻辑以及很多其

java排课算法简单demo

简化的场景设定 有限的教室数量。每个教师可以教授多个课程。每个课程在一个特定的时间段内只能安排一次。考虑教室容量和课程需求。 Java代码实现 首先,我们定义几个基本的类:Course、Teacher、Room 和 TimeSlot。 import java.util.ArrayList;import java.util.HashMap;import java.util.List;i

数据结构(十五)----排序算法(2)

目录 一.选择排序 1.简单选择排序 2.堆排序 •建立大根堆 •基于大根堆进行排序 堆排序算法效率: 堆排序算法稳定性: 3.堆的插入和删除 •在堆中插入新元素 •在堆中删除元素 二.归并排序 归并排序算法效率: 归并排序算法的稳定性: 三.基数排序 基数排序的算法效率: 基数排序算法的稳定性: 下一篇博客会着重讲外部排序~ 一.选择排序 每一趟在待排序

Java各大GPS坐标系互转算法(保证好用)

不好用来捶我,好用的话点个赞鼓励一下~ /*** 坐标转换器*/public class CoordinateConverter {private static final double x_PI = 3.14159265358979324 * 3000.0 / 180.0;private static final double PI = 3.1415926535897932384626;pr

针对实拍场景的虚拟试衣模型IDM-VTON:高保真和细节保留的虚拟试穿算法,真实环境效果领先

前言 虚拟试衣是一种将人物图像与服装图像合成,生成人物穿戴目标服装的图像技术。相比传统的GAN方法,基于扩散模型的虚拟试衣方法能够生成更加自然逼真的图像。然而,现有的扩散模型在保留服装细节方面仍存在局限性。 为了解决这一问题,本文提出了一种名为IDM-VTON的新型扩散模型,能够在保持高清逼真度的同时更好地保留服装的细节特征。该模型在仿真场景和真实环境评测中均取得了优异的表现,在细节保留度和图

秋招算法——AcWing101——拦截导弹

文章目录 题目描述思路分析实现源码分析总结 题目描述 思路分析 目前是有一个笨办法,就是创建链表记录每一个最长下降子序列所对应的节点的链接,然后逐个记录所有结点的访问情况,直接所有节点都被访问过。这个方法不是很好,因为需要计算很多次,会超时,这里用了贪心的方法来证明,虽然不是最优子序列,但是数量是一致的。 实现源码 #include <iostream>#inc

单链表经典算法OJ题--牛客(环形链表的约瑟夫问题

链接:环形链表的约瑟夫问题_牛客题霸_牛客网【点击即可跳转】 著名的Josephus问题 据说著名犹太历史学家 Josephus有过以下的故事:   在罗马人占领乔塔帕特后,39 个犹太⼈与 Josephus及他的朋友躲到⼀个洞中,39个犹太⼈决定宁愿死也不要被⼈抓到,于是决定了⼀个自杀方式,41个⼈排成⼀个圆圈,由第1个⼈开始报数,每报数到第3人,该人就必须自杀,然后再由下一个重

操作系统实验三之进程调度算法

/* 设有两个并发执行的父子进程,不断循环输出各自进程号、优先数和调度策 略。进程初始调度策略均为系统默认策略和默认优先级。父进程收到SIGINT信号时会自动将其优先数加1,子进程收到SIGTSTP 信号时会自动将其优先数减1。*/ #include <stdio.h>#include <stdlib.h>#include <sched.h>#include <sys/time.h>#

机器学习算法之线性回归的推导及应用

“ 阅读本文大概需要 3 分钟。 ” 之前说过会陆续写一些基本的机器学习算法的原理、推导和应用的文章,今天开始连载啦。 每篇文章的思路是这样的: 如果大家觉得有哪些可以优化的地方可以留言给我,我会慢慢完善的。再后面会陆续放送各个机器学习算法、深度学习模型及相关的实例实践,希望对大家有帮助。 今天首先讲解最基本的机器学习算法,线性回归。 线性回归是机器学习中最基本的算法了,一般要学习机器学习

分享几道适合用来面试的 LeetCode 算法题

“ 阅读本文大概需要 3 分钟。 ” Hi,大家好,这几天公司忙着年会,整个大部门去西安出差了几天,今天刚刚回来,所以我这几天没有怎么搭理公号。 年会那会也忙不少事情,由于今年是我刚刚入职,所以还要表演节目,排练了一个舞蹈《红昭愿》上台表演,为此也花了不少心思,另外其他时间就是参加年度总结大会,整个时间安排还是比较紧的。 不过这期间抽空也做了点东西,最近几天我一个在忙着搭建 N

OpenMesh 最长边细分算法

文章目录 一、简介二、实现代码三、实现效果参考资料 一、简介 这是一个很简单的算法,其特点在于使用“最长边”(LongestEdge)的某个阈值(T)作为细分的标准,并且这个细分是均匀进行的,即尽量保持各个部分的密度或复杂度相近。 具体的算法描述: 输入:一个初始的图形或网格,以及一个最长边的阈值 T。 算法步骤: 1. 遍历图形或网格的所有边,找到长度大于

找数字-算法

解法一、数位模拟 比n大的最小数就是n+1,当n+1时,以下几种情况会导致n中1的个数发生变化(或者不变) 1.n的低位连续1的个数count>1,如1011,10111,1111等,加1后使得n中1的个数减少count-1个 解决办法也很简单,加1后,将这count-1个1补到低位即可。 2.n的低位连续1的个数count=1,如101,01,10101等,加1后n中1的个数不变,答案就

Python实战开发及案例分析(25)—— 爬山算法

爬山算法(Hill Climbing)是一种启发式搜索算法,常用于解决优化问题。它的核心思想是从一个初始解开始,不断朝着增益最大的方向移动,直到达到局部最优解。 实现步骤 从初始解开始。在当前解的邻域中找到一个更好的解。如果找到的解比当前解好,则移动到该解,并重复步骤2。如果在邻域中没有找到更好的解,则算法终止,返回当前解。 代码示例         以下示例展示了如何使用

局部加权回归(Lowess)算法详解

文章目录 一、适用任务1.1 预测问题1.2 平滑问题 二、算法介绍2.1 算法思想2.2 参数讲解2.3 代码实现 参考资料 Lowess局部加权回归算法的主要思想为:在数据集合的每一点用低维多项式拟合数据点的一个子集,并估计该点附近自变量数据点所对应的因变量值,该多项式是用加权最小二乘法来拟合;离该点越远,权重越小。 该点的回归函数值就是由这个局部多项式得到,而用于加权最小二

智能优化算法 | Matlab实现成长优化算法(Growth Optimizer,GO)(内含完整源码)

智能优化算法 | Matlab实现成长优化算法(Growth Optimizer,GO)(内含完整源码) 文章目录 智能优化算法 | Matlab实现成长优化算法(Growth Optimizer,GO)(内含完整源码)文章概述源码设计 文章概述 智能优化算法 | Matlab实现成长优化算法(Growth Optimizer,GO)(内含完整源码)成长优化算法(Gr

线性/非线性最小二乘 与 牛顿/高斯牛顿/LM 原理及算法

最小二乘分为线性最小二乘和非线性最小二乘 最小二乘目标函数都是min ||f(x)||2 若f(x) = ax + b,就是线性最小二乘;若f(x) = ax2 + b / ax2 + bx 之类的,就是非线性最小二乘; 1. 求解线性最小二乘 【参考】 2. 求解非线性最小二乘 需要用到牛顿法,高斯牛顿法,或者LM法 目标函数都是min F(x) = min ||f(x)||2

(毫米波雷达数据处理中的)聚类算法(3) – K-means算法及其实践

说明     读者在阅读本文前,建议先看看本系列的前两篇文章:[1]:(毫米波雷达数据处理中的)聚类算法(1) --- 概述-CSDN博客  [2]:(毫米波雷达数据处理中的)聚类算法(2) – DBSCAN算法及其实践-CSDN博客     K-means算法因为需要提前给出簇的数量,(这在车载雷达的实际应用上是不可取的:我们无法确定在行车过程中车辆前方有多少个目标物,相反地,我们是聚类之后