![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
那记忆微凉
大数据+云计算+区块链+微服务+机器视觉
展开
-
算法笔试题:动态规划之矩阵连乘的最佳求积
问题:已知矩阵 ,k=1,2,3,4,5,6: r1=5:r2=10:r3=3:r4=8:r5=5:r6=20:r7=6。则矩阵链积A1 × A2 × A3 × A4 × A5 × A6的最佳求积次数为多少。算法步骤:1)先把A1×A2,A2×A3,A3×A4,A4×A5,A5×A6算出来;2)按照自底向上的方式求解问题,即从A4×A6;A3×A5,A3×A6;A2×…算下去直到最后A1×...原创 2019-11-24 14:18:48 · 1543 阅读 · 0 评论 -
蓄水池抽样算法(Reservoir Sampling)
蓄水池抽样算法(Reservoir Sampling)许多年以后,当听说蓄水池抽样算法时,邱simple将会想起,那个小学数学老师带他做“小明对水池边加水边放水,求何时能加满水”应用题的下午。一、问题我是在一次失败的面试经历中听说蓄水池算法的。之后上网搜了搜,知道是一个数据抽样算法,寥寥几行,却暗藏玄机。主要用来解决如下问题。给定一个数据流,数据流长度N很大,且N直到处理完所有数据之前都不...原创 2019-11-21 10:21:36 · 1626 阅读 · 0 评论 -
算法分析考试题:单元最短路径求解
单源最短路径的求解。问题的描述:给定带权有向图(如下图所示)G =(V,E),其中每条边的权是非负实数。另外,还给定V中的一个顶点,称为源。现在要计算从源到所有其它各顶点的最短路长度。这里路的长度是指路上各边权之和。这个问题通常称为单源最短路径问题。解法:现采用Dijkstra算法计算从源顶点1到其它顶点间最短路径。请将此过程填入下表中。1答案解析:S集合中存放源点,V-S集合中存放剩余的...原创 2019-11-15 13:16:16 · 4824 阅读 · 1 评论 -
格雷码问题分析思路--分治法
原创 2019-11-15 11:33:05 · 2036 阅读 · 0 评论 -
最小生成树算法--Kruskal精讲(图文并茂)
Kruskal算法1.概览Kruskal算法是一种用来寻找最小生成树的算法,由Joseph Kruskal在1956年发表。用来解决同样问题的还有Prim算法和Boruvka算法等。三种算法都是贪婪算法的应用。和Boruvka算法不同的地方是,Kruskal算法在图中存在相同权值的边时也有效。2.算法简单描述1).记Graph中有v个顶点,e个边2).新建图Graphnew,Graphn...原创 2019-11-14 16:44:26 · 2011 阅读 · 0 评论 -
算法笔试题最长上升子序列长度问题
动态规划值最长上升子序列找到其中最长上升子序列的长度给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。说明:可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。DP算法的时间复杂度为 O(n2) 。思路:想要求得最长上升子序列的长度...原创 2019-11-14 16:23:27 · 948 阅读 · 0 评论 -
动态规划解决0-1背包问题详解(图文并茂)
动态规划解决0-1背包问题这个是网上比较好的案例,因为原文有些地方晦涩难懂,对于刚接触动态规划问题的朋友来说很不友好,所以很对地方加入了我自己的见解,也是作为我的一次学习历程。一、问题描述:有n 个物品,它们有各自的重量和价值,现有给定容量的背包,如何让背包里装入的物品具有最大的价值总和?二、总体思路:根据动态规划解题步骤(问题抽象化、建立模型、寻找约束条件、判断是否满足最优性原理、找大...原创 2019-11-14 11:36:17 · 12797 阅读 · 1 评论 -
分治法解决循环赛事日程表(非常详细!)图文并茂-Java代码实现
题目:设有n=2^k个运动员要进行网球循环赛。现要设计一各满足一下要求的比赛日程表: 1、每个选手必须与其他n-1个选手各比赛一次。 2、每个选手一天只能赛一次。 3、循环赛一共进行n-1天。按照此要求可以将比赛日程表设计成一个n*n的二维表,第一列表示选手,接下来的每一列依次表示将要比赛的每一天选手。下面以8个选手为例:算法思路:按分治策略,我们可以将所有的选手分为两半,则n...原创 2019-11-13 14:57:17 · 8741 阅读 · 5 评论 -
算法导论之使用动态规划法求解矩阵连乘最小乘法次数(java代码实现)
最近看到使用动态规划法求解矩阵连乘最小乘法次数,网上的一些copy主,只是copy,也不改错。本文已将一些不正确的错误更改。问题描述:给定n个矩阵:A1,A2,…,An,其中Ai与Ai+1是可乘的,i=1,2…,n-1。确定计算矩阵连乘积的计算次序,使得依此次序计算矩阵连乘积需要的数乘次数最少。输入数据为矩阵个数和每个矩阵规模,输出结果为计算矩阵连乘积的计算次序和最少数乘次数。问题解析:由...原创 2019-11-12 11:36:46 · 5766 阅读 · 3 评论 -
异常检测算法之局部异常因子算法-Local Outlier Factor(LOF)
简介局部异常因子算法-Local Outlier Factor(LOF)在数据挖掘方面,经常需要在做特征工程和模型训练之前对数据进行清洗,剔除无效数据和异常数据。异常检测也是数据挖掘的一个方向,用于反作弊、伪基站、金融诈骗等领域。 异常检测方法,针对不同的数据形式,有不同的实现方法。常用的有基于分布的方法,在上、下α分位点之外的值认为是异常值(例如图1),对于属性值常用此类方法。基于距离的...原创 2019-11-06 10:42:50 · 11296 阅读 · 1 评论 -
互信息的深度理解(总结的不错值得一看)
1.互信息的定义 正式地,两个离散随机变量 X 和 Y 的互信息可以定义为: 其中 p(x,y) 是 X 和 Y 的联合概率分布函数,而p(x)和p(y)分别是 X 和 Y 的边缘概率分布函数。 在连续随机变量的情形下,求和被替换成了二重定积分: 其中 p(x,y) 当前是 X 和 Y 的联合概率密度函数,而p(x)和p(y)分别是 X 和 Y 的边缘概率密度函数。...转载 2018-07-30 09:37:37 · 56015 阅读 · 13 评论 -
已知中序遍历和后序遍历,画出此二叉树
知道中序遍历和后续遍历,如何画出二叉树,并写出前序遍历。要是知道前序和后续遍历,不能确定唯一的二叉树!步骤:通过例子来说明:已知中序遍历:HDMIBJNEAFKCG.后续遍历:HMIDNJEBKFGCA.求出此二叉树。1)通过后续遍历知道A是根,C是A的右子树。HDMIBJE是A的左子树部分,FKCG是右子树部分。B则是A的左子树;2)接着看A的右子树部分KFGC,C是根,从...原创 2018-07-17 10:02:31 · 33542 阅读 · 12 评论 -
DTW原理及matlab实现--非常好的一篇文章
在大部分的学科中,时间序列是数据的一种常见表示形式。对于时间序列处理来说,一个普遍的任务就是比较两个序列的相似性。 在时间序列中,需要比较相似性的两段时间序列的长度可能并不相等,在语音识别领域表现为不同人的语速不同。因为语音信号具有相当大的随机性,即使同一个人 在不同时刻发同一个音,也不可能具有完全的时间长度。而且同一个单词内的不同音素的发音速度也不同,比如有的人会把“A”这个音拖得很...转载 2018-06-24 12:15:31 · 2870 阅读 · 1 评论