Github博文地址,此处更新可能不是很及时。1.背景最近发现算法以及数据结构落下了不少(其实还是大学没怎么好好学,囧rz),考虑到最近的项目结构越来越复杂了,用它来练练思路,就打算复习下数据结构与算法。结合最近在学英语,然后干脆就用英文喽。然后选定一本参考书籍《Data Structures an...
分类:
编程语言 时间:
2014-11-12 00:31:07
阅读次数:
268
0) 引论正如名字所言,最短路径算法就是为了找到一个图中,某一个点到其他点的最短路径或者是距离。最短路径算法一般分为四种情况:a) 无权重的最短路径b) 有权重的最短路径c) 边的权重为负的图d) 无圈的图ps:上面的情况针对的都是有向图。1)无权重的最短路径下图是一个例子:假设我们取点v3作为初始...
分类:
编程语言 时间:
2014-11-06 12:45:33
阅读次数:
338
递归算法:就是一种直接或间接调用自身的算法。实现过程:通过函数或者子过程来完成,在函数或者子过程中编写代码直接或间接的调用自己,即可完成递归操作。(相同类别的问题,把问题层层转换为规模缩小的子问题到最小问题有已知条件,然后来求解,然后得到结果逐级返回。其实也是一种循环。)...
分类:
编程语言 时间:
2014-11-06 09:22:53
阅读次数:
232
实践经典迷宫问题的两种解法,给出了实际运行的动态效果图,以帮助体会栈的运用。...
分类:
编程语言 时间:
2014-11-05 23:14:21
阅读次数:
377
八大排序算法分类:数据结构与算法c/c++2012-07-23 16:4545743人阅读评论(32)收藏举报算法mergepivot存储exchange目录(?)[-]概述插入排序直接插入排序Straight Insertion Sort插入排序希尔排序Shells Sort选择排序简单选择排序S...
分类:
编程语言 时间:
2014-11-05 22:58:52
阅读次数:
311
ArrayList的插入和删除的操作代价很大,一旦你的程序运行非常缓慢时,你就有必要去关注一下arrayList可能就是罪魁祸首。最近看了《数据结构与算法分析:Java语言描述(第2版) 》中的第三章表、栈和队列结构部分:学习了一下ArrayList与LinkedList的实现方式。以下是我的一些看...
分类:
其他好文 时间:
2014-11-05 17:01:35
阅读次数:
196
原文来自于:http://www.cnblogs.com/skywang12345/p/3603935.html最近抽空整理了"数据结构和算法"的相关文章。在整理过程中,对于每种数据结构和算法分别给出"C"、"C++"和"Java"这三种语言的实现;实现语言虽不同,但原理如出一辙。因此,读者在了解和...
分类:
编程语言 时间:
2014-11-05 12:18:01
阅读次数:
291
枚举法的本质就是从所有候选答案中去搜索正确的解。枚举有超级无敌准确性,只要时间足够,正确的枚举得出的结论是绝对正确的。枚举拥有天下第一全面性,因为它是对所有方案的全面搜索,所以,它能够得出所有的解。对于枚举算法,加强约束条件,缩小枚举的范围,是程序优化的主要考虑方向。...
分类:
编程语言 时间:
2014-11-05 09:20:07
阅读次数:
253
从算法的实现向算法的设计转变,提供解决问题的思路1.贪心算法一种局部最优算法设计思路,思想是保证每一步选择在当前达到最优。一个很常见的贪心算法案例是零钱找取问题。调度问题:书上的调度问题比较简单,其目标是所有作业的平均持续时间(调度+运行)最短,无论是但处理器还是多处理器,最优解的方案总是按作业的长...
分类:
编程语言 时间:
2014-11-04 17:00:22
阅读次数:
372
基本介绍一个集合S,集合中一个元素a。a的等价类是S的一个子集,该子集包含所有与a有关系的元素。等价类形成是对S的一个划分且S中的每一个成员恰好出现在一个等价类中。这样,判断a与b是否有关系,只需要判断a与b是否在一个等价类中即可。对于集合S划分,取任意两个等价类,Si与Sj,如果Si∩Sj = ?...
分类:
编程语言 时间:
2014-11-03 23:47:51
阅读次数:
313