摘要: http://www.10086bank.com/2013423123017562.htmlDijkstra 算法的输入包含了一个有权重的有向图 G,以及G中的一个来源顶点 S。我们以 V 表示 G 中所有顶点的集合,以 E 表示G 中所有边的集合。(u, v) 表示从顶点 u 到 v 有路径相连,而边的权重则由权重函数 w: E → [0, ∞] 定义。因此,w(u, v) 就是从顶点 u 到顶点 v 的非负花费值(cost),边的花费可以想像成两个顶点之间的距离。任两点间路径的花费值,就是该路径上所有边的花费值总和。已知有 V 中有顶点 s 及 t,Dijkstra 算法可以找到 s 到 阅读全文
posted @ 2013-04-28 14:10 Suzuki.kakeru 阅读(446) 评论(0) 推荐(0) 编辑
摘要: http://www.10086bank.com/2013423162259296.html6.2.2二叉树的存储结构二叉树的存储可分为两种:顺序存储结构和链式存储结构。1.顺序存储结构把一个满二叉树自上而下、从左到右顺序编号,依次存放在数组内,可得到图6.8(a)所示的结果。设满二叉树结点在数组中的索引号为i,那么有如下性质。(1)如果i = 0,此结点为根结点,无双亲。(2)如果i > 0,则其双亲结点为(i -1) / 2。(注意,这里的除法是整除,结果中的小数部分会被舍弃。)(3)结点i的左孩子为2i + 1,右孩子为2i + 2。(4)如果i > 0,当i为奇数时,它是双 阅读全文
posted @ 2013-04-28 14:09 Suzuki.kakeru 阅读(206) 评论(0) 推荐(0) 编辑
摘要: http://www.10086bank.com/20121029132822296.html一、什么是贝叶斯推断贝叶斯推断(Bayesian inference)是一种统计学方法,用来估计统计量的某种性质。它是贝叶斯定理(Bayes' theorem)的应用。英国数学家托马斯·贝叶斯(Thomas Bayes)在1763年发表的一篇论文中,首先提出了这个定理。贝叶斯推断与其他统计学推断方法截然不同。它建立在主观判断的基础上,也就是说,你可以不需要客观证据,先估计一个值,然后根据推断结果不断修正。正是因为它的主观性太强,曾经遭到许多统计学家的诟病。贝叶斯推断需要大量的计算,因 阅读全文
posted @ 2013-04-28 14:08 Suzuki.kakeru 阅读(639) 评论(0) 推荐(0) 编辑
摘要: 先上一张大家都看过而且熟悉的北京地铁线路图:其中本人由于时间时间问题所以就写入了:昌平线,1,2,4,5,6,8,10,13共9条线路图:接下来我说说我的思路 我的思路是这样的:首先定义变量b,e分别代表用户搜索的开始地点和到达地点然后加载地铁线路图主数据,下文代码中的LoadData()方法 ,此时要说明一点LoadData()方法加载的数据即是北京地铁线路图换乘的所有地铁站,放在一个有序的集合里,【此处要ps一下,后面我会用int类型的value代表各个地铁站换乘的站名称再放在一个有序的容器里(放入方法可用选择排序),这样做的目的是为了后面代码高性能查找(以O(lgn)的二分法快速查找)】 阅读全文
posted @ 2013-04-26 20:22 Suzuki.kakeru 阅读(1650) 评论(5) 推荐(5) 编辑
摘要: 之前看了很多关于图的遍历的代码今天我用了常用的数据结构写出来 纯属于算法 性能方面还有待提高 时间复杂度最坏情况下O(2^n) 最优:O(n^2)线路图为双向 带有权值 比如A-B路程是5000km 那么B-A有可能不是5000km 所以我在LoadData方法时候没做交换变量直接存放在集合里面以起点递归查找下一连接点并返回当作起点节点查找 代码虽然有些乱 本想调整 ! static List<string[]> maindata = null; static int isend = 1; static List<string> fresult = new List&l 阅读全文
posted @ 2013-04-25 10:40 Suzuki.kakeru 阅读(1519) 评论(5) 推荐(4) 编辑