
算法
文章平均质量分 51
fightingbing
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
太原理工大学有一个数据结构精品课件
http://www.tyut.edu.cn/kecheng1/site01/suanfayanshi/shell_sort.asp是用动画演示的一些算法 还不错原创 2015-12-12 21:20:19 · 811 阅读 · 0 评论 -
选择排序图解
具体方法为:遍历一次,记录下最值元素所在位置,遍历结束后,将此最值元素调整到合适的位置这样一次遍历,只需一次交换,便可将最值放置到合适位置 这便是 简单选择排序算法。转载 2015-12-17 10:36:21 · 1005 阅读 · 0 评论 -
矩阵链乘法——动态规划问题
http://www.cnblogs.com/Anker/archive/2013/03/10/2952475.html转发自上链接前言:今天接着学习动态规划算法,学习如何用动态规划来分析解决矩阵链乘问题。首先回顾一下矩阵乘法运算法,并给出C++语言实现过程。然后采用动态规划算法分析矩阵链乘问题并给出C语言实现过程。1、矩阵乘法 从转载 2015-12-16 14:52:40 · 15432 阅读 · 0 评论 -
通排序与基数排序
说基数排序之前,我们先说桶排序。基本思想将阵列分到有限数量的桶子里。每个桶子再个别排序(有可能再使用别的排序算法或是以递回方式继续使用桶排序进行排序)。桶排序是鸽巢排序的一种归纳结果。当要被排序的阵列内的数值是均匀分配的时候,桶排序使用线性时间(Θ(n))。但桶排序并不是 比较排序,他不受到 O(n log n) 下限的影响。简单来说,就是把数据分组,放在一个个的桶中,然后转载 2015-12-17 12:49:32 · 775 阅读 · 0 评论 -
DP 动态规划Dynamic programming
DP (DP(动态规划Dynamic programming))动态规划(dynamic programming)背后的思想非常简单:通常为了解决一个问题,我们需要把它分解成很多类似的但更小的子问题,然后解决这些子问题,最终把这些子问题结果联系起来就解决了原先的那个问题。但是在上面这个过程中,如果使用的是比较“原始”的方法,它会碰到多次产生相同的子问题(比如子问题的子问转载 2016-01-02 12:24:18 · 465 阅读 · 0 评论 -
漫谈算法(零)序
《算法设计》快考试了 可是自己什么还是不会呢 哎。。。。。。。。。。没办法 转载别人的 一篇一篇看吧********************************************************************************************************************漫谈算法(零)序转载自http://w转载 2016-01-02 12:32:08 · 269 阅读 · 0 评论 -
bell_ford
图解Bellman-ford算法 下载源代码〖 作者:cwb 〗〖 大小:20K 〗〖 发布日期:2012-11-03 〗〖 浏览:0 〗 一、Bellman-Ford算法: 为了能够求解边上带有负值的单源最短路径问题,Bellman(贝尔曼)和Ford(福特)提出了从源点逐次绕过其他顶点,以转载 2016-01-02 14:25:22 · 406 阅读 · 0 评论 -
如何计算时间复杂度
如何计算时间复杂度标签: 算法测试inic工作n22012-09-23 09:14 32893人阅读 评论(12) 收藏 举报 分类:数据结构(2) 一、概念时间复杂度是总运算次数表达式中受n的变化影响最大的那一项(不含系数)比如:一般总运算次数表达式类似于这样:a*2^n+b*n^3+c*n^2+d*n*lg(n)+e*n+fa ! =0转载 2016-01-03 14:00:21 · 257 阅读 · 0 评论 -
【算法16】递归算法的时间复杂度终结篇
此文系转载 转载地址在文章结尾 请原作者不要找我事 ***************************************************************************************************************************************************************************转载 2016-01-03 14:29:38 · 573 阅读 · 0 评论 -
贪心算法——n个数连接得到最小或最大的多位整数
贪心算法——n个数连接得到最小或最大的多位整数设有n个正整数,将他们连接成一排,组成一个最大的多位整数。例如:n=3时,3个整数13,312,343,连成的最大整数为:34331213又如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613输入:NN个数输出:连接成的多位数算法分析:此题很容易想到使用贪心法,在考试时有很多同学把整数按从大到小的顺转载 2016-01-03 16:17:01 · 1935 阅读 · 0 评论 -
高精度整数去位取最小问题
Description键盘输入一个高精度的正整数N,去掉其中任意M个数字后剩下的数字按原左右次序将组成一个新的正整数。编程对给定的N和M寻找一种方案使得剩下的数字组成的新数最小。输出组成的新的正整数。(不超过240位) 输入数据均不需判错。 如果去掉了某几个位后得到的新整数开头为0,保留0。Input 本题有多组测试数据,每组测试数据占一行。 一个高转载 2015-12-20 21:42:50 · 1455 阅读 · 1 评论 -
最短路径—Dijkstra算法和Floyd算法
最短路径—Dijkstra算法和Floyd算法Dijkstra算法1.定义概览Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。注意该算法要求图转载 2015-12-21 14:50:57 · 626 阅读 · 0 评论 -
坐在马桶上看算法:只有五行的Floyd最短路算法(转载)
坐在马桶上看算法:只有五行的Floyd最短路算法此算法由Robert W. Floyd(罗伯特·弗洛伊德)于1962年发表在“Communications of the ACM”上。同年Stephen Warshall(史蒂芬·沃舍尔)也独立发表了这个算法。Robert W.Floyd这个牛人是朵奇葩,他原本在芝加哥大学读的文学,但是因为当时美国经济不太景气,找工作比较困难转载 2015-12-21 14:58:58 · 402 阅读 · 0 评论 -
图解快速排序
转载自:http://ahalei.blog.51cto.com/坐在马桶上看算法:快速排序2014-03-03 16:44 啊哈磊 51CTO博客 我要评论(0) 字号:T | T算法的精髓在于,跟它一比高数也显得那么生动活泼…。本文由啊哈磊吐槽而成,话说我还是头一次见到这么萌的变量,简直颠覆我对变量这个兵种、对算法这个种族的传统观念。正在被算转载 2015-12-17 10:25:51 · 472 阅读 · 0 评论 -
弗洛伊德算法介绍
转载请注明出处:http://www.cnblogs.com/skywang12345/弗洛伊德算法介绍和Dijkstra算法一样,弗洛伊德(Floyd)算法也是一种用于寻找给定的加权图中顶点间最短路径的算法。该算法名称以创始人之一、1978年图灵奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名。基本思想 通过Floyd计算图G=转载 2015-12-16 21:07:03 · 24868 阅读 · 2 评论 -
算法举例说明————堆排序
一些盆友的文章总是在说一些理论,其实有的问题画个图之类的一下子就豁然开朗了,特别适合我这种反应慢的。 堆排序是利用堆的性质进行的一种选择排序。下面先讨论一下堆。1.堆 堆实际上是一棵完全二叉树,其任何一非叶节点满足性质: Key[i]=Key[2i+1]&&key>=key[2i+2] 即任何一非叶节点的关键字不大于或者不小于其左右孩子转载 2015-12-12 20:22:39 · 637 阅读 · 0 评论 -
背包问题入门
入门级别的一个背包问题 图和解析都特别好问题描述:给定n种物品和一背包。物品i的重量是w[i],其价值为v[i],背包的容量为C。问应如何选择装入背包的物品,使得装入背包中物品的总价值最大?分析:对于一种物品,要么装入背包,要么不装。所以对于一种物品的装入状态可以取0和1。设物品i的装入状态为xi,xi∈ (0,1),此问题称为0-1背包问题。数据:物品个数n=5,物品重量转载 2015-12-12 22:13:35 · 384 阅读 · 0 评论 -
几种排序算法 觉得写得特别好
转载自------快客网,Jay_13排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。本文将依次介绍上述八大排序算法。算法一:插入排序 插入排序示转载 2015-12-14 21:45:46 · 604 阅读 · 0 评论 -
给定权值 {19,01,23,14,55,20,84,27 },构造相应的哈夫曼树,计算WPL.
给定权值 {19,01,23,14,55,20,84,27 },构造相应的哈夫曼树,计算WPL.给定权值 {19,01,23,14,55,20,84,27 },构造相应的哈夫曼树,计算WPL.hopiaz 数学 2014-12-07 优质解答 243/\145 98/\ /\61 84 43 55/\ /\34 27 20 23 /\1转载 2015-12-14 21:59:22 · 8645 阅读 · 1 评论 -
八大排序算法(图文)
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。本文将依次介绍上述八大排序算法。算法一:插入排序 插入排序示意图插入排序是一种最简单直观的排序算法,它的工转载 2015-12-14 22:04:56 · 288 阅读 · 0 评论 -
AOE求关键路径
滴水穿石教你轻松计算AOE网关键路径认识AOE网有向图中,用顶点表示活动,用有向边表示活动之间开始的先后顺序,则称这种有向图为AOV网络;AOV网络可以反应任务完成的先后顺序(拓扑排序)。在AOV网的边上加上权值表示完成该活动所需的时间,则称这样的AOV网为AOE网,如下图: 图中,顶点表示事件(能被触发,两特征属转载 2015-12-15 11:51:17 · 903 阅读 · 0 评论 -
LCS 最长公共子序列问题(非连续的)
最长公共子序列问题(非连续的)首先将要看到如何运用动态编程查找两个 DNA 序列的最长公共子序列(longest common subsequence,LCS)。发现了新的基因序列的生物学家通常想知道该基因序列与其他哪个序列最相似。查找 LCS 是计算两个序列相似程度的一种方法:LCS 越长,两个序列越相似。子序列中的字符与子字符串中的字符不同,它们不需要是连续的。例如,ACE 是转载 2015-12-14 15:10:06 · 541 阅读 · 0 评论 -
算法时间复杂度分析表
转载 2015-12-15 13:35:50 · 421 阅读 · 0 评论 -
二叉排序树(B树)和平衡树(AVL树)
二叉排序树,也称B树,是查找算法中比较常提到的一种数据结构,本文介绍其基本概念和查找过程,并分析其查找效率,进而引出了平衡树(AVL树)的概念。B树的结构 B树即为二叉搜索树或称二叉排序树(Binary Sort Tree),也有叫二叉查找树的。 它或者是一棵空树,或者是具有下列性质的二叉树: 1.若它的左子树不为空,则左子树上所有结点的值均小于转载 2015-12-15 15:35:21 · 2832 阅读 · 3 评论 -
几种常见排序算法的时间复杂度空间复杂度稳定性汇总表
排序类别 时间复杂度 空间复杂度 稳定1插入排序 O(n2) 1 √2希尔排序 O(n2) 1 ×3冒泡排序 O(n2) 1 √4选择排序原创 2015-12-15 22:16:12 · 1273 阅读 · 0 评论 -
链矩阵乘法
p是纵坐标 结束原创 2015-12-16 15:31:07 · 303 阅读 · 0 评论 -
Prim算法 Kruskal算法 Dijstra算法 Floyed算法
Prim算法和Kruskal算法都能从连通图找出最小生成树。区别在于Prim算法是挨个找,而Kruskal是先排序再找Dijkstra算法是典型最短路算法,用于计算一个节点到其他所有节点的最短路径**************************************************************************************************原创 2015-12-16 20:22:12 · 880 阅读 · 0 评论 -
编辑距离问题求解思路
转载 2016-01-07 19:29:34 · 462 阅读 · 0 评论