- 博客(90)
- 资源 (3)
- 收藏
- 关注
原创 最短路径:BellmanFord / SPFA / Dijkstra
SPFA是对Bellman-Ford的一种优化,其核心思路就是:不必一直不停地松弛下去,如果当前节点A被松弛了(也就是说当前节点到Source Point的距离变小了),那么A的邻接点B(有可能B通过A得到到达Source Point的最短路径)就需要重新松弛一下:如果B经由A到达Source Point为最短路径,那么B一定会被松弛,否则B不会被松弛。所以,我们需要构建一个队列,当A被松弛之后,所有A的邻接点都要被重新检测一下,看看需不需要被松弛。于是所有A的邻接点入队。之后再从队列中取出一个节点,进
2014-12-23 00:12:25 994
原创 最优配餐 广度优先搜索
问题描述 栋栋最近开了一家餐饮连锁店,提供外卖服务。随着连锁店越来越多,怎么合理的给客户送餐成为了一个急需解决的问题。 栋栋的连锁店所在的区域可以看成是一个n×n的方格图(如下图所示),方格的格点上的位置上可能包含栋栋的分店(绿色标注)或者客户(蓝色标注),有一些格点是不能经过的(红色标注)。 方格图中的线表示可以行走的道路,相邻两个格点的距离为1。栋栋要送餐必须走可以行走的道路
2014-12-09 21:54:08 1474
原创 岛国问题
【问题描述】一家互联网服务商(简称PIN)在太平洋上发现了几座新岛屿,其中最大的一个岛(称为主岛)已经连接到Internet,但是其他岛和主岛之间没有光缆连接,所以无法上网。为了让所有岛上的居民都能上网,每个岛和主岛之间都必须有直接或者间接的光缆连接。 下图就是这样的一个岛屿,每条实线表示一根光缆,它的长度等于两个岛屿中心位置(路由器位置)的几何距离,图上的数字是该岛上的居民数量。为了
2014-12-03 13:01:38 2409 2
原创 从下至上按层遍历由广义表(节点为数字)构造的二叉树
【问题描述】 给定一颗二叉树,要求从下至上按层遍历二叉树,每层的访问顺序是从左到右,每一层单独输出一行。【输入形式】 广义表表示的二叉树,结点元素类型为整型,且都大于0,例如:1( 2( 3 ( 4, 5 ) ), 6( 7, 8( 9, 10 ) ) )【输出形式】 从下至上,打印每一层的结点元素值,元素间以空格隔开。每层的访问顺序是从左到右,每一层单独输出一行。【样例输
2014-12-02 12:59:06 3833 1
原创 最小生成树(MST):Prim / Kruskal
* 假设T1集合是已加入最小生成树中的点,T2集合是剩下的待加入T2的点 * 我们要做的是把T2集合中离T1最近的那个点,加入T1 * 所以我们需要知道: * 集合T2内各顶点到集合T1的距离 * * 为此,我们用两个数组: * lowcost[i]:用来表示T2中点i到T1的距离; * nearvex[i]:用来表示T2中点i和T1中哪个点最近(为了输出加入时的路径) * nearvex还有一个作用,就是当nearvex[i] = -1时,代表i加入了T1集合 * 实际上如果只是要计算
2014-11-24 09:56:29 1371
转载 堆栈和堆
堆和栈主要的区别有以下几点: 1、管理方式不同:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来说,释放工作由程序员控制,容易产生memoryleak。 2、空间大小不同; 3、能否产生碎片不同; 4、生长方向不同; 5、分配方式不同; 6、分配效率不同; 管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来说,释放
2014-11-22 19:10:32 941
原创 Java中equals和==的区别
Java中equals和==的区别java中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型。byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号(==),比较的是他们的值。 2.复合数据类型(类) 当他们用(==)进行比较的时候,比较的是他们在内存中的存放地址,所以,除非是同一个new出来的
2014-11-17 22:58:14 830
原创 String是一个对象,定义字符串有两种方法——它们的区别和联系
String 是一个字符串类类的定义方法:String str = new String ("hello");只不过它也可以: String str = "hello";基本类型就8个byte、 short、 int、 lang float、 doublebooleanchar追问谢谢,顺便问一下,两种定义类的方法有什么区别吗?回答有
2014-11-17 20:50:06 2454
原创 详解几个sscanf和sprintf的例子
sscanf("iios/12DDWDFF@122","%*[^/]/%[^@]",buf);运行过程是这样的:
2014-11-02 14:08:30 1694
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人