07 2012 档案

如何记录Dijkstra最短路径的过程
摘要:Dijkstra算法 假设找出v0到其他顶点的最短路径 s[N]初始化为0,如果找到v0到vn的最短路径则把s[n]置一 dist[N]初始化为v0到其他顶点的直接路径,两个没相连的顶点用MAX值代入 1.从所有未找到最短路径的顶点中找出dist最小的数值的下标u,所以s[u]置位。 2.用v0到vu的长度加上vu到其他顶点的长度,如果发现比dist中的小,则更新dist中的数值,但注意此时无需把s[]置位,因为此时得到的并不一定是最短路径。然后跳回1,重新检查v0到s[]中还没被置位的顶点。通过算法我们可以写代码算出各个最短路径的数值,可是问题来了:最短路径是得到了,可是最短路径该怎么走,我 阅读全文

posted @ 2012-07-22 23:30 JacobChen2012 阅读(1485) 评论(1) 推荐(0)

Linux中避开执行权限的小技巧
摘要:刚才在修改执行文件权限时,突然想到了一个可以绕过root对普通用户限制执行权限的好方法。如果文件file没有x权限而还有r权限的话,那么使用命令cat file > file2可以把file的二进制代码重定向到file2当中,此时ls -l file2,发现权限是-rw-rw-r--,但好处是所有者和所在组都变成当前用户了,那么此时只需chmod u+x file2,就可以顺利地执行file2了!原理就是file中存储的是可执行的二进制代码,读file显示出来的内容虽然我们无法理解,但却正是机器能理解的语言,所以只要想方法把这段二进制机器码存放在另外一个有执行权限的文件里,也就相当于获得 阅读全文

posted @ 2012-07-08 21:55 JacobChen2012 阅读(719) 评论(1) 推荐(0)

导航