算法
渴望可及
这个作者很懒,什么都没留下…
展开
-
用异或交换两个整数的陷阱
前面我们谈到了,可用通过异或运算交换两个数,而不需要任何的中间变量。 如下面:void exchange(int &a, int &b){ a ^= b; b ^= a; a ^= b;}然而,这里面却存在着一个非常隐蔽的陷阱。通常我们在对数组进行操作的时候,会交换数组中的两个元素,如exchan转载 2015-11-04 08:57:27 · 640 阅读 · 0 评论 -
%02x与%2x 之间的区别
输出最小宽度用十进制整数来表示输出的最少位数。若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0(当最小宽度数值以0开头时)。X 表示以十六进制形式输出02 表示不足两位,前面补0输出;如果超过两位,则实际输出举例:printf("%02X", 0x345); //打印出:345printf("%02X", 0x6); //打印出:06原创 2016-03-09 09:19:17 · 75351 阅读 · 1 评论 -
白话经典算法系列之五 归并排序的实现
归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然后再进行比较,如果有数列为空,那直接将另一个数列的数据依次取出即可。[cpp] view plaincopy转载 2015-11-26 00:24:34 · 396 阅读 · 0 评论 -
脚本之家的好网址: 首页 >> 软件编程 >> C 语言
推荐一个不错的学习网址:http://www.jb51.net/list/list_159_1.htm放在CSDN 与大家共享!原创 2015-11-21 14:38:12 · 593 阅读 · 0 评论 -
各种算法动画展示,效果不错。
各种算法动画展示:http://www.yxqzzx.cn/teacher/ShowArticle.asp?ArticleID=417原创 2015-11-18 16:07:28 · 2333 阅读 · 0 评论 -
免费获取 visual studio 2013正版安装软件
如果有需要visual studio 2013安装软件的可以试试以下方法(和朋友自己业余搞的公众号,目前处于推广时期):微信关注 “金喜鹊论文发表” 账号,关注后,输入 2013 , 之后就会回复 visual studio 2013 安装软件的百度云链接和密码。公众号中也有c/c++视频 ,大家也可以 输入 程序 或者 资料, 即可获取 海量的c/c++资原创 2015-11-18 23:13:33 · 1186 阅读 · 0 评论 -
QuickSort排序
高快省的排序算法有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端呢。假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数(不要被这个名词吓到了,就是一个用来参照的数,待会你就知道它用来做啥的了)。为了方便,就让第一个数6作为基准数吧。接下来,需要将这个序列转载 2015-11-17 10:20:49 · 296 阅读 · 0 评论 -
Floyd最短路算法
坐在马桶上看算法:只有五行的Floyd最短路算法2014-03-26 09:04 ahalei 51CTO博客 我要评论(0) 字号:T | T此算法由Robert W. Floyd(罗伯特·弗洛伊德)于1962年发表在“Communications of the ACM”上。同年Stephen Warshall(史蒂芬·沃舍尔)也独立发表了这个算法。Robert转载 2015-10-13 16:07:51 · 417 阅读 · 0 评论 -
Dijkstra算法
Dijkstra算法Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。 Dijkstra算法是很有代表性的最短路算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,转载 2015-10-13 15:21:51 · 385 阅读 · 0 评论 -
DFS-BFS搜索专题【经典训练题】【有时间一个个做下来】
有时间要去做做这些题目,所以从他人空间copy过来了,谢谢那位大虾啦。pku 1175 Starry Night题目地址:http://acm.pku.edu.cn/JudgeOnline/problem?id=1175解法:BFS,要注意的是如何判断图形是一样的,我的做法就是计算每两个点的距离之和。看:http://hi.baidu.com/doxi_free/blog/it转载 2015-10-10 16:56:17 · 1442 阅读 · 0 评论 -
代码时间换空间以及空间换时间
void swap(int a, int b){ int c; c=a; a=b;b=a;}//--->空优 void swap(int a, int b){ a=a+b;b=a-b;a=a-b; }//根据以上的题意解释一下以时间换空间,和以空间换时间第一个,用空间换时间,swap中定义了c,就是在内存中又开辟了一个int内存空间,然后一次swap需要进行三次赋转载 2016-05-30 17:57:07 · 9500 阅读 · 0 评论