dijistar
dijkstra算法简介算法特点迪科斯彻算法使用了广度优先搜索解决赋权有向图或者无向图的单源最短路径问题,算法最终得到一个最短路径树。该算法常用于路由算法或者作为其他图算法的一个子模块。
算法思路(单源点)Dijkstra算法采用的是一种贪心的策略,声明一个数组d来保存源点到各个顶点的最短距离和一个保存已经找到了最短路径的顶点的集合:d,初始时,原点 s 的路径权重被赋为 inf(比较大的一个数);初始化,遍历源点能到的点u,更新d[u](如果能到肯定<inf);初始化后,再次遍历能到达的点u,通过u中间点遍历其余点v,若d[u]+g[u][v]<d[v],则更新d[v],遍历结束,数组d即为最终源点到达其余点的最短距离。
dijkstra算法例题pat 1003 Emergency (25 分)As an emergency rescue team leader of a city, you are given a special map of your country. The map shows several scattered cities connected b ...
三分
题目
分析根据题目,在一个二维坐标中,我们要输入N个点坐标,而在x轴(-10000,10000)这个区间存在无数个点,我们假设它为x1,x2,x3…这些点中,每个点到我们输入的N个点的距离存在一个最大值,我们要在这些最大值中找到最小的那一个然后输出。那么,思路是什么呢?既然存在这样一个点,那么我们就要找到它所在的那个区间。但是,这里要注意了,是最小值,有最值,而且是最小值,那么就可以用三分法,那为什么不用二分法呢?因为二分法是对与单调区间的,(这在高中大家接触二分法的时候举得例子就是单调函数吧,我记得好像是单调且端点异号。)而三分法是针对有峰值的函数的。显然,在本题中,用三分法是更加方便快捷的。其实,二分法也可以用,就是对分下来的每一个区间进行再次二分。我觉得要用到递归好像。二分法比较复杂一点。后面我掌握后一定会及时向大家分享的。下面,我们就来介绍一下三分法的解题步骤:1.首先,我们要将先分为两半,然后在对其中的一变进行再分两半,总体就是2:1:1的形式。这里,我们用mid表示一半,用midmid表示一半的一半。
12345678double check(double x){ ...





