自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Nextday函数的简单实现

<br />话说振宇哥的测试课,还要写三个函数:triangle,nextday,replace。<br />为了避免复杂的逻辑判断,使用了表驱动的实现方法。<br />其实我下边的代码的逻辑判断一点不复杂,欢迎观赏!<br />真正复杂的好象是判断星期几的函数:也就是给你年月日,然后判断当天是星期几<br /> <br />public class Main {<br />   <br />    private int [] leapMonths = <br />    {<br /> 

2011-03-02 21:06:00 1342

原创 linux中静态库和动态库的创建和使用

1,linux中的库有两类:静态库和动态库      静态库就是在编译的时候进行链接的库,库的代码添加到要编译的模块中,后缀为:.a,相当于Windows中的.lib文件。      动态库是指在运行时候动态的链接的库,库的代码并没有添加到使用库的模块中。后缀是.so,相当于Windows中的.dll文件。      库通常的命名习惯是:以lib作为前缀,使用的时候有两种方式,一种编译的时候直接写文件全名,另一种方式是-l文件名(没有lib前缀和.a或者.so后缀),具体的使用方法见下边的说明。2,静态库的

2011-03-02 17:28:00 474

原创 android could not find sdk /tools/adb 解决方法

<br />      今天更新sdk的时候,eclipse提示说不能找到sdk中的tools中的adb,可能的原因是sdk和adt版本不匹配的问题,决绝的方法就是把adt和sdk同时更新到最新的版本

2010-12-13 13:53:00 1575

原创 Kruskal算法并查集和最小堆实现

<br />Kruskal算法的基本思想是,将图中的节点分类,分成两个集合,分别表示成S和T其中S是不在生成树中的节点集合,T是在生成树中的节点集合。刚开始的时候,T中只有源节点一个节点。同时将图中的所有边按照权值排序。然后每次向图中添加一条权值最小的边,同时满足,这条边的一个节点在S中一个节点在T中。这样循环,直到树中有了n-1条边为止。实现的代码如下:<br /> <br /> <br /> <br />/**<br />这边使用并查集实现Kruskal算法,并没有使用最小堆,代替的使用了一个排序的方法

2010-08-02 20:06:00 1692

原创 整理最近学习的算法

<br />      前几天,完成了jiang YY大神布置的最短路径和最小生成树论文的初稿,实现了基本的算法,现在回过头来整理下,当做复习:包括最小生成树的Kruskal算法(当时实现的时候就发了文章),和Prim算法(朴素实现),有时间再用堆实现下;最短路径的Bellman-ford算法,Dijkstra算法的堆实现和朴素实现,Floyd算法实现。现在把每一个算法的思想和实现的代码都贴出来,自己以后有时间可以经常看看,复习复习。

2010-08-02 19:53:00 377

原创 Bellman-ford算法实现

<br />      Bellman-ford算法是求解连通带权图中单源最短路径的一种算法,它允许图中存在权值为负的边。同时它还能够判断出图中是否存在一个权值之和为负的回路。如果存在的话,图中就不存在最短路径(因为,假设存在最短路径的话,那么我们只要将这条最短路径沿着权值为负的环路在绕一圈,那么这条最短路径的权值就会减少了,所以不存在最短的路径,因为路径的最小值为负无穷),如果不存在的话,那么求出源节点到所有节点的最短路径。它的基本思想是,进行n-1迭代,分别计算出从源节点到每一个节点的最多有k条边的路径

2010-08-02 19:43:00 789

原创 Dijkstra算法的堆实现

<br /><br />/**<br />使用最小堆实现Dijkstra算法,图的表示是邻接表表示<br />这边只是求出每一个节点到源节点的最短路径,并没有记录父节点,用来生成最短路径<br />**/<br />#include <iostream><br />using namespace std;<br />#define MAX_NODES    1000         //定义最多的节点数<br />#define MAX_COST       10000       //定义边的最大的权值<

2010-07-30 16:59:00 1350

原创 堆排序

<br /><br /><br />/**<br />这边用最大二叉堆实现堆排序算法,熟悉一下建堆的过程<br />**/<br />#include <iostream><br />using namespace std;<br /> <br />void  heapify(int nums [] ,int start ,int n)      //start是需要调整的最小的下标,n是最大的下标,需要调整的最大下标,可以取到下标<br />{<br /> <br />int l = start * 2

2010-07-28 16:30:00 311

原创 最小堆的实现

<br /><br /><br /> <br />/**<br />这边实现的是最小堆,最小堆是这样定义的,首先堆是一棵完全二叉树,每一个节点都有一个权值,满足的条件是,父节点的权值总是大于等于子节点的权值<br />**/<br />#include <iostream><br />using namespace std;<br /><br /><br />//最小堆类的定义如下<br />template <class T><br />class MinHeap<br />{<br />private:

2010-07-28 15:46:00 1114

原创 并查集实现

<br /><br />      首先根据我的理解来谈谈什么是并查集(Union—find set),又叫“不相交集”,它提供了union和find操作,分别用来合并两个集合,在集合中查找某个元素属于哪个集合。听说经典应用是kruskal算法的实现,目前还没有实现那个算法,到时候再看。<br />实现这个并查集的最大收获是重新认识了树的表示中除了使用链表表示以外,使用数组有时候也是一种很好的方法,<br />比如说堆排序中的树就是用数组表示的,而且用数组表示只需要在数组中记录每一个节点的父节点就可以了,其

2010-07-20 23:10:00 390

空空如也

空空如也

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

TA关注的人

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