【每天进步一点】2012.04.12
来源:互联网 发布:java字符串单个字符 编辑:程序博客网 时间:2024/05/16 17:53
上午
上午刚到实验室的时候,先写完了一个程序,在USACO上一次就pass,虽然比较水,但是还是很开心。然后又打电话跟女朋友沟通了一些感情上的问题,说完之后,感觉心情明显好得多了。要不然,可能今天一整天就会用写程序去打发它了。
之后阅读了<<Introduction To Algorithms>>的single-source shortest paths章节中的两个算法:Bellman-Ford算法与Dijkstra算法。其中,Bellman-Ford算法的效率没有Dijkstra的效率高,但它可以去解决存在negative-edge的情况。
在Bellman-Ford算法中,首先需要initialize这个single source图。然后循环对所有的边进行v-1次relax操作。最后判断有无非环的操作是遍历每一条边(u,v),测试d[v]>d[u]+(u,v)。
而在Dijkstra算法中,类似于BFS,它使用一个一个最小堆来维护所有的顶点,从当中取出具有最小d值的节点,然后访问它所有直接相连的边,进行relax操作。然后将新的节点更新到最小堆中,这里涉及Decrease-Key操作。
下午
下午按照导师布置的任务,接触了MagicARM2410试验箱,完成了一个GPIO实现,基本的原理和问题都能够搞得比较明白,只是将程序烧写到板子上之后,就进不去原来自带的Linux系统了,从网上查阅了一些资料,估计以后会进行到这一步,然后完成它的。虽然自己一点儿都不喜欢嵌入式,不过还是强迫着自己去学习吧,遇到困难不能够畏缩,而是要迎头而上。这才是作为一个更强的人的基本保证。毕竟,为什么别人可以,我不行呢?就应该这样对自己说。
晚上
今天晚上又学习了<<Introduction To Algorithms>>中的接下来一部分内容,比较重要的是Difference contraints使用shortest paths方法求解。这里讲解了一种处理比较特殊的一类linear programming问题——Systems of difference contraints。使用顶点来表示未知的x,每一条边就代表着b值,也即约束条件。使用的方法是,构建graph的时候,添加进来一个新的顶点v与v到其他所有顶点的边,每个边的权值都是0,最后从v点开始,使用Bellman-Ford算法搜索Shortest path,每个顶点的d值即是x的可取值。
- 【每天进步一点】2012.04.12
- 每天进步一点
- 每天进步一点
- 每天进步一点
- 每天进步一点
- 每天进步一点
- 每天学习一点,进步一点!
- 每天进步一点.十天也有一大步
- 每天进步一点 linux vi
- 每天进步一点--学习 lslpp
- 每天进步一点---抱怨下
- java基础知识---每天进步一点
- 每天进步一点(1)
- 每天学习一个知识点,每天进步一点
- 记事!从今天开始!每天进步一点!
- 能做到“每天都进步一点吗”
- C#每天进步一点--异步编程模式
- 开通技术博客啦!每天进步一点
- 【Windows内核原理与实现】读书笔记(四)
- 【Windows内核原理与实现】读书笔记(五)
- 【QT学习】(一)配置Qt+VS2008环境
- 【Qt学习】(二)第一个Qt程序
- 【Windows内核原理与实现】读书笔记(六)
- 【每天进步一点】2012.04.12
- 【Linux】GNU C库 accept函数的逐层下调的研究
- 数据挖掘之关联分析的基本概念
- 计算机"端口"详解
- 棋盘覆盖
- 数据结构之AVL树
- MySQL调优脚本tuning-primer.sh使用说明
- Swap in JAVA, 不是想象中的简单
- Effective Java总结