B |
试题分析: 不成立,执行第一次循环, , ; 不成立,执行第二次循环, , ; 不成立,执行第三次循环, , ; 依此类推,执行最后一次循环, , ; 不成立,跳出循环体,输出 , 下面来计算 , 构造数列 ,其中 ,则数列 的周期为 , 而 为数列 的前 项和,易求得 ,由于 , 因此 ,故选B |
模块分类:AD转换模块、按键处理模块、显示模块。
AD转换模块:这部分电路要自己设计,总之就是将电压输入AD转换芯片输出数字信号。输出端接单片机IO(如果)口。将得到的电压值加入算法得到所需要的电阻值或电容值。
按键处理模块:书上基本都有。
显示模块:这部分就是LED动态显示的问题了,随便一本单片机书里面都有例题。
据 Drew 所知最短路经算法现在重要的应用有计算机网络路由算法,机器人探路,交通路线导航,人工智能,游戏设计等等。美国火星探测器核心的寻路算法就是采用的D(D Star)算法。
最短路经计算分静态最短路计算和动态最短路计算。
静态路径最短路径算法是外界环境不变,计算最短路径。主要有Dijkstra算法,A(A Star)算法。
动态路径最短路是外界环境不断发生变化,即不能计算预测的情况下计算最短路。如在游戏中敌人或障碍物不断移动的情况下。典型的有D算法。
这是Drew程序实现的10000个节点的随机路网三条互不相交最短路
真实路网计算K条路径示例:节点5696到节点3006,三条最快速路,可以看出路径基本上走环线或主干路。黑线为第一条,兰线为第二条,红线为第三条。约束条件系数为12。共享部分路段。 显示计算部分完全由Drew自己开发的程序完成。
参见 K条路算法测试程序
Dijkstra算法求最短路径:
Dijkstra算法是典型最短路算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。
Dijkstra算法是很有代表性的最短路算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。
Dijkstra一般的表述通常有两种方式,一种用永久和临时标号方式,一种是用OPEN, CLOSE表方式,Drew为了和下面要介绍的 A 算法和 D 算法表述一致,这里均采用OPEN,CLOSE表的方式。
大概过程:
创建两个表,OPEN, CLOSE。
OPEN表保存所有已生成而未考察的节点,CLOSED表中记录已访问过的节点。
1. 访问路网中里起始点最近且没有被检查过的点,把这个点放入OPEN组中等待检查。
2. 从OPEN表中找出距起始点最近的点,找出这个点的所有子节点,把这个点放到CLOSE表中。
3. 遍历考察这个点的子节点。求出这些子节点距起始点的距离值,放子节点到OPEN表中。
4. 重复2,3,步。直到OPEN表为空,或找到目标点。
这是在drew 程序中4000个节点的随机路网上Dijkstra算法搜索最短路的演示,黑色圆圈表示经过遍历计算过的点由图中可以看到Dijkstra算法从起始点开始向周围层层计算扩展,在计算大量节点后,到达目标点。所以速度慢效率低。
提高Dijkstra搜索速度的方法很多,据Drew所知,常用的有数据结构采用Binary heap的方法,和用Dijkstra从起始点和终点同时搜索的方法。
推荐网页:>
以上就是关于一个算法的程序框图如图所示,其输出结果是( ) A. B. C. D全部的内容,包括:一个算法的程序框图如图所示,其输出结果是( ) A. B. C. D、跪求一个A/D转换的C语言程序,有程序说明。、从原点出发,遍历50个点,再回到原点的最短路径,求matlab程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)