自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 Dijkstra最短路径算法详解

简介Dijkstra最短路径算法是非常经典的图搜索算法,而且具有一定难度,需要花时间好好理解。算法导论第24章对此有详细的分析,值得研究一番。而我自己也结合一个具体实例,实现了代码,确实只有在编码的过程中才能理解算法的细节,提高自己的算法能力。实例分析1.分步解析Dijkstra最短路径算法也叫单源最短路径算法,意思就是只需要输入一个起点,求出该起点到图中其余点的最短路径即可。(而floyd则是求任

2015-08-06 00:26:44 2059

原创 5行代码搞定floyd算法

简介floyd是图搜算中很经典的一个算法,用于求一副图中任意两点之间的最短路径(时间,花费等)。其算法思想感觉比Dijkstra简单,而且代码也很容易实现。不过就是效率比较低,三个for循环导致复杂度为O(n3)。实例假如有如下的地图,图中四个点代表不同的城市,带箭头的边表示飞往各城市的机票(城市1可以到城市2,但城市2不可直接到城市1,只能通过其他城市周转)。我们利用二维矩阵存储这幅地图的各个点和

2015-08-05 21:49:32 933 1

原创 全排列问题

简介字符串全排列是个很经典的问题,记得在毕业前夕面试一家游戏公司,要我手写代码,然后就没有然后了。现在理解了递归是多么的神奇和有用(虽然递归有时候效率是个瓶颈)。所谓字符串全排列,就是打乱顺序重新组合,如abc的全排列有6种,abc,acb,bac,bca,cab,cba。而用代码如何实现呢?实现简单地说:就是第一个数分别以后面的数进行交换E.g:E = (a , b , c),则 prem(E)=

2015-08-05 00:11:27 590

原创 并查集实例详解

一、简介并查集,是一种很有用的数据结构。可以把它想象为多棵独立的树。 并查集的常用基本操作有 查找任意两个树节点,看看它们是否属于同一棵树(其实就是查不同节点的根节点是否一样即可),如下图b & e 同属于根为c的树,所以它们在同一个集合;而h & g则不属于同一集合。 合并这些独立的树,成为一棵更庞大的树。(其实也很简单,就是将一颗树的根节点成为另一个树根节点之下的孩子即可) 合并操作如图所示:

2015-08-04 00:13:24 2390

原创 Trie树兄弟单词实例

Trie树趣味实例如果一个单词,将其字母顺序重新排列可以生成另一个单词,则称这两个单词是兄弟单词。 如:”mary“ & ”army“ “cinema”&“iceman” 现在给定一个字典,用户输入一个单词,如何根据字典找出这个单词有哪些兄弟单词?要求时间和空间效率尽可能的高。解决思路:利用Trie树就可以妥善解决。 只需将上面的树节点增加一个vector< string >,构建

2015-08-03 16:29:42 666

原创 log4cpp深度封装

简介关于log4cpp的介绍与好处就不再赘言了,百度一搜一大把。主要是对于log4cpp的使用如果不封装一下,感觉还是挺麻烦的,例如不少函数名挺长的。所以自己动手把它的日常使用进行了封装,可以让使用log4cpp就像调用一句printf()函数一样简单快捷。封装目标 不需要用一次就调用一次getInstance,只需要在main文件中引入一次即可 封装成需要使用时只需简短的一举logError(“s

2015-08-03 16:05:39 6735 2

原创 C++文本查询程序实例

需求介绍假如有这样的需求: 处理一个英文文本(简单处理为无标点),用户输入一个单词:如you, 程序执行,显示you在文本文件中出现的次数,以及其所在行的内容。如果该单词在一行中出现多次,则此行只显示一次即可。查询结果按行号升序输出各行内容。解决思路利用C++实现这样一个简单的文本查询需求十分简单。 编写两个类 1)TextQuery 2)QueryResult所用数据结构: 使用ve

2015-08-03 15:37:44 941

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除