十五大经典算法研究
文章平均质量分 84
本经典算法研究系列,涵盖A.Dijkstra.DP.BFS/DFS.红黑树.KMP.遗传.启发式搜索.图像特征提取SIFT.傅立叶变换.Hash.快速排序.SPFA.快递选择SELECT等15个经典基础算法,共计31篇文章,包括算法理论的研究与阐述,及其编程的具体实现。
v_JULY_v
七月在线创始人兼CEO,结构之法算法之道blog之博主
展开
-
数学建模十大经典算法漫谈
数学建模十大算法漫谈作者:July 二零一一年一月二十九日本文参考:I、 细数二十世纪最伟大的十大算法 译者:JulyII、 本BLOG内 经典算法研究系列III、维基百科博主说明:1、此数学建模十大算法依据网上的一份榜单而写,本文对此十大算法作一一简单介绍。这只是一份榜单而已,数学建模中还有很多的算法,未一一囊括。欢迎读者提供更多的好的算法。2、此份榜单,只是初步阐述了此数学建模十大算法,日后,本人会于闲余之际,择其三、四,好好一一研究。3、在具体阐述每一算法的应用时,除了列出常见的应用之外,同时,还原创 2011-01-29 11:36:00 · 41677 阅读 · 16 评论 -
几个最短路径算法Floyd、Dijkstra、Bellman-Ford、SPFA的比较
几大最短路径算法比较 July、二零一一年二月十二日。----------------------------------- 几个最短路径算法的比较:Floyd 求多源、无负权边的最短路。用矩阵记录图。时效性较差,时间复杂度O(V^3)。 Floyd-Warshall算法(Floyd-Warshall algorithm)是解决任意两点间的最短路径的一种算法,可以正确处理原创 2011-02-12 18:37:00 · 87606 阅读 · 29 评论 -
关于查找数组中最小的k个元素的解答、updated
爱的 关于查找数组中最小的k个元素的全面讨论作者:July、Sorehead参考:I、本人整理的微软面试第5题II、本人发的帖子: [推荐] 横空出世,席卷Csdn:记微软等100题系列数次被荐[100题维护地址] http://topic.csdn.net/u/20101126/10/b4f12a00-6280-492f-b785-cb6835a63dc9.html---------------------------------------引言:以下是我原创 2011-03-09 18:30:00 · 12930 阅读 · 30 评论 -
精通八大排序算法系列:二、堆排序算法
精通八大排序算法系列:二、堆排序算法作者:July 、二零一一年二月二十日本文参考:Introduction To Algorithms,second edition。-------------------此精通排序算法系列,前一节,已讲过了快速排序算法,据我所知,要真正彻底认识一个算法,最好是去查找此算法的原发明者的论文或相关文献。ok,此节,咱们提前进入稍微难一点的堆排序算法,而后再讲插入、归并等算法。一、堆排序算法的基本特性时间复杂度:O(nlgn)...//等同于归并排序最原创 2011-02-21 21:46:00 · 68191 阅读 · 34 评论 -
二之再续、Dijkstra 算法+fibonacci堆的逐步c实现
二之再续、Dijkstra 算法+fibonacci堆的逐步c实现作者:JULY、二零一一年三月是八日出处:----------------------------------引言: 来考虑一个问题,平面上6个点,A,B,C,D,E,F,假定已知其中一些点之间的距离,现在,要求A到其它5个点,B,C,D,E,F各点的最短距离。如下图所示:经过上图,我们可以轻而易举的得到A->B,C,D,E,F各点的最短距离:目的 路径 最短距离A=>A, A-原创 2011-03-18 17:11:00 · 31094 阅读 · 21 评论 -
数字图像处理领域的二十四个典型算法及vc实现、第二章
数字图像处理领域的二十四个典型算法及vc实现、第二章作者:July 二零一一年二月二十六日。参考:百度百科、维基百科、vc数字图像处理。----------------------------------------------数字图像处理领域的二十四个典型算法及vc实现、第一章一、256色转灰度图二、Walsh变换三、二值化变换四、阈值变换五、傅立叶变换六、离散余弦变换数字图像处理领域的二十四个典型算法及vc实现、第二章七、高斯平滑八、图像平移九、图像缩放十、图像旋转数字原创 2011-03-06 15:35:00 · 30858 阅读 · 26 评论 -
数据挖掘领域十大经典算法初探
数据挖掘领域十大经典算法初探 译者:July 二零一一年一月十五日-----------------------------------------参考文献:国际权威的学术组织ICDM,于06年12月年评选出的数据挖掘领域的十大经典算法:C4.5, k-Means, SVM, Apriori, EM, PageRank, AdaBoost, kNN, Naive Bayes, and CART翻译 2011-01-15 15:31:00 · 114049 阅读 · 55 评论 -
大刀阔斧,抽丝剥茧:评红黑树系列文章
大刀阔斧,抽丝剥茧:评红黑树系列文章作者:July 二零一一年一月三十日本文参考:本BLOG内红黑树系列的四篇文章:I、 教你透彻了解红黑树:http://blog.csdn.net/v_JULY_v/archive/2010/12/29/6105630.aspxII、 红黑树算法的层层剖析与逐步实现 [此文被推荐]http://blog.csdn.net/v_JULY_v/archive/2010/12/31/6109153.aspxIII、教你彻底实现红黑树:红黑树的c源码实现与剖析http:/原创 2011-01-30 11:18:00 · 12844 阅读 · 13 评论 -
当今世界最为经典的十大算法--投票进行时
当今世界最为经典的十大算法--投票进行时 作者:July、时间:二零一一年三月七日。参考:十三个经典算法研究与总结、目录+索引,本人第一大原创作品。内容说明:I、 本文原名为:当今世界最受人们重视的十大经典算法,后改为如上题目。II、本文分为俩部分: 第一部分、来自圣经的十大算法:为某网友票选出来的十个来自圣经的算法。 第二部分、当今世界最为经典的十大算法--投票进行时:是恳请本文的读原创 2011-03-07 10:03:00 · 95725 阅读 · 326 评论 -
从LSM-Tree、COLA-Tree谈到StackOverflow、OSQA
从LSM-Tree、COLA-Tree谈到StackOverflow、OSQA作者:July,chx/@罗勍出处:结构之法算法之道blog导读 本文重点谈了4个东西,LSM-Tree及COLA-Tree,及StackOverflow及OSQA,全文分为以下两部分:第一部分从最基本的LSM-Tree的C0C1两组件算法,谈到多组件算法( LSM-Tree最适用于那些索引插入频率远大于查询频率的原创 2012-05-01 23:47:22 · 90847 阅读 · 82 评论 -
数字图像处理领域的二十四个典型算法及vc实现、第一章
数字图像处理领域的二十四个典型算法及vc实现、第一章作者:July 二零一一年二月二十六日。参考:百度百科、维基百科、vc数字图像处理。--------------------------------------------------数字图像处理领域的二十四个典型算法及vc实现、第一章一、256色转灰度图二、Walsh变换三、二值化变换四、阈值变换五、傅立叶变换六、离散余弦变换数字图像处理领域的24个典型算法及vc实现、第二章七、八、九、十、十一、十二、数字图原创 2011-02-26 18:14:00 · 59700 阅读 · 53 评论 -
细数二十世纪最伟大的10大算法
细数二十世纪最伟大的十大算法 译者:July 二零一一年一月十日------------------------------------参考文献:The Best of the 20th Century: Editors Name Top 10 Algorithms。By Barry A. Cipra。地址:http://www.uta.edu/faculty/rcli/TopTen/topt翻译 2011-01-10 22:27:00 · 105942 阅读 · 130 评论 -
十二之续、快速排序算法的深入分析
十二之续、快速排序算法的深入分析 作者:July 二零一一年二月二十七日--------------------------前言一、快速排序最初的版本二、Hoare版本的具体分析三、Hoare变种版本四、快速排序的优化版本五、快速排序的深入分析六、Hoare变种版本与优化后版本的比较七、快速排序算法的时间复杂度八、由原创 2011-02-27 13:26:00 · 68812 阅读 · 137 评论 -
快速排序算法
快速排序算法 作者 July 二零一一年一月四日------------------------------------------ 写之前,先说点题外话。每写一篇文章,我都会遵循以下几点原则:一、保持版面的尽量清晰,力保排版良好。二、力争所写的东西,清晰易懂,图文并茂三、尽最大可能确保所写的东西精准,有实用价值。 因为,我觉得,你既然要把你的文章,公布出来,那么你就一定要为你的读者负责原创 2011-01-04 20:13:00 · 248735 阅读 · 175 评论 -
教你初步了解红黑树
教你透彻了解红黑树 作者:July、saturnman 2010年12月29日本文参考:Google、算法导论、STL源码剖析、计算机程序设计艺术。推荐阅读:Left-Leaning Red-Black Trees, Dagstuhl Workshop on Data Structures, Wadern, Germany, February, 2008. 直接下载:http://www.cs原创 2010-12-29 18:36:00 · 490285 阅读 · 325 评论 -
九之再续:教你一步一步用c语言实现sift算法、下
教你一步一步用c语言实现sift算法、下作者:July、二零一一年三月十二日出处:http://blog.csdn.net/v_JULY_v。参考:Rob Hess维护的sift 库环境:windows xp+vc6.0条件:c语言实现。说明:本BLOG内会陆续一一实现所有经典算法。------------------------本文接上,教你一步一步用c语言实现sift算法、上,而来:函数编写原创 2011-03-13 13:10:00 · 50246 阅读 · 142 评论 -
九之再续:教你一步一步用c语言实现sift算法、上
教你一步一步用c语言实现sift算法、上作者:July、二零一一年三月十二日出处:http://blog.csdn.net/v_JULY_v参考:Rob Hess维护的sift 库环境:windows xp+vc6.0条件:c语言实现。说明:本BLOG内会陆续一一实现所有经典算法。------------------------引言: 在我写的关于sift算法的前倆篇文章里头,已经对sift原创 2011-03-13 09:32:00 · 70354 阅读 · 96 评论 -
经典算法研究系列:九之续、sift算法的编译与实现
九之续、sift算法的编译与实现作者:July 、二零一一年三月一日。代码:Rob Hess维护的sift 库,July updated。环境:windows xp+vc6.0。条件:opencv1.0、gsl-1.8.exe----------------------------------------------- 昨日,下载了Rob Hess的sift库,将其源码粗略的看了看,想要编译时原创 2011-03-05 10:44:00 · 34702 阅读 · 30 评论 -
二之三续、Dijkstra 算法+Heap堆的完整c实现源码
二之三续、Dijkstra 算法+Heap堆的完整c实现源码作者:JULY、二零一一年三月十八日出处:http://blog.csdn.net/v_JULY_v。------------------------------------------引言: 此文写作目的很简单,就一个理由:上一篇文章,二之再续、Dijkstra 算法+fibonacci堆的逐步c实现,写的不够好,特此再写Dijkstra 算法的一个续集,谓之二之三续。 鉴于读者理解斐波那契堆的难度,本原创 2011-03-24 18:22:00 · 37871 阅读 · 35 评论 -
编程艺术第二十三~四章&十一续:杨氏矩阵查找,倒排索引关键词Hash编码
第二十三、四章:杨氏矩阵查找,倒排索引关键词Hash不重复编码实践作者:July、yansha。编程艺术室出品。出处:结构之法算法之道。前言 本文阐述两个问题,第二十三章是杨氏矩阵查找问题,第二十四章是有关倒排索引中关键词Hash编码的问题,主要要解决不重复以及追加的功能,同时也是经典算法研究系列十一、从头到尾彻底解析Hash表算法之续。 OK,有任何问题,也欢迎随时交流或批评指正。谢原创 2011-12-19 21:23:08 · 80551 阅读 · 51 评论 -
从头到尾彻底理解KMP(2014年8月22日版)
从头到尾彻底理解KMP作者:July时间:最初写于2011年12月,2014年7月21日晚10点 全部删除重写成此文,随后的半个多月不断反复改进。后收录于新书《编程之法:面试和算法心得》第4.4节中。1. 引言 本KMP原文最初写于2年多前的2011年12月,因当时初次接触KMP,思路混乱导致写也写得混乱。所以一直想找机会重新写下KMP,但苦于一...原创 2011-12-05 13:05:28 · 766060 阅读 · 622 评论 -
十三个经典算法研究与总结、目录+索引
十三个经典算法研究与总结、目录+索引「后续更新为十五个」 (PDF下载地址:http://download.csdn.net/detail/v_july_v/4478027)作者:July。时间:二零一零年十二月末-二零一一年四月初。出处:http://blog.csdn.net/v_JULY_v。声明:版权所有,侵权定究。------------------------------原创 2011-04-06 17:31:00 · 149118 阅读 · 229 评论 -
第九章三续:SIFT算法的应用--目标识别之Bag-of-words模型
SIFT算法的应用-目标识别之用Bag-of-words模型表示一幅图像 作者:wawayu,July。编程艺术室出品。出处:http://blog.csdn.net/v_JULY_v 。 引言本blog之前已经写了四篇关于SIFT的文章,请参考九、图像特征提取与匹配之SIFT算法,九(续)、sift算法的编译与实现,九(再续)、教你一步一步用c语言实现sift算法、上,及九(再续)、教你一步一步原创 2011-06-20 11:45:00 · 80713 阅读 · 44 评论 -
十五、多项式乘法与快速傅里叶变换
十五、多项式乘法与快速傅里叶变换 前言 经典算法研究系列,已经写到第十五章了,本章,咱们来介绍多项式的乘法以及快速傅里叶变换算法。本博客之前也已详细介绍过离散傅里叶变换(请参考:十、从头到尾彻底理解傅里叶变换算法、上,及十、从头到尾彻底理解傅里叶变换算法、下),这次咱们从多项式乘法开始,然后介绍FFT算法的原理与实现。同时,本文虽涉及到不少数学公式和定理(当然,我会尽量舍去一些与本文咱们要介原创 2011-08-13 18:37:10 · 38235 阅读 · 21 评论 -
十四、第三章再续:快速选择SELECT算法的深入分析与实现
十四、亦第三章再续:快速选择SELECT算法的深入分析与实现作者:July。出处:http://blog.csdn.net/v_JULY_v 。 前言 经典算法研究系列已经写了十三个算法,共计22篇文章(详情,见这:十三个经典算法研究与总结、目录+索引),我很怕我自己不再把这个算法系列给继续写下去了。沉思良久,到底是不想因为要创作狂想曲系列而耽搁这个经典算法研究系列,何况它,至今反响还不原创 2011-05-19 00:27:00 · 55105 阅读 · 86 评论 -
十三、通过浙大上机复试试题学SPFA 算法
十二、通过浙大上机复试学SPFA 算法作者:July、sunbaigui。二零一一年三月二十五日。出处:http://blog.csdn.net/v_JULY_v。------------------前言: 本人不喜欢写诸如“如何学算法”此类的文章,一来怕被人认为是自以为是,二来话题太泛,怕扯得太远,反而不着边际。所以,一直不打算写怎么学习算法此类的文章。 不过,鉴于读者的热心支持与关注,给出以下几点小小的建议,仅供参考: 1、算法,浩如烟海,找原创 2011-03-25 13:07:00 · 29024 阅读 · 16 评论 -
十二之再续:快速排序算法之所有版本的c/c++实现
十二之再续、快速排序算法所有版本的c/c++实现作者:July、二零一一年三月二十日。出处:http://blog.csdn.net/v_JULY_v。-------------------------------------------------- 前言: 相信,经过本人之前写的前俩篇关于快速排序算法的文章:第一篇、一、快速排序算法,及第二篇、一之续、快速排序算法的深入分析,各位,已经对原创 2011-03-20 15:52:00 · 86410 阅读 · 100 评论 -
十一、从头到尾解析Hash表算法
十一、从头到尾彻底解析Hash 表算法作者:July、wuliming、pkuoliver 出处:http://blog.csdn.net/v_JULY_v。 说明:本文分为三部分内容, 第一部分为一道百度面试题Top K算法的详解;第二部分为关于Hash表算法的详细阐述;第三部分为打造一个最快的Hash表算法。------------------------------------ 第原创 2011-03-17 15:40:00 · 342956 阅读 · 241 评论 -
十、从头到尾彻底理解傅里叶变换算法、下
经典算法研究系列:十、从头到尾彻底理解傅里叶变换算法、中作者:July、dznlong 二零一一年二月二十二日推荐阅读:The Scientist and Engineer's Guide to Digital Signal Processing,By Steven W. Smith, Ph.D.------------从头到尾彻底理解傅里叶变换算法、上前言第一部分、 DFT第一章、傅立叶变换的由来第二章、实数形式离散傅立叶变换(Real DFT)从头到尾彻底理解傅里叶变换算法、中第三章、复数第四章、原创 2011-02-22 21:08:00 · 88594 阅读 · 51 评论 -
十、从头到尾彻底理解傅里叶变换算法、上
经典算法研究系列:十、从头到尾彻底理解傅里叶变换算法、上作者:July、dznlong 二零一一年二月二十日推荐阅读:The Scientist and Engineer's Guide to Digital Signal Processing,By Steven W. Smith, Ph.D。此书地址:http://www.dspguide.com/pdfbook.htm。博主说明:I、本文原创 2011-02-20 23:36:00 · 226750 阅读 · 120 评论 -
经典算法研究系列:九、图像特征提取与匹配之SIFT算法
经典算法研究系列:九、SIFT算法研究作者:July、二零一一年二月十五日。推荐阅读:David G. Lowe, "Distinctive image features from scale-invariant keypoints," International Journal of Computer Vision, 60, 2 (2004), pp. 91-110---------------原创 2011-02-15 22:32:00 · 105427 阅读 · 56 评论 -
经典算法研究系列:八、再谈启发式搜索算法
经典算法研究系列:八、再谈启发式搜索算法作者:July 二零一一年二月十日本文参考:I、 维基百科、II、 人工智能-09 启发式搜索、III、本BLOG内,经典算法研究系列:一、A*搜索算法----------------------------引言:A*搜索算法,作为经典算法研究系列的开篇文章,之前已在本BLOG内有所阐述。但要真正理解A*搜索算法,还是得先从启发式搜索算法谈起。毕竟,A*搜索算法也是启发式算法中的一种。ok,切入正题。一、何谓启发式搜索启发式搜索算法有点像广度优先搜索,不同的是,原创 2011-02-10 16:36:00 · 38935 阅读 · 7 评论 -
经典算法研究系列:七、深入浅出遗传算法
经典算法研究系列:七、遗传算法初探 ---深入浅出、透析GA本质本文参考:维基百科 华南理工大学电子讲义 互联网-------------------------------------------------------------------------------的 一、初探遗传算法Ok,先看维基百科对遗传算法所给的解释:遗传算法是计算数学中用于解决最优化的搜索算法,是进化算法的一种。进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传、突变、自然选择以及原创 2011-01-12 20:57:00 · 115829 阅读 · 84 评论 -
六之续、由KMP算法谈到BM算法
六之续、由KMP算法谈到BM算法 作者:滨湖,July、yansha。说明:初稿由滨湖提供,July负责KMP部分的勘误,yansha负责BM部分的修改。全文由July统稿修订完成。出处:http://blog.csdn.net/v_JULY_v 。引言 在此之前,说明下写作本文的目的:1、之前承诺过,这篇文章六、教你从头到尾彻底理解KMP算法、updated之后,KMP算法会写一个续集;原创 2011-06-15 01:28:00 · 60618 阅读 · 87 评论 -
经典算法研究系列:六、教你初步了解KMP算法、updated
教你初步了解KMP算法 作者: July 、saturnma、上善若水。 时间; 二零一一年一月一日-----------------------本文参考:数据结构(c语言版) 李云清等编著、算法导论引言:在文本编辑中,我们经常要在一段文本中某个特定的位置找出 某个特定的字符或模式。由此,便产生了字符串的匹配问题。本文由简单的字符串匹配算法开始,再到KMP算法,由浅入深,教你从头到尾彻底理原创 2011-01-01 17:14:00 · 72830 阅读 · 73 评论 -
经典算法研究系列:五、红黑树算法的实现与剖析
红黑树算法的层层剖析与逐步实现 ----作者 July 二零一零年十二月三十一日本文主要参考:算法导论第二版本文主要代码:参考算法导论。本文图片来源:个人手工画成、算法导论原书。推荐阅读:Leo J. Guibas 和 Robert Sedgewick 于1978年写的关于红黑树的一篇论文。-----------------------------------------------------原创 2010-12-31 11:10:00 · 115330 阅读 · 125 评论 -
如何通透理解:BFS和DFS优先搜索算法(23年修订版)
4、教你通透彻底理解:BFS和DFS优先搜索算法作者:July二零一一年一月一日---------------------------------本人参考:算法导论 本人声明:个人原创,转载请注明出处。ok,开始。翻遍网上,关于此类BFS和DFS算法的文章,很多。但,都说不出个所以然来。读完此文,我想,你对图的广度优先搜索和深度优先搜索定会有个通通透透,彻彻底底的认识。原创 2011-01-01 12:18:00 · 131972 阅读 · 48 评论 -
通俗理解动态规划:由浅入深DP并解决LCS问题(23年修订版)
动态规划算法解LCS问题作者 July 二零一零年十二月三十一日本文参考:微软面试100题系列V0.1版第19、56题、算法导论、维基百科。第一部分、什么是动态规划算法 ok,咱们先来了解下什么是动态规划算法。 动态规划一般也只能应用于有最优子结构的问题。最优子结构的意思是局部最优解能决定全局最优解(对有些问题这个要求并不能完全满足,故有时需要引入一定的近似)。简单地说,问题能原创 2010-12-31 17:46:00 · 117003 阅读 · 61 评论 -
经典算法研究系列:二之续、彻底理解Dijkstra算法
经典算法研究系列:二之续、彻底理解Dijkstra算法 作者:July 二零一一年二月十三日。参考代码:introduction to algorithms,Second Edition。---------------------------------------了解什么是Dijkstra 算法,请参考:经典算法研究系列:二、Dijkstra 算法初探http://blog.csdn.net原创 2011-02-13 15:55:00 · 54537 阅读 · 34 评论 -
经典算法研究系列:二、Dijkstra 算法初探
经典算法研究系列:二、Dijkstra 算法初探 July 二零一一年一月本文主要参考:算法导论 第二版、维基百科。一、Dijkstra 算法的介绍 Dijkstra 算法,又叫迪科斯彻算法(Dijkstra),算法解决的是有向图中单个源点到其他顶点的最短路径问题。举例来说,如果图中的顶点表示城市,而边上的权重表示著城市间开车行经的距离,Dijkstra 算法可以用来找到两个城市之间的最原创 2010-12-24 19:58:00 · 100379 阅读 · 42 评论