算法 元素

用java找出两个集合中相同的元素和不通的元素

用java找出两个集合中相同的元素和不通的元素 假设有两个集合A和B,可以通过以下代码找出它们中相同的元素和不同的元素: import java.util.*; public class Main { public static void main(String[] args) { Set<Inte ......
元素 两个 java

2023-04-09 有向图及相关算法

有向图及相关算法 1 有向图的实现 有向图的的应用场景 社交网络中的关注 互联网连接 程序模块的引用 任务调度 学习计划 食物链 论文引用 无向图是特殊的有向图,即每条边都是双向的 改进Graph和WeightedGraph类使之支持有向图 Graph类的改动 WeightedGraph类的改动 2 ......
有向图 算法 2023 04 09

GIS常用npm包:GeoJSON文件合并与元素过滤\属性过滤\图形合并

geojson-merge,多个文GeoJSON文件合并为一个。GeoJSON 里面的点线面合并为Multi(point linestring polygon)。GeoJSON一feature,根据properties属性过滤出想要的图形。merge-simple-polygons。合并多边形。其实... ......
属性 图形 元素 常用 GeoJSON

自适应辛普森算法

名字很高大上,事实上是计算机与数学深度结合后诞生的一种算法。 求积分,我们知道一定存在一个函数,保证 事实上,我们并不需要其中微不足道的那部分,只需保证我们所需的精度即可 #include<bits/stdc++.h> #define int long double using namespace ......
算法

几种常用的Java 算法

package jsh.mg.msg.service.msg.test;import java.util.Arrays;import static java.util.Arrays.binarySearch;/** * * 几种常用的Java 算法 */public class TestClass ......
算法 常用 Java

AES算法

(一)设计思路(可包含部分关键代码说明) /*通过密钥计算规则计算余下数组 * *1.如果i不是4的倍数,那么第i列由如下等式确定: *W[i]=W[i-4]⨁W[i-1] *2.如果i是4的倍数,那么第i列由如下等式确定: *W[i]=W[i-4]⨁T(W[i-1]) *其中,T是一个有点复杂的函 ......
算法 AES

推荐算法在商城系统实践

一、简介 本文博主给大家讲解如何在自己开源的电商项目newbee-mall-pro中应用协同过滤算法来达到给用户更好的购物体验效果。 newbee-mall-pro项目地址: 源码地址:https://github.com/wayn111/newbee-mall-pro 在线地址:http://12 ......
算法 商城 系统

算法思想

$\mathcal{Part}$ 1. 前提提要 注意:本文为提高组难度的算法思想,主要为前缀和,差分等优化 因为是思想,讲的会比较玄乎,能理解就好 $\mathcal{Part}$ 2. 双指针 双指针通常解决区间问题 步骤是,确定一个右节点或左节点作为一个参考点,通常取右节点,记为 $j$ 我们 ......
算法 思想

人工智能概率算法-模拟神经元结构预测价格

最近研究人工智能概率算法,想通过统计学的方式预测未来 比较好的例子就是股票,历史数据很丰富 输入端:4个参数(开盘价、最高价、最低价、收盘价) 输出端:4个参数 第二天(开盘价、最高价、最低价、收盘价) 把价格从-10到+10,每次迭代0.1,分类成200个特征 刚开始神经元的输入端不敏感,细胞核不 ......
神经元 人工智能 概率 算法 人工

算法基础

语言基础 取地址符 我们可以用 & 读取变量的地址。 特别的,对于数组,使用 "数组名+元素" 可以获得该变量的地址。 例如 $f+1$ 就是 $f$ 数组第 $1$ 个元素的地址。 在 C/C++ 中,指针变量的类型为类型名后加上一个 *,例如 int 类型的指针为 int*。 要想访问指针变量地 ......
算法 基础

排序算法

排序算法 1. 排序的分类 内部排序 指将需要处理的所有数据都加载到内部存储器中进行排序。 外部排序法 数据量过大时,无法全部加载到内存中,需要借助外部存储进行排序。 2. 算法的时间复杂度 2.1 概述 一般情况下,算法中的基本操作语句的重复执行次数是问题规模n的某个函数,用T(n)来表示。若有某 ......
算法

CSCI561 算法解析

CSCI561CSCI561 First Order Logic ResolutioGuidelinesThis is a programming assignment. You will be provided with sample inputs and outputs (see below). ......
算法 CSCI 561

数组的算法

数值型数组特征值统计 这里特征值涉及到:平均值,最大值,最小值,总和等 求最大值:将数组第一个元素假设为最大值 int max= arr[0];再然后用写一个判断语句如果数组第一个 元素小于当前比较的元素就把当前比较的元素赋值给max if(max<arr[i]){max = arr[i]} 求最小 ......
数组 算法

《剑指Offer》算法汇总-helloxf

package javaTest.javaBase.算法; import sun.plugin.javascript.navig.Array; import java.math.BigDecimal; import java.util.*; import java.util.concurrent.C ......
算法 helloxf Offer

java-信息安全(二十)国密算法 SM1,SM2,SM3,SM4

一、概述 国密即国家密码局认定的国产密码算法。主要有SM1,SM2,SM3,SM4。密钥长度和分组长度均为128位。目前主要使用公开的SM2、SM3、SM4三类算法,分别是非对称算法、哈希算法和对称算法。 SM1 为对称加密。其加密强度与AES相当。该算法不公开,调用该算法时,需要通过加密芯片的接口 ......
SM 算法 信息 java SM1

快速幂算法

快速幂算法 设计一个算法计算$x^n$的值。 根据定义最常见也最能瞬间想到的是如下的算法: // 递归写法 public int pow1(int x, int n) { if (n == 0) return 1; if (n == 1) return x; return x * pow1(x, n ......
算法

算法-递归三(树形结构)

public class Solution { public IList<IList<int>> Permute(int[] nums) { var rtItem = new List<int>(); var visited= new Dictionary<int, bool>(); IList<I ......
树形 算法 结构

拥塞控制算法

典型拥塞控制算法思路 在互联网发展的过程当中,TCP 算法也做出了一定改变,先后演进了 Reno、NewReno、Cubic 和 Vegas,这些改进算法大体可以分为基于丢包和基于延时的拥塞控制算法。 基于丢包的拥塞控制算法以 Reno、NewReno 为代表,这类基于 AIMD 的算法只要未检测到 ......
算法

2607. 使子数组元素和相等

题目链接:2607. 使子数组元素和相等 方法:分组 + gcd + 中位数 解题思路 题意:将$arr$中某个元素$+1$或$-1$,使得任意长度为$k$的子数组的元素总和相等,且总操作数最少; 1、首先考虑数组$arr$为非循环数组: 任意$k$长的子数组总和相等,则有下述情形,依次可以将$ar ......
数组 元素 2607

6357. 使数组元素全部相等的最少操作次数

题目链接:6357. 使数组元素全部相等的最少操作次数 方法:排序 + 前缀和 + 二分查找 解题思路 初始化$target = queries[i]$,根据题意,对于每次询问要将数组$nums$中的元素$=>target$,那么对于小于等于$target$的元素要加上一个数,而大于$target$ ......
数组 元素 次数 6357

基于蛙跳算法的最优值计算matlab仿真

1.算法描述 蛙跳算法是基于种群进化的元启发式算法之一,通过模拟自然界中青蛙觅食过程中种群所体现出的交流与合作行为,以实现对问题的求解。在一片湿地中,分布着一群青蛙,每只青蛙有自己的想法,每只青蛙的想法则被定义为一个解。每只青蛙找到食物时,都会向其周围的青蛙传递信息,从而影响周围青蛙向其靠近,形成一 ......
蛙跳 算法 matlab

PAT Basic 1075. 链表元素分类

PAT Basic 1075. 链表元素分类 1. 题目描述: 给定一个单链表,请编写程序将链表元素进行分类排列,使得所有负值元素都排在非负值元素的前面,而 [0, K] 区间内的元素都排在大于 K 的元素前面。但每一类内部元素的顺序是不能改变的。例如:给定链表为 18→7→-4→0→5→-6→10 ......
元素 Basic 1075 PAT

贪心算法

最小生成树 在无向图中选出$|V|-1$条边,使得生成树的边权和最小,这就是最小生成树问题。 我们有一个看上去有些草率的做法:给所有边按照权值从小到大排序,假设所有边都消失了,那么以从小到大的顺序加边(如果这条边对应的两点间已经有路径就跳过不加),等到加完第$|V|-1$条边时,我们会得到一棵“生成 ......
算法

C4.5分类树算法介绍

为什么C4.5会出现? 因为ID3算法节点的分支越多,信息增益也就越大,这会出现过拟合的现象,因此提出C4.5算法。 图1 C4.5的属性选择方法——获利比例 获利比例=信息增益/分支度IV 分支度IV与各分支下的类别数目之比成负相关: 假如14个样本一共分4支: 划分方法1为:分支1数目:分支2数 ......
算法 C4

理解回溯算法——从全排列问题开始

一、简介 回溯法(backtracking)是优先搜索的一种特殊情况,又称为试探法,常用于需要记录节点状态的深度优先搜索。通常来说,排列、组合、选择类问题使用回溯法比较方便。 二、从全排列问题开始理解回溯算法以数组 [1, 2, 3] 的全排列为例。 先写以 1开头的全排列,它们是:[1, 2, 3 ......
算法 问题

随机森林算法深入浅出

随机森林(Random Forest)是一种集成学习(Ensemble Learning)算法,由于其优秀的表现在数据挖掘、机器学习等领域得到广泛应用。随机森林通过同时使用多个决策树对数据集进行训练,并通过投票机制或平均化方式来得出最终的预测结果。本文将对随机森林算法的基本原理、优点和缺点以及实现过 ......
深入浅出 算法 森林

【算法数据结构专题】「延时队列算法」史上手把手教你针对层级时间轮(TimingWheel)实现延时队列的开发实战落地(下)

承接上文 承接上一篇文章【算法数据结构专题】「延时队列算法」史上手把手教你针对层级时间轮(TimingWheel)实现延时队列的开发实战落地(上)】我们基本上对层级时间轮算法的基本原理有了一定的认识,本章节就从落地的角度进行分析和介绍如何通过Java进行实现一个属于我们自己的时间轮服务组件,最后,在 ......

2574. 左右元素和的差值

题目链接:2574. 左右元素和的差值 方法:前缀和 + 后缀和 解题思路 第一遍算出 $nums$ 数组前缀和,第二遍计算 $answer$ 数组。 代码 class Solution { public: vector<int> leftRigthDifference(vector<int>& n ......
差值 元素 2574

1144. 递减元素使数组呈锯齿状

题目链接:1144. 递减元素使数组呈锯齿状 方法:找规律 + 模拟 解题思路 对于一个整数数组 $nums$,可以转换为题目中两种锯齿数组,对于两种情况的转换取最小值。 并且由于操作只能将一个元素减1,因此: 对于第1种情况,只用下标为奇数的元素需要减小到比两边最小值小1; 对于第2种情况,只用下 ......
锯齿状 锯齿 数组 元素 1144

递归算法

递归算法 1. 何为递归 简而言之,就是方法自己调用自己,在每一次调用时传入不同的变量。递归有助于编程者在解决复杂问题的同时,让代码变得更加简洁。 2. 递归的应用场景 各种数学问题,eg.8皇后问题、汉诺塔、阶乘问题、迷宫问题、球和篮子的问题等; 各种算法中也经常用到递归的思想,eg.快排、归并排 ......
算法