高级算法
文章平均质量分 78
网络全息测量
网络安全、网络测量、移动无线网络、机载网络、大数据、云计算
展开
-
【算法学习】最优二叉查找树(动态规划)
一、什么是最优二叉查找树最优二叉查找树:给定n个互异的关键字组成的序列K=,且关键字有序(k1图一显示了给定上面的概率分布pi、qi,生成的两个二叉查找树的例子。图二就是在这种情况下一棵最优二叉查找树。概率分布:i01234转载 2014-03-05 05:39:00 · 3306 阅读 · 0 评论 -
算法牛人博客
http://blog.csdn.net/v_july_v/article/category/774945转载 2013-09-14 01:33:21 · 552 阅读 · 0 评论 -
经典算法题每日演练——第四题 最长公共子序列
一: 作用 最长公共子序列的问题常用于解决字符串的相似度,是一个非常实用的算法,作为码农,此算法是我们的必备基本功。二:概念 举个例子,cnblogs这个字符串中子序列有多少个呢?很显然有27个,比如其中的cb,cgs等等都是其子序列,我们可以看出子序列不见得一定是连续的,连续的那是子串。 我想大家已经了解了子序列的概念,那现在可以延伸到两个字符串了转载 2013-09-26 01:18:49 · 537 阅读 · 0 评论 -
Java实现最长公共子序列
最长公共子序列(LCS)定义:一个数列 S,如果分别是两个或多个已知数列的子序列,且是所有符合此条件序列中最长的,则 S 称为已知序列的最长公共子序列。比如数列A = “abcdef”, B = “adefcb”. 那么两个数列的公共子序列是"adef". 最长公共子序列和最长公共子字符串是有区别的,公共子序列里的元素可以不相邻,但是公共子字符串必须是连接在一起的。比如A和B的公共子字符串是“de原创 2013-09-26 01:43:50 · 956 阅读 · 0 评论 -
算法洗脑系列(8篇)——第二篇 递归思想
今天说说递归思想,在我们编码时,有的时候递归能够让我们的算法更加通俗易懂,并且代码量也是大大的减少。比如我先前的系列中说到了关于树的“先序,中序和后序”遍历,那么看看用递归来描叙这个问题是多少的简洁,多么的轻松。 1 #region 二叉树的先序遍历 2 /// 3 /// 二叉树的先序遍历 4 /// 5 /// 6 ///转载 2013-09-25 16:50:34 · 549 阅读 · 0 评论 -
算法洗脑系列(8篇)——第一篇 递推思想
像俺一样奋斗在一线的码农们,一谈到学编程,都是说要学会XX语言就OK了,其实我们理解的有一点点的偏差,因为我们只说到了三分之一,其实真正的编程应该是:编程=数据结构+算法+XX语言。 对的,XX语言只是一个工具而已,就好比我们知道用笔来写字,但是不见得我们就能写出一手让张恨水为之倾倒的好字,其实我也说过算法不仅仅用于程序设计中,在我们的生活中也处处存在着算法,比如记得我大二学C#转载 2013-09-25 16:24:11 · 670 阅读 · 0 评论 -
选择置换+败者树搞定外部排序
个人认为,外部排序是我们在学习过程中接触到的一个比较重要的算法,它既包含了基本的排序算法,又考察了对文件IO以及内存的理解,还展示了最基本的程序优化思想,可以说能够写好一个外部排序,就说明基本的编程能力已经过关了。本文将对整个外部排序的过程进行详细的分析,并介绍两个经典算法,最后附上完整的程序代码。1. 问题描述 由于在现实环境中,有时候需要对一个非常大的文件进行排序,而计算机内存是有限转载 2013-10-08 23:26:53 · 3641 阅读 · 2 评论 -
<算法设计技巧与分析>M.H>Alsuwaiye编著 读书心得
(1)选第7章动态规划作为研究的开始动态规划的基本要素就是(1)可以分拆同时得到最优解(2)解必须重叠否则动态规划无法起到把时间复杂度减少到多项式本章一开始选择了Fibonacci序列问题作为研究对象procedure f(n)if(n=1)or(n=2) then return 1else return f(n-1)+f(n-2)然后选择:最长公共子序列为重点研究原创 2013-10-06 11:49:27 · 721 阅读 · 0 评论 -
排序算法的稳定性分析
快速排序、希尔排序、堆排序、直接选择排序不是稳定的排序算法,而基数排序、冒泡排序、直接插入排序、折半插入排序、归并排序是稳定的排序算法首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式化一下,如果Ai = Aj, Ai原来在位置前,排序后Ai还是要在Aj位置前。其次,说一下稳定性的好处。排序转载 2013-10-06 22:35:31 · 490 阅读 · 0 评论 -
算法洗脑系列(8篇)——第六篇 回溯思想
记得广告中经常听到过,抱着试试看的态度买了3个疗程,效果不错........ 也经常听人说过什么车到山前必有路,船到桥头自然直。哈哈,这种思想就是回溯思想,也可称为试探思想。 一: 思想 有时我们要得到问题的解,先从其中某一种情况进行试探,在试探过程中,一旦发现原来的选择是错误的,那么就退回一步重新选择, 然后继续向前试探,反复这样的过程直到求出问题的解。转载 2013-09-26 00:59:25 · 563 阅读 · 0 评论 -
算法2(最近必须看的一个)啊
http://www.cnblogs.com/huangxincheng/category/340148.html转载 2013-09-23 10:04:47 · 419 阅读 · 0 评论 -
银行家算法
死锁:死锁产生的现场:当A进程P S2信号量而B进程P S1信号量时就会产生死锁,因为S2信号量需要B进程释放,而S1信号量需要A进程释放,因此两个进程都在等相互的资源,造成死锁。 死锁产生的条件:互斥条件:进程要求对所分配的资源进行排它性控制,即在一段时间内某资源仅为一进程所占用。(信号量s1 s2为互斥的信号量,只能被一个进程占用)请求和保持条件:当转载 2013-11-15 06:32:14 · 903 阅读 · 0 评论 -
字符串匹配的KMP算法
字符串匹配是计算机的基本任务之一。举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"?许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著名科学家Donald Knuth。这种算法不太容易理解,网上转载 2013-10-23 01:08:15 · 566 阅读 · 0 评论 -
OJ(Online Judge)系统及ACM测试题库大全
OJ是Online Judge系统的简称,用来在线检测程序源代码的正确性。著名的OJ有RQNOJ、URAL等。国内著名的题库有北京大学题库、浙江大学题库等。国外的题库包括乌拉尔大学、瓦拉杜利德大学题库等。简介: Online Judge系统(简称OJ)是一个在线的判题系统。用户可以在线提交程序多种程序(如C、C++)源代码,系统对源代码进行编译和执行,并通过预先设计的测试数据来检验程序源转载 2013-10-22 23:49:09 · 22293 阅读 · 0 评论 -
搜索有以下几种算法:
枚举算法:也即列举问题的所有状态从而寻找符合问题的解的方法。 适合用于状态较少,比较简单的问题上。 广度优先搜索:从初始点开始,根据规则展开第一层节点,并检查目标节点是否在这些节点上,若没有,再将所有的第一层的节点逐一展开,得到第二层节点,如没有,则扩展下去,直到发现目标节点为止。比较适合求最少步骤或最短解序列的题目。 一般设置一个队列queue,将起始节点放入队列中,然后转载 2013-10-19 19:45:36 · 4912 阅读 · 0 评论 -
KMP算法的详细解释及实现
这是我自己学习算法时有关KMP的学习笔记,代码注释的十分的详细,分享给大家,希望对大家有所帮助 在介绍KMP算法之前,先来介绍一下朴素模式匹配算法:朴素模式匹配算法:假设要从主串S=”goodgoole”中找到T=”google”这个字串的位置,我们需要一下的步骤:1,主串S的第一位开始,S与T的前三个字母都能成功匹配,但是S的第四个字母是d,而T的第四位是g,所以主串S的第一位匹转载 2013-10-16 23:47:32 · 564 阅读 · 0 评论 -
高级算法资料收集
http://en.wikipedia.org/wiki/Dynamic_programming#Examples%3a_Computer_algorithmshttp://stackoverflow.com/questions/15596363/why-mergesort-is-not-dynamic-programming/15596650#15596650转载 2013-09-26 18:06:52 · 681 阅读 · 0 评论 -
用两个栈实现一个队列——我作为面试官的小结
两年前从网上看到一道面试题:用两个栈(Stack)实现一个队列(Queue)。觉得不错,就经常拿来面试,几年下来,做此题的应该有几十人了。通过对面试者的表现和反应,有一些统计和感受,在此做个小结。 用C++描述,题目大致是这样的: 已知下面Stack类及其3个方法Push、Pop和 Count,请用2个Stack实现Queue类的入队(Enqueue)出队(Dequeue)方法。转载 2013-10-12 12:09:25 · 566 阅读 · 0 评论 -
程序员面试、算法研究、编程艺术、红黑树、数据挖掘5大系列集锦
程序员面试、算法研究、编程艺术、红黑树、数据挖掘5大经典原创系列集锦与总结作者:July--结构之法算法之道blog之博主。时间:2010年10月-2012年11月。出处:http://blog.csdn.net/v_JULY_v 。声明:版权所有,侵犯必究。 前言 开博已过24个月,回首这24个月,发现自己在本blog上着实花费了巨大的时间与精力,写转载 2013-10-11 23:29:07 · 861 阅读 · 0 评论 -
自话遗传算法(带实例)
简介 好像有那么点空闲时间,那就写点东西吧,由于近期一个项目用到了遗传算法,粒子群算法,蚁群算法等启发式智能搜索算法,今天先以本人的观点去阐述遗传算法,仅作自己对知识点的回顾,和给大家一点参考的意见,其他算法以后有时间再作描述。 遗传算法(Genetic Algorithm)是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优转载 2013-10-06 23:16:02 · 711 阅读 · 0 评论 -
自话粒子群算法(超简单实例)
简介 上次在自话遗传算法中提到后期会写两篇关于粒子群算法和蚁群算法的博文,所以这次给大家带来的是我对粒子群的一些理解,并附带一个相当简单的实例去描述这个算法,我会尽力通俗易懂的把整个算法描述一遍,其实粒子群算法的思想也挺简单的,希望我不要反而写复杂了,下面同样引用百度百科的摘要结束简介部分。 粒子群优化算法(PSO)是一种进化计算技术(evolutionary computat转载 2013-10-06 23:16:09 · 2173 阅读 · 1 评论 -
《算法导论》算法实现收集
http://www.cnblogs.com/alan-forever/p/3349824.html转载 2013-10-05 23:21:59 · 577 阅读 · 0 评论 -
银行家算法详解
银行家算法( banker's algorithm )由 Dijkstra(1065)提出。他将死锁的问题演示为一个银行家贷款的模型。一个银行家向一群客户发放信用卡,每个客户有不同的信用额度。每个客户可以提出信用额度内的任意额度的请求,直到额度用完后再一次性还款。银行家承诺每个客户最终都能获得自己需要的额度。所谓“最终”,是说银行家可以先挂起某个额度请求较大的客户的请求,优先满足小额度的请转载 2013-10-01 01:40:50 · 995 阅读 · 0 评论 -
经典算法详解 之 背包算法
背包问题(Knapsackproblem)是一种组合优化的NP完全问题。问题可以描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。这个问题涉及到了两个条件:一是物品总的大小小于或等于背包的大小,二是物品总的价值要尽量大。如果我们用子问题定义状态来描述的话可以这样解释:用f[i][v]表示前i件物品恰放入一个容量为v的背包可以获得的转载 2013-10-01 00:05:03 · 1594 阅读 · 0 评论 -
字符串匹配的KMP算法-16张图片看明白
字符串匹配是计算机的基本任务之一。举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"?许多算法可以完成这个任务,Knuth-Morris-Pratt算法(简称KMP)是最常用的之一。它以三个发明者命名,起头的那个K就是著名科学家Donald Knuth。这种算法不太容易理解,网上有很多解释,但读起来转载 2013-10-01 01:29:10 · 676 阅读 · 0 评论 -
算法20130914
http://blog.csdn.net/matrix_laboratory/article/category/1443049转载 2013-09-14 01:27:41 · 503 阅读 · 0 评论 -
ACM
http://blog.csdn.net/liygcheng/article/category/1549279转载 2013-09-14 01:25:26 · 546 阅读 · 0 评论 -
算法研究
http://blog.csdn.net/coolanfei/article/category/1114338转载 2013-09-10 01:15:56 · 631 阅读 · 0 评论 -
算法优秀五级
http://blog.csdn.net/csfreebird/article/category/1098155转载 2013-09-10 00:47:32 · 553 阅读 · 0 评论 -
编程艺术
http://blog.csdn.net/v_july_v?viewmode=contents转载 2013-09-10 01:07:33 · 544 阅读 · 0 评论 -
算法面试题
http://blog.chinaunix.net/uid/21712186/cid-80733-list-1.html转载 2013-09-18 01:16:02 · 527 阅读 · 0 评论 -
什么是分支预测?
Stackoverflow上有人提了一个关于分支预测的问题,一位大神非常专业详尽的回答了这个问题,这里翻译过来供大家围观,翻译的不好,请大家见谅。问题:下面这段C++代码显示了一个非常奇怪的性能问题。不知什么原因,排序的data比未排序的data要神奇的快上差不多6倍。#include #include #include int main()转载 2013-10-03 00:24:11 · 1409 阅读 · 0 评论 -
公式编辑器
http://www.cnblogs.com/Fuss/p/3352577.html ERP系统业务繁杂,为应对变化,通常会用到公式编辑器。联想到大学学过的汇编原理,国庆期间一个人没事干,就略微温习了下,花了几个小时写了个公式编辑器。面向对象搞多了,算法能力和记忆力都慢慢弱化了,呜呼哀哉! 本公式编辑器实现的功能很简单,就是计算加减乘除。未进行公式的校验,也未涉及逻辑运算,目的只是单转载 2013-10-05 22:23:10 · 847 阅读 · 0 评论 -
如何用10只实验鼠检验出1000个药瓶中哪个有毒药?
如果你看到这个题目,能够立即想到2 的 10 次方 = 1024.那你已经知道答案了! 原题的描述是:给你10只实验小鼠,用7天的时间检验1000个瓶子中带有一瓶毒药的瓶子是哪一瓶,小鼠喝了毒药7天后才会死亡,如何编程实现? 这是二进制数的一个应用,如果你不明白白,请看下面简单点的。 用3只来检验8瓶。 小鼠最后的状态只有两种,即:死亡(喝了毒药)和活着(没有喝毒药转载 2013-10-05 02:38:52 · 871 阅读 · 0 评论 -
基础算法思想
算法设计的任务就是:针对一个具体的问题,利用特定的方法和步骤来获取最佳结果。1.编程的灵魂:算法+数据结果 刚开始学编程的人总是会陷入这样的误区,以为学会了一门语言就学会了编程,总会学各种各样的语言。实际上,语言只是一个工具,解决具体的问题必须依赖于算法,而算法从本质上讲是数学方法的表达。通过一定的数学知识来解答。一个好的系统分析师或设计师,或许他们可以不会任何一种语言,但转载 2013-10-05 02:39:24 · 748 阅读 · 0 评论 -
01背包、完全背包、多重背包
前言今天花了一下午加一晚上的时间,在九度oj才ac了一道简单的多重背包题目,之前没做过多重背包的题目,导致我做题时复杂化了,虽然是假期但是也不能这么浪费时间,果断总结一下,这里参考了dd_engi大牛的《背包问题九讲》,原文链接:http://love-oriented.com/pack/01背包题目有N件物品和一个容量为V的背包。第i建物品的费用是c[i],价值是转载 2013-10-05 01:52:04 · 868 阅读 · 0 评论 -
Java压缩技术的学习(tar增加非递归算法)
http://blog.csdn.net/psyuhen/article/details/9470005 由于工作的需要,经常要手动去打上线安装包,为了方便,自己写程序去帮助打包。使用过Unix或者Linux的人都基本上都用过tar打包以及gzip压缩,但在Windows下使用得最多的压缩还是RAR和Zip压缩吧一、 tar打包、解包在java的JDK中没有原生转载 2013-10-04 22:02:46 · 1601 阅读 · 0 评论 -
关于算法学习的总结和感悟
http://blog.csdn.net/dc_726/article/details/7397032 时隔一年重读《算法导论》,去年读到了二叉查找树就搁浅了,今年从头捡起,希望能走的更远一些。算上大学时的数据结构与算法课,今年可以算是第三波学习攻势了。随着学习的深入,对算法的学习渐渐有了些自己的看法和感悟。一.为什么学习算法?记得初学算法时不明白为转载 2013-10-04 23:45:25 · 978 阅读 · 0 评论 -
海量日志数据提取某日访问百度次数最多的那个IP的Java实现
海量日志数据提取某日访问百度次数最多的那个IP的Java实现 http://blog.csdn.net/psyuhen/article/details/12061225#comments前几天在网上看到july的一篇文章《教你如何迅速秒杀掉:99%的海量数据处理面试题》,里面说到百度的一个面试题目,题目如下:海量日志数据,提取出某日访问百度次数最多的那个IP。 july里转载 2013-10-04 21:59:30 · 1756 阅读 · 0 评论 -
数据结构
http://blog.csdn.net/wzy_1988/article/category/1306243转载 2013-09-18 01:33:16 · 485 阅读 · 0 评论