![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算-算法
Tanbin_
这个作者很懒,什么都没留下…
展开
-
两个数互换
一般我们是这样进行两个数互换的: temp = a; a = b; b = tem;其实还可以这样: a = a ^ b; b = a ^ b; a = a ^ b; 原理是,a和b异或后会得到一个数,我们把它称作数S。你会发现S和a,b其中一个数异或操作会得到另一个。这是要记住的一个规律吧,很难去解释为什么。可以解释的朋友请在评论留言。 上面可以这样理解 s = a ^ b;原创 2016-12-06 12:50:54 · 336 阅读 · 0 评论 -
Dijkstra 简要证明
s 起点 d[v] ,v 集合S : 存在与S中的顶点V都满足 d[v]=最短路径1.正确性引理: 存在v点最短路径,s->… ->u->v,且u在S中,则当u点松弛v点后,d[v] 为最小值。2.证明在dijkstra中选取的数组中最小的元素d[v]为该顶点的最短路径值 proof: 假设选取的最小数组元素不是最短路径值,存在路径s->….x->y->v 是最短路径,(x原创 2017-11-30 12:10:35 · 1121 阅读 · 0 评论