
算法
文章平均质量分 52
软件工程小施同学
区块链、DevOps、小程序、软件工程
展开
-
稀疏矩阵是什么 如何求
稀疏矩阵是一种特殊类型的矩阵,其中大多数元素都是零。由于稀疏矩阵中非零元素的数量远少于零元素,因此可以使用特定的数据结构和算法来高效地存储和处理它们,从而节省存储空间和计算时间。RowPtr数组中的每个元素表示对应行的第一个非零元素在Values数组中的位置。最后一个元素表示整个Values数组的长度,用来标识矩阵的结束位置。这个矩阵中非零元素只有 5 个,其余元素都是零,因此这个矩阵可以被认为是稀疏矩阵。原创 2024-06-16 21:00:46 · 734 阅读 · 0 评论 -
处理机调度方法
优先级是利用某一范围内的一个整数来表示的,例如0~255中的某一整数,又把该整数称为优先数。(2)动态优先级:动态优先级是指在创建进程之初,先赋予其一个优先级,然后其值随进程的推进或等待时间的增加而改变,以便获得更好的调度性能。■ 实时调度算法的分类:① 根据实时任务性质,可将实时调度的算法分为硬实时调度算法和软实时调度算法;该算法在确定任务的优先级时,根据的是任务的紧急(或松弛)程度。①高级调度(High Level Scheduling):又称长程调度、作业调度,决定能否加入到执行的进程池中。转载 2024-02-10 16:58:48 · 339 阅读 · 0 评论 -
最长递增子序列是什么和怎么求解
数组dp中的最大值6,即为整个序列的最长递增子序列长度。举一个例子:对于序列 [10, 22, 9, 33, 21, 50, 41, 60, 80],其中最长递增子序列是 [10, 22, 33, 50, 60, 80],长度为6。3. 在遍历所有j的过程中,我们可以找到在i位置结束的子序列的最大长度。遍历完整个数组后,dp中的最大值即为整个序列的最长递增子序列的长度。如果nums[i]大于nums[j],说明i可以接在j的后面形成一个更长的递增子序列,此时可以更新dp[i]为dp[j]+1。原创 2024-01-11 00:33:38 · 620 阅读 · 0 评论 -
动态规划python简单例子-斐波那契数列
【代码】动态规划python简单例子-斐波那契数列。原创 2024-01-09 18:20:43 · 684 阅读 · 1 评论 -
布隆过滤器 python3 pybloom_live使用例子 存储开销
1. 安装pybloom_live。原创 2023-09-14 14:38:22 · 580 阅读 · 0 评论 -
python 最大归一化
最大绝对值归一化“可能和”最大值归一化“不是一个东西?最大归一化是将数据转化到[-1,1]范围之间。其中|X|max为x特征的绝对值的最大值。没有懂有些地方为啥公式要写为。原创 2023-08-03 23:21:38 · 511 阅读 · 0 评论 -
增广链是什么
所有弧的方向不需要是一致的。转载 2023-07-26 09:49:46 · 523 阅读 · 0 评论 -
布隆过滤器(Bloom Filter)是什么、作用、原理
一、组成:一个很长的二进制向量(集合)多个映射函数二、作用:判断某个元素一定不在集合内或可能在集合内三、背景:集合中元素增加,所需存储空间和查询时间都会增加。比如邮件服务商存储垃圾邮件账号,一个亿的email地址需要1.6GB的内存空间,若是想要判断一个邮件账号是否为垃圾地址,则耗时更长四、原理布隆过滤器是一个基于m位的比特向量(b1,b2…,bm),这些比特向量的初始值为0。一系列的哈希函数(h1,h2…,hk),这些哈希函数运算后的哈希值范围在[1, m]内。1. 插入 如下图,就是x、y原创 2022-07-12 19:27:59 · 1108 阅读 · 0 评论 -
有序链表集合求交集 方法 总结
- 二重for循环法,时间复杂度O(n*n) - 拉链法,时间复杂度O(n) - 水平分桶,多线程并行 - bitmap,大大提高运算并行度,时间复杂度O(n) - 跳表,时间复杂度为O(log(n))方案一:for * for,土办法,时间复杂度O(n*n)画外音:比较笨的方法。方案二:有序list求交集,拉链法有序集合1{1,3,5,7,8,9}有序集合2{2,3,4,5,6,7}两个指针指向首元素,比较元素的大小:(1)如果相同,放入结果集,随意移动一个指针;(2)否则,移动值较小的一个指针,直到队尾转载 2022-07-05 10:57:07 · 1805 阅读 · 0 评论 -
差分进化算法和遗传算法 区别 谁更好
差分进化算法 differential evolution algorithm遗传算法 genetic algorithm 遗传算法 差分进化算法 编码方式 01二进制编码 实数编码 种群迭代 父代产生新子代 父代自身进化 淘汰方式 劣者概率淘汰 劣者绝对淘汰 算法核心 交叉 变异 鲁棒性 一般 强 收敛速度 一般 快 全局优化搜索能力 强 较强 from 20191018原创 2022-03-27 16:44:10 · 2965 阅读 · 0 评论 -
k-approximation algorithm k-近似算法是什么 k代表什么
ApproximationAlgorithmsNote:You are looking at a static copy of the former PineWiki site, used for class notes byJames Aspnesfrom 2003 to 2012. Many mathematical formulas are broken, and there are likely to be other bugs as well. These will mo...原创 2022-03-19 22:31:48 · 4789 阅读 · 0 评论 -
什么是近似算法?
罗素曾说:所有精确科学都被近似思想所主宰。本文介绍了近似算法及其对某些标准问题的适用性。新冠大流行给世界带来了巨大的改变,全球科学家和研究人员在研制有效的疫苗。他们正在做的就是从广阔的样本空间中近似地收紧可能性范围,并尽力得到一些有效解。近似在我们的生活中发挥了重要作用。以在线食品配送为例,我们经常从网上订购食物,享受快速送达的服务。但你想过这些 app 后端运行的什么算法让快递员在更短时间内抵达目的地吗?答案是近似算法。这类问题就是「旅行商问题」。食品配送:旅行商问.转载 2022-03-19 22:22:25 · 1984 阅读 · 0 评论 -
背包问题 装箱问题 货盘装填问题 区别
《集装箱装载问题研究》原创 2022-03-19 12:27:21 · 518 阅读 · 0 评论 -
条带装箱问题 Strip packing problem是什么
在二维条带装箱问题中,条带的宽度固定,但是长度为无穷大,优化目标为最小化使用的条带的高度原创 2022-03-19 12:07:33 · 806 阅读 · 0 评论 -
Cmax最优但∑Ci不一定最优 例子
原创 2022-03-18 20:47:23 · 343 阅读 · 0 评论 -
调度 Cmax和∑Ci是什么区别
make span Cmax (final completion time)Ci is the completion time of job i.Ci= processing time + wait timeCmax = max(Ci)原创 2022-03-18 17:30:40 · 551 阅读 · 0 评论 -
一维装箱、二维装箱、三维装箱 区别
三维装箱问题的启发式算法 - 豆丁网转载 2022-03-18 11:01:01 · 985 阅读 · 2 评论 -
背包问题 尽可能大和大于某个值 为什么是一样意思
“让多个数的和尽可能大”,和,“要这些数的和要大于一个给定的值”,这两种表述方式为啥是一样的意思,要咋个理解?就是这是一个判定问题,先问问K=10000满足不,1000满足不,100满足不,多项式时间可以解决...原创 2022-03-15 23:17:07 · 211 阅读 · 0 评论 -
completion time, flow time和processing time 区别
Completion time=Mean flow time =processing time + waiting timeScheduling原创 2022-03-15 20:25:39 · 808 阅读 · 0 评论 -
scheduling调度是什么 优先规则
Schedulingn jobs 1 machine case Priority rules Comparative measures Flow shop caseScheduling -- determine the timing and order of operations to optimize the use of resources to meet production requirementsn jobs 1 machine casePriority rul原创 2022-03-15 20:24:19 · 892 阅读 · 0 评论 -
Equal-size partition problem
m<u肯定不存在这样的划分,因为每个集合都有u个数,和最少是u。m=u,只有ai全是1才行,m=u+1,只有ai里面有两个2,其他全是1才行。computer science - Polynomial complexity algorithm of partition problem with sets of equal size - Mathematics Stack Exchange...原创 2022-03-15 19:23:16 · 372 阅读 · 0 评论 -
证明独立集合问题是NP-complete
https://people.orie.cornell.edu/dpw/orie6300/Lectures/lec25.pdf原创 2022-03-15 10:46:12 · 337 阅读 · 0 评论 -
证明3-SAT问题是NP-complete
https://people.orie.cornell.edu/dpw/orie6300/Lectures/lec25.pdf原创 2022-03-15 10:44:16 · 1149 阅读 · 0 评论 -
证明背包问题是NP-complete
https://people.orie.cornell.edu/dpw/orie6300/Lectures/lec25.pdf原创 2022-03-15 10:42:49 · 1489 阅读 · 0 评论 -
np-hard证明实例 规约
5. Subset sum problem <= Partition problem问题描述:Subset sum problem:given a set (or multiset) of integers T=(t1,t2,⋯,tn), is there a non-empty subset whose sum is k。Partition problem: partition problem (or number partitioning) is...转载 2022-03-12 21:56:25 · 870 阅读 · 0 评论 -
如何证明一个问题是NP-Hard或NP-Complete?
NP-hard vs NP-Complete判断一个问题是不是NP-Complete有两个步骤:判断是否NP,就是算法结果的正确性能不能在多项式时间内验证 判断是否NP-hard,要判断NP-hard,我们可以使用一个叫Reduction的技巧。直观来说,如果你能用你的问题的求解器来求解另一个已知是NP-hard问题,那么你的问题也是NP-Hard的。Reduction(归约)Reduction是将两个算法建立联系的一个过程。我们说X(已知的)reduce 到Y,意味着,假设现在有一个Y的.转载 2022-03-12 21:07:52 · 4728 阅读 · 0 评论 -
Reduce归约 证明原理
一、归约Reducing A(已知的) to B(要证明的)思想: 我们现在遇到了个问题,可以把它转化到一个某个已解决的问题上,而不是一定要直接解决这个问题概念描述: 设计一个函数f(x),把问题A的输入A_input转换成问题B的一个输入B_input=f(x),这样就能用问题B的解法来求解。(输出真或假)A可以被归约到B。难点:转换函数f(x)的设计必须要保证问题B的输出结果和相应的问题A上的答案保持一致。可视化归约即A<=B ,B比A难,如果B.转载 2022-03-12 21:02:29 · 1690 阅读 · 0 评论 -
证明CLIQUE(团问题)是NP完全
一个图G的k团是G的k个顶点的集合,使得这个集合中每对顶点之间都有边。CLIQUE问题是:给定一个图G和常数k,G有没有k团?下面通过把顶点覆盖问题归约到CLIQUE来证明:CLIQUE是NP完全的。【证明】显然,CLIQUE是NP(NP定义: 可以在多项式时间验证结果正确性的问题)。在给定的图G中猜测k个顶点的一个集合,并验证此集合中的任何两点之间都有边。给定图G的顶点覆盖问题的一个实例(G,k),构造一个团问题实例(G’,n-k),其中n是图G顶点的总个数。 G’是转载 2022-03-12 16:35:13 · 4410 阅读 · 0 评论 -
怎么计算算法复杂度 big O
如何证明一个问题是NP-Hard或NP-Complete?_Jie Qiao的专栏-优快云博客_证明一个问题是np难问题原创 2022-03-12 14:39:43 · 342 阅读 · 0 评论 -
多模态数据是什么
数据是AI的基础,不同行业领域的数据来源广泛、形式多样,其每一种来源或形式都可以看作是一种模态,例如视频、图片、语音以及工业场景下的传感数据,红外、声谱等。多模态数据+知识图谱,这次你的疑难杂症有解了!_程序人生的博客-优快云博客...原创 2022-03-10 09:37:16 · 5016 阅读 · 0 评论 -
图分割Graph Partitioning技术总结
1. 简介图分割是将一个大图均匀的分成一系列的子图去适应分布式应用.每个子图存储在一台机器上,子图之间可以并行化执行,如果当前子图需要其他子图的信息就需要通讯开销,而图分割的质量影响着每台机器存储代价和机器之间通讯代价。粗略地按照分割的内存开销大小分类,可以分为离线offline和流式streaming两类分割算法 [1]。offline是将整个图数据一次性载入内存中然后根据图的结构进行切分; streaming是按批次读取图数据,实时的将图的边或者结点分配到指定的子图中。对于大规模图转载 2022-03-07 09:02:43 · 6935 阅读 · 4 评论 -
多背包问题
multi-knapsack problem(MKP)万方数据知识服务平台原创 2022-03-06 17:43:58 · 607 阅读 · 0 评论 -
多维背包问题
https://d.wanfangdata.com.cn/periodical/hnfzgdzkxxxb201402017多维背包问题的一个蚁群优化算法 - 百度文库原创 2022-03-06 17:30:21 · 640 阅读 · 0 评论 -
如何证明NP-Hard Problems
【1】经典问题:电路可满足性问题The circuit satisfiability problem asks, given a circuit, whether there is an input that makes the circuit output TRUE, or conversely, whether the circuit always outputs FALSE.【2】P: can besolvedin polynomial time NP: If the answer i..转载 2022-03-04 10:51:46 · 2715 阅读 · 0 评论 -
Binary Knapsack (BKP) Problem 是什么
就是0-1背包问题背包问题(经典问题)定义:给定不同价值和体积的物品,找到适合固定体积背包的最有价值的物品。正式定义:有一个容量为 c > 0 和 N 件物品的背包。每个项目的值 vi> 0 和权重 wi> 0。找到适合的项目(δi= 1,如果选择,0 如果不选择),∑i=1Nδiwi≤ c,总值, ∑i=1Nδivi,被最大化。又称0-1背包问题、二元背包问题。另请参见分数背包问题、无界背包问题、装箱问题、...原创 2022-03-04 09:43:26 · 540 阅读 · 0 评论 -
Euclidean, Manhattan, hop-count distance 区别
欧式距离(Euclidean Distance)二维空间的公式其中,为点与点之间的欧氏距离;为点到原点的欧氏距离。曼哈顿距离(Manhattan Distance )两点在南北方向上的距离加上在东西方向上的距离,即d(i,j)=|xi-xj|+|yi-yj|跳段距离hop-count distance一个节点到另一个节点经过的节点个数 称为两个节点间的 跳段距离...原创 2022-03-02 09:30:23 · 544 阅读 · 0 评论 -
work-conserving scheduling 是什么
Definition 2.1. Under a work-conserving scheduling algorithm, an eligible vertex of type s must be executed if there are available cores of type s.连续工作机制原创 2022-02-24 11:29:45 · 572 阅读 · 0 评论 -
零基础学启发式算法(6)-蚁群算法 (Ant Colony Optimization, ACO)
一、原理 蚂蚁会分泌一种叫做信息素的化学物质,蚂蚁的许多行为受信息素的调控。蚂蚁在运动过程中能够感知其经过的路径上信息素的浓度,蚂蚁倾向朝着信息素浓度高的方向移动。蚂蚁从A点出发,速度相同,食物在D点,取得食物后再折返回蚁巢。可能随机选择路线ABD(9个时间单位)或ACD(18个时间单位)。假设蚂蚁每经过一处所留下的信息素为一个单位,则经过36个时间单位后,所有开始一起出发的蚂蚁都经过不同路径从D点取得了食物,此时ABD的路线往返了2趟,每一处的信息素为4个单位...原创 2022-02-23 19:55:37 · 1024 阅读 · 0 评论 -
零基础学启发式算法(5)-遗传算法 (Genetic Algorithm)
一、遗传算法 (Genetic Algorithm, GA)源于达尔文的进化论,将问题的一个解当作种群中的一个个体。gene:基因chromosome: 染色体population:种群crossover:交叉mutation:变异selection:选择通过多轮的“选择,交叉和变异”,选择适应度最好的个体作为问题的最优解。 选择:优胜劣汰,适者生存。 交叉:丰富种群,持续优化。 变异:随机扰动,避免局部最优。 算法的整个流程如下.原创 2022-02-23 19:54:18 · 2559 阅读 · 0 评论 -
零基础学启发式算法(4)-模拟退火 (Simulated Annealing)
一、模拟退火 (Simulated Annealing)模拟退火(Simulated Annealing)其实是一种贪心算法,但是它的搜索过程引入了随机因素。模拟退火算法以一定的概率来接受一个比当前解要差的解,因此有可能会跳出这个局部的最优解,达到全局的最优解。模拟退火算法源自于对热力学中退火过程的模拟,在给定一个初始温度下,通过不断降低温度,使得算法能够在多项式时间内得到一个近似最优解。二、模拟退火算法的步骤描述如下:对于一个优化问题 min f(x),..原创 2022-02-23 19:52:58 · 1953 阅读 · 0 评论