文档库 最新最全的文档下载
当前位置:文档库 › 公交换乘算法 编程语言 编程语言 清风亭

公交换乘算法 编程语言 编程语言 清风亭

公交换乘算法 编程语言 编程语言 清风亭
公交换乘算法 编程语言 编程语言 清风亭

公交换乘算法编程语言编程语言清风亭注册设为首页帮助首页|博客群|公社|专栏|论坛|图片|商城|交友|博客联播|投稿|随机访问|订阅用户名注

密码忘记密码

保存密码

用户名注册

密码忘记密码

保存密码

清风亭复制我的GIS生活首页个人资料日志图片视频(测)好友博客群百科我的日志公交换乘算法分类:编程语言

2007.5.23 16:56 作者:清风 | 评论:4 | 阅读:统计失败

公交换乘简单算法:

三个表(最简单化,不考虑模糊查询,单行线等其他东西):

1,站点表stop(stop_id,stop_name)

2,路线表line(line_id,line_name)

3,路线站点表(点线路关系表)linestops( line_id, stop_id, seq )此处的seq指某站点在某线路中的顺序。

现在分析算法:

1,直达线路

首先根据两个站点名获取两个站点各自的id,这里定义为id1,id2

然后查询

select line_id from

(select line_id from linestops where stop_id = id1) A,

(select line_id from linestops where stop_id = id2) B

where A.line_id = B.line_id

即得到可直达的线路列表

2,一次换乘

首先根据两个站点名获取两个站点各自的id,这里定义为id1,id2

然后搜寻两个站点通过直达方式各自能够到达的站点集合,最后他们的交集就是我们所需要的换乘站点。

select stop_id from

(

select distinct stop_id from linestops where line_id in

(select line_id from linestops where stop_id = id1)

)A,

(

select distinct stop_id from linestops where line_id in

(select line_id from linestops where stop_id = id1)

)B

where A.stop_id= B.stop_id

得到换乘站(可能有多个或0个)后,剩下的就是显示能够到达换乘站的两边线路,这通过前面的直达查询即可。

3,二次换乘

首先根据两个站点名获取两个站点各自的id,这里定义为id1,id2

算法的中心思想是:站点1能够通过直达到达的所有站点集合A,站点2能够通过直达到达的所有站点集合B,A和B之间有直达的线路。

一步一步来:

站点1能够通过直达到达的所有站点集合A:

select distinct stop_id from linestops where line_id in

(select line_id from linestops where stop_id = id1)

站点2能够通过直达到达的所有站点集合B:

select distinct stop_id from linestops where line_id in

(select line_id from linestops where stop_id = id2)

而直达的查询是

select line_id from

(select line_id from linestops where stop_id = id1) C,

(select line_id from linestops where stop_id = id2) D

where C.line_id = D.line_id

我们把=id1和=id2换成 in (select ....)A 和 in (select ...)B

这样最后我们的查询是

select line_id from

(select distinct line_id from linestops where stop_id in 【A】) C,

(select distinct line_id from linestops where stop_id in 【B】) D

where C.line_id = D.line_id

其中【A】是

(select distinct stop_id from linestops where line_id in

(select line_id from linestops where stop_id = id1))

其中【B】是

(select distinct stop_id from linestops where line_id in

(select line_id from linestops where stop_id = id2))

这样子我们找到了作为中间换乘的线路(可能有多条或者0条),对列举的的每一条假设命名为X线,下一步就是找出可以从站点1到达X任意一个站点的直达线路、和可以从站点2到达X任意一个站点的直达线路即可。

那么与前面的算法相似,我们在站点1所有能够到达的站点中去寻找和线路X相交的站点,然后再去找这两个点的线路

select stop_id from

(select distinct stop_id from linestops where line_id in

(select line_id from linestops where stop_id = id1))A,

(select stop_id from linestops where line_id = X ) B

where A.stop_id = B.stop_id

找到站点了,下面就是根据已经解决的直达查询找线路了。

站点2类似。

以上的算法有一个优点,全部是sql完成搜寻,所以asp代码只需寥寥几行循环而已。

但是缺点是:慢,毕竟可能涉及了数百次sql查询。而且只是用最简单的sql方法去算出所有可以换乘的方案,不涉及最优/最短的算法。如果是最短路径,那得用特殊结构和算法。

另外:

根据出行者输入的起点和终点,确定出行要选择的起始公交站点A和目的公交站点B。搜索数据库,查询站点A和站点B之间是否有相同的车经过,如果有一条或几条直达线路,通过比较选择距离最短的公交线路推荐给出行者。如果没有,则计算站点A和站点B之间有没有一个公共站点C,从站点C可以换乘到达站点B。这就有两种情况:(1)如果有,属于一次换乘。计算站点A和公共站点C之间有没有相同的公交车经过并存入集合X;同样,计算站点B 和公共站点C之间有没有相同的公交车经过并存入集合Y。将这两个集合比较后就可以得到从站点A经过公共站点C到达站点B的公交线路,在这些线路中进行比较,选择距离最短的推荐给出行者。(2)如果没有公共站点C,就出现了要换乘两次的情况。将经过站点A的每条公交线路的所有站点存入集合O;同样,经过站点B的每条线路的所有站点存入集合P。比较这两个集合,先乘经过站点A的某一路车到达某一站点D,计算站点D与站点B之间有没有公共站点E,如果有则站点D、E为换乘站点。这种方案可能有多种,比较选择距离最短的推荐给出行者。如果不存在公共站点E,说明经过两次换乘无法从站点A到达站点B,停止搜索计算。

公交出行最优路线具体算法:

1)输入起始站点A和目的站点B;

2)

搜索系统数据库,经过起始站点A的公交线路存为X(i)(i=1,2,3…,m,m为正整数),经过目的站点B的公交线路存为Y(j)(j=1,2,3,…n,.n为正整数);

3)

判断是否有X(i)=Y(j),将满足条件的存入Z。若Z=1,则该条公交线路X(i)即Y(j)为从站点A到站点B的直达最优线路,输出结果并结束运算。Z≥1,计算Z中各条线路的距离,选择一条距离最短的线路,输出结果并结束运算;

4)

搜索系统数据库,公交线路X(i)所包含的站点存为O(i,u)(u=1,2,3…,g,g为正整数)公交线路Y(j)所包含的站点存为P(j,v)(v=1,2,3…,h,h为正整数);

5)判断是否有O(i,u)=

P(j,v),将满足条件的存入W。若W=1,则站点O(i,u)即P(j,v)为从站点A到站点B的一次换乘站点,公交线路X(i),Y(j)为换乘一次的最优路线,输出结果并结束运算。若W≥1,分别计算每条换乘路线的距离,选择一条距离最短的线路,输出结果并结束运算;

6)

搜索系统数据库,经过站点O(i,u)的公交线路存为R(k)(k=1,2,3…,p,p为正整数),公交线路R(k)所包含的站点存为G(k,t)(t=1,2,3…,q,q为正整数);

7)判断是否有G(k,t)=P(j,v),将满足条件的存入S。若S=1,则站点G(k,t)即P(j,v)为从站点A到站点B的二次换乘站点,公交线路X

(i),R(k),Y(j)为换乘二次的最优路线,输出结果并结束运算。若S≥1,分别计算每条换乘二次的路线距离,选择一条距离最短的线路,输出结果并结束运算;

8)以上步骤没有找到合适的公交线路,输出“没有找到换乘次数不超过两次的最优公交线路”,结束运算。

本文讨论的公交出行最优路线算法,主要是以距离为标准。在得出了换乘方案之后,可以进一步考虑时间因素,从而找到更具优胜性的换乘方案,这有待进行进一步的探讨、研究。

你可以通过这个链接引用该篇文章:https://www.wendangku.net/doc/db5609735.html,/viewdiary.15969393.html 引用到我的博客:0 | 收藏到我的博客

基于 ArcGis... 上一篇 | 下一篇 Windows下J...

我的广告

我的搜索 Web bokee

输入您的搜索字词提交搜索表单

文章评论添加评论

已有4位对此文章感兴趣的网友发表了看法【点击查看】

昵称:主页: (选填)

看了你写的文章,很不错!

验证码:

个人形象

加为好友发送私信

给我留言加入收藏

我的群组荐给好友

英语测试

定制广告男人自慰的六点迷思

自慰向来是许多人的心灵秘密花园,如此刻意忽略自己为自己制造的快乐,并隔着一层面纱看待自慰,迷思于是产生...

定制广告

相关博客文章数据读取中....

相关服务关于博客关于博客网用户帮助产品展示频道推荐热点与排行什么是博客?本站介绍用户注册博客搜索美女博客今日焦点文章博客研究历史服务条款投稿明星博客热门图片

web2.0论坛博客搜索客服电话博客群情侣热点博客排行方兴东观察联系我们产品公告博客联播宝宝秀精彩专题

互联网实验室投稿博客教程邮箱娱乐火爆视频

博客公社招聘技巧论坛博客金行博客奥运分类群组

主编热线不良信息反馈BT下载名家专栏

广告服务图片博客许愿墙

导航播客投稿器

Copyright 2002-2008 https://www.wendangku.net/doc/db5609735.html,

All Rights Reserved

高中信息技术《算法与程序设计》试题

高中信息技术《算法与程序设计》试题 一、单选题(每小题3分,20小题,共60分) 1、用计算机解决问题时,首先应该确定程序“做什么?”,然后再确定程序“如何做?”请问“如何做?”是属于用计算机解决问题的哪一个步骤?() A、分析问题 B、设计算法 C、编写程序 D、调试程序 2、在调试程序过程中,下列哪一种错误是计算机检查不出来的?() A、编译错误 B、执行错误 C、逻辑错误 D、任何错误计算机都能检查出来 3、下列关于算法的叙述中,错误的是() A、一个算法至少有一个输入和一个输出 B、算法的每一个步骤必须确切地定义 C、一个算法在执行有穷步之后必须结束 D、算法中有待执行的运算和操作必须是相当基本的。 4、流程图中表示判断的是()。 A、矩形框B、菱形框C、圆形框D、椭圆形框 5、任何复杂的算法都可以用三种基本结构组成,下列不属于基本结构的是() A、顺序结构 B、选择结构 C、层次结构 D、循环结构 6、能够被计算机直接识别的语言是() A、伪代码 B、高级语言 C、机器语言 D、汇编语言 7、在VB语言中,下列数据中合法的长整型常量是() A、08A B、2380836E C、88.12345 D、1.2345E6 8、求Mid(“ABCDEFG”,3,2)的结果是() A、“ABC” B、“CD” C、“ABCDEF” D、“BCD” 9、表达式 A+B+C=3 OR NOT C<0 OR D>0 当A=3,B=4,C=-5,D=6时的运算结果是() A、0 B、1 C、TRUE D、FALSE 10、在循环语句 For x=1 to 100 step 2 …… Next x 中,x能达到的最大值是() A、100 B、99 C、98 D、97 11、在下列选项中,不属于VB的对象的是() A、窗体的背景颜色 B、命令按钮 C、文本框 D、标签 12、在调试程序的时候,经常要设置断点,设置断点的快捷键是()

算法设计与分析考试题及答案

算法设计与分析考试题 及答案 Company number:【WTUT-WT88Y-W8BBGB-BWYTT-19998】

一、填空题(20分) 1.一个算法就是一个有穷规则的集合,其中之规则规定了解决某一特殊类型问题的一系列运算,此外,算法还应具有以下五个重要特性:确定性 有穷性 可行性 0个或多个输入 一个或多个输出 2.算法的复杂性有时间复杂性 空间复杂性之分,衡量一个算法好坏的标准是 时间复杂度高低 3.某一问题可用动态规划算法求解的显着特征是 该问题具有最优子结构性质 4.若序列X={B,C,A,D,B,C,D},Y={A,C,B,A,B,D,C,D},请给出序列X 和Y 的一个最长公共子序列{BABCD}或{CABCD}或{CADCD } 5.用回溯法解问题时,应明确定义问题的解空间,问题的解空间至少应包含一个(最优)解 6.动态规划算法的基本思想是将待求解问题分解成若干_子问题 ,先求解_子问题 ,然后从这些子问题 的解得到原问题的解。 7.以深度优先方式系统搜索问题解的算法称为回溯法 背包问题的回溯算法所需的计算时间为o(n*2n ) ,用动态规划算法所需的计算时间为o(min{nc,2n }) 9.动态规划算法的两个基本要素是最优子结构 _和重叠子问题 10.二分搜索算法是利用动态规划法实现的算法。 二、综合题(50分) 1.写出设计动态规划算法的主要步骤。 ①问题具有最优子结构性质;②构造最优值的递归关系表达式; ③最优值的算法描述;④构造最优解; 2. 流水作业调度问题的johnson 算法的思想。 ①令N 1={i|a i =b i };②将N 1中作业按a i 的非减序排序得到N 1’,将N 2中作业按b i 的非增序排序得到N 2’;③N 1’中作业接N 2’中作业就构成了满足Johnson 法则的最优调度。 3. 若n=4,在机器M1和M2上加工作业i 所需的时间分别为a i 和b i ,且 (a 1,a 2,a 3,a 4)=(4,5,12,10),(b 1,b 2,b 3,b 4)=(8,2,15,9)求4个作业的最优调度方案,并计算最优值。 步骤为:N1={1,3},N2={2,4}; N 1’={1,3}, N 2’={4,2}; 最优值为:38 4. 使用回溯法解0/1背包问题:n=3,C=9,V={6,10,3},W={3,4,4},其解空间有长度为3的0-1向量组成,要求用一棵完全二叉树表示其解空间(从根出发,左1右0),并画出其解空间树,计算其最优值及最优解。 解空间为{(0,0,0),(0,1,0),(0,0,1),(1,0,0),(0,1,1),(1,0,1), (1,1,0),(1,1,1)}。 解空间树为: 该问题的最优值为:16 最优解为:(1,1,0) 5. 设S={X 1,X 2,···,X n }是严格递增的有序集,利用二叉树的结点来存储S 中的元素,在表示S 的二叉搜索树中搜索一个元素X ,返回的结果有两种情形,(1)在二叉搜索树的内结点中找到X=X i ,其概率为b i 。(2)在二叉搜索树的叶结点中确定X ∈(X i ,X i+1),其概率为a i 。在表示S 的二叉搜索树T 中,设存储元素X i 的结点深度为C i ;叶结点(X i ,X i+1)的结点深度为d i ,则二叉搜索树T 的平均路长p 为多少假设二叉搜索树T[i][j]={X i ,X i+1,···,X j }最优值为m[i][j],W[i][j]= a i-1+b i +···+b j +a j ,则m[i][j](1<=i<=j<=n)递归关系表达式为什么 .二叉树T 的平均路长P=∑=+n i 1 Ci)(1*bi +∑=n j 0 dj *aj

城市交通枢纽交通换乘分析与客流组织评价研究.doc

城市交通枢纽交通换乘分析与客流组织评 价研究- 摘要:交通换乘功能是城市交通枢纽的核心功能之一,交通枢纽的交通换乘能力及枢纽内部客流交通组织状况是评价枢纽综合性能的重要指标。本文结合东直门交通枢纽工程实践就交通枢纽的交通换乘及客流交通组织评价问题进行探讨。引进交通分布原理,将每种交通方式近似看作为一个交通源,其服务范围看成为交通影响区,对枢纽内交通方式间的换乘量进行分析与预测。在充分考虑行人的舒适性、安全性和可靠性等定性评价的基础上,以乘客步行距离作为评价枢纽客流交通组织的主要量化指标。测算行人最大步行距离、平均步行距离、绕行系数评价枢纽布置的方便性,进而评价枢纽内部布局设计的合理性。 关键词:交通枢纽换乘出行分布交通组织评价 一、交通换乘分析 1.概述 城市交通枢纽是车流与人流的集散地。多种交通方式在枢纽中汇聚,人流与车流形成交通枢纽内的两大矛盾。一般,大城市交通枢纽中至少集中了地铁、公共交通、行人、自行车与社会及出租车辆等多种交通方式。因此,交通枢纽可以看成是一

座大规模的交通流换乘中心,是各种交通工具间交通流量交换的主要场所,提供各交通流量间的高效、快速、安全交换。交通换乘功能是城市交通枢纽的核心功能之一。交通枢纽的交通换乘能力及相应的服务水平是评价其综合性能的重要指标。分析与预测城市交通枢纽中各种交通方式间的乘客交换量可以为确定交通枢纽建设的合理规模,各种交通工具在枢纽中的布局分布等提供依据。 2.影响换乘量的因素 交通换乘量受出行时间、费用、舒适性及安全性等多种因素的影响。根据出行目的的不同,人们会选择不同的交通工具。自行车和步行一般适宜于近距离出行,费用低但舒适性与安全性差。地铁的优势是快速准点,但其服务面积较窄,只对其沿线产生作用,而公共交通的覆盖面则较广。出行时间短且费用低的交通方式的交通需求必然较大,相应的其换乘量较大。但对换乘量起决定性作用的因素是各种交通工具服务范围内的出行需求的多少。 3.交通换乘量分析的基本思路 (1)换乘分析原理 交通枢纽中各种交通方式的出行总量可以用传统的预测手段根据现状交通、土地利用和经济情况及发展趋势分析得到,但是各交通方式之间未来的交换量的确定是十分复杂的。交

算法练习题-分章节-带答案

算法练习题-分章节-带答案

算法练习题---算法概述 一、选择题 1、下面关于算法的描述,正确的是() A、一个算法只能有一个输入 B、算法只能用框图来表示 C、一个算法的执行步骤可以是无限的 D、一个完整的算法,不管用什么方法来表示,都至少有一个输出结果 2、一位爱好程序设计的同学,想通过程序设计解决“韩信点兵”的问题,他制定的如下工作过程中,更恰当的是() A、设计算法,编写程序,提出问题,运行程序,得到答案 B、分析问题,编写程序,设计算法,运行程序,得到答案 C、分析问题,设计算法,编写程序,运行程序,得到答案 D、设计算法,提出问题,编写程序,运行程序,得到答案 3、下面说法正确的是() A、算法+数据结构=程序 B、算法就是程序 C、数据结构就是程序 D、算法包括数据结构 4、衡量一个算法好坏的标准是()。 A、运行速度快 B、占用空间少 C、时间复杂度低 D、代码短 5、解决一个问题通常有多种方法。若说一个算法“有效”是指( )。 A、这个算法能在一定的时间和空间资源限制内将问题解决 B、这个算法能在人的反应时间内将问题解决 C、这个算法比其他已知算法都更快地将问题解决 D、A和C 6、算法分析中,记号O表示(),记号Ω表示()。 A.渐进下界 B.渐进上界 C.非紧上界 D.非紧下界 7、以下关于渐进记号的性质是正确的有:() A.f(n)(g(n)),g(n)(h(n))f(n)(h(n)) =Θ=Θ?=Θ B.f(n)O(g(n)),g(n)O(h(n))h(n)O(f(n)) ==?= C. O(f(n))+O(g(n)) = O(min{f(n),g(n)}) D.f(n)O(g(n))g(n)O(f(n)) =?=

《算法与程序设计》试题带答案

《算法与程序设计》试题 学校:_____________ 班级:____________ 学号:____________ 姓名:____________ 一、单选题(每小题3分,20小题,共60分) 1、用计算机解决问题时,首先应该确定程序“做什么?”,然后再确定程序“如何做?”请问“如何做?”是属于用计算机解决问题的哪一个步骤?() A、分析问题 B、设计算法 C、编写程序 D、调试程序 2、在调试程序过程中,下列哪一种错误是计算机检查不出来的?() A、编译错误 B、执行错误 C、逻辑错误 D、任何错误计算机都能检查出来 3、下列关于算法的叙述中,错误的是() A、一个算法至少有一个输入和一个输出 B、算法的每一个步骤必须确切地定义 C、一个算法在执行有穷步之后必须结束 D、算法中有待执行的运算和操作必须是相当基本的。 4、流程图中表示判断的是()。 A、矩形框B、菱形框C、圆形框D、椭圆形框 5、任何复杂的算法都可以用三种基本结构组成,下列不属于基本结构的是() A、顺序结构 B、选择结构 C、层次结构 D、循环结构 6、能够被计算机直接识别的语言是() A、伪代码 B、高级语言 C、机器语言 D、汇编语言 7、在VB语言中,下列数据中合法的长整型常量是() A、08A B、2380836E C、88.12345 D、1.2345E6 8、求Mid(“ABCDEFG”,3,2)的结果是() A、“ABC” B、“CD” C、“ABCDEF” D、“BCD” 9、表达式 A+B+C=3 OR NOT C<0 OR D>0 当A=3,B=4,C=-5,D=6时的运算结果是() A、0 B、1 C、TRUE D、FALSE

多机器人路径规划研究方法

多机器人路径规划研究方法 张亚鸣雷小宇杨胜跃樊晓平瞿志华贾占朝 摘要:在查阅大量文献的基础上对多机器人路径规划的主要研究内容和研究现状进行了分析和总结,讨论了多机器人路径规划方法的评判标准,并阐述了研究遇到的瓶颈问题,展望了多机器人路径规划方法的发展趋势。 关键词:多机器人;路径规划;强化学习;评判准则 Abstract:This paper analyzed and concluded the main method and current research of the path planning research for multi robot.Then discussed the criterion of path planning research for multi robot based large of literature.Meanwhile,it expounded the bottleneck of the path planning research for multi robot,forecasted the future development of multi robot path planning. Key words:multi robot;path planning;reinforcement learning;evaluating criteria 近年来,分布式人工智能(DAI)成为人工智能研究的一个重要分支。DAI研究大致可以分为DPS(distributed problem solving)和MAS(multi agent system)两个方面。一些从事机器人学的研究人员受多智能体系统研究的启发,将智能体概念应用于多机器人系统的研究中,将单个机器人视做一个能独立执行特定任务的智能体,并把这种多机器人系统称为多智能体机器人系统(MARS)。因此,本文中多机器人系统等同于多智能体机器人系统。目前,多机器人系统已经成为学术界研究的热点,而路径规划研究又是其核心部分。 机器人路径规划问题可以建模为一个带约束的优化问题,其包括地理环境信息建模、路径规划、定位和避障等任务,它是移动机器人导航与控制的基础。单个移动机器人路径规划研究一直是机器人研究的重点,且已经有许多成果[1~3],例如在静态环境中常见的有连接图法、可视图法、切线图法、Voronoi图法、自由空间法、栅格法、拓扑法、链接图法、Dempster Shafer 证据理论建图等;动态环境中常见的有粒子群算法、免疫算法、遗传算法、神经网络、蚁群算法、模拟退火算法、人工势场法等。然而,多机器人路径规划

算法设计与分析考试题(自测)

1.一个算法就是一个有穷规则的集合,其中之规则规定了解决某一特殊类型问题的一系列运算,此外,算法还应具有以下五个重要特性:_有穷性__,_确定性_,_可行性_,_ (0个或多个)输入__,_ (1个或多个)_输出_。 2.算法的复杂性有__时间复杂性__和__空间复杂性__之分,衡量一个 算法好坏的标准是__时间复杂度高低___。 3.某一问题可用动态规划算法求解的显著特征是___该问题具有最优 子结构性质___。 4.若序列X={B,C,A,D,B,C,D},Y={A,C,B,A,B,D,C,D},请给出序列X和Y的一个最长公共子序列_{A,B,C,D}_。{BABCD}或{CABCD}或{CADCD} 5.用回溯法解问题时,应明确定义问题的解空间,问题的解空间至少应包含_问题的一个(最优)解_。 6.动态规划算法的基本思想是将待求解问题分解成若干_子问题_,先求解_子问题__,然后从这些_子问题_的解得到原问题的解。 7.以深度优先方式系统搜索问题解的算法称为__回溯法__。 背包问题的回溯算法所需的计算时间为__O(n2n)__,用动态规划算法所需的计算时间为_O(n)__。o(min{nc,2n}) 9.动态规划算法的两个基本要素是_最优子结构_和_重叠子问题___。 10.二分搜索算法是利用__动态规划法__实现的算法。 二、综合题(50分)

1.写出设计动态规划算法的主要步骤。 1、解:(1)找出最优解的性质,并刻画其结构特征; (2)递归地定义最优值; (3)以自底向上的方式计算出最优值; (4)根据计算最优值时得到的信息,构造最优解。 ①问题具有最优子结构性质;②构造最优值的递归关系表达式; ③最优值的算法描述;④构造最优解 2.流水作业调度问题的johnson算法的思想。 2、解:①令N1={i|a i=b i};②将N1中作业按a i的非减序排序得到N1’,将N2中作业按b i的非增序排序得到N2’; ③N1’中作业接N2’中作业就构成了满足Johnson法则的最优调度。 3.若n=4,在机器M1和M2上加工作业i所需的时间分别为a i和b i,且(a1,a2,a3,a4)=(4,5,12,10),(b1,b2,b3,b4)=(8,2,15,9)求4个作业的最优调度方案,并计算最优值。 3、解:步骤为:N1={1,3},N2={2,4}; N1’={1,3},N2’={4,2}; 最优值为:38 4.使用回溯法解0/1背包问题:n=3(3种物品),C=9(背包的容量

分治算法例题

目录 1031 输油管道问题 (2) 解题思路 (2) 程序代码 (2) 1032 邮局选址 (5) 解题思路 (5) 程序源代码 (5) 1034 集合划分2 (7) 解题思路: (7) 程序源代码: (7) 1033 集合划分 (9) 解题思路 (9) 程序源代码 (9)

1031 输油管道问题 解题思路 本题目可以分为两个步骤: 1、找出主管道的位置; 2、根据主管道的位置,计算各个油井到主管道的长度之和。 根据题意,设主管道贯穿东西,与y 轴平行。而各个子油井则分布在主输油管道的上下两侧。如下图: 由上图,其实只需要确定主管道的y 坐标,而与各个子油井的x 坐标无关!根据猜测,易知:主管道的y 坐标就是所有子油井y 坐标的中位数。(可以用平面几何知识证明,略) 求中位数的方法可以用排序后取a[(left+right)/2],当然更推荐用书上的线性时间选择算法解决。记求得的主管道为m y ,最后要输出的结果只需要计算:1||n i m i y y =-∑,输出即可。 另外要提醒的是本题多Case 。 程序代码 #include #include void swap (int &a ,int &b ) { int tmp = a ; a = b ; b = tmp ; }

//本函数求arr[p:q]的一个划分i,使arr[p:i-1]都小于arr[i],arr[i+1,q]都大于arr[i] int partition(int *arr,int p,int q) { int index = p-1,start = p,base = arr[q]; for(;start

算法与程序设计试题带答案

高一第二学期《算法与程序设计》学分认定试题 学校:_____________ 班级:____________ 学号:____________ 姓名:____________ 一、单选题(每小题3分,20小题,共60分) 1、用计算机解决问题时,首先应该确定程序“做什么”,然后再确定程序“如何做”请问“如何做”是属于用计算机解决问题的哪一个步骤() A、分析问题 B、设计算法 C、编写程序 D、调试程序 2、在调试程序过程中,下列哪一种错误是计算机检查不出来的() A、编译错误 B、执行错误 C、逻辑错误 D、任何错误计算机都能检查出来 3、下列关于算法的叙述中,错误的是() A、一个算法至少有一个输入和一个输出 B、算法的每一个步骤必须确切地定义 C、一个算法在执行有穷步之后必须结束 D、算法中有待执行的运算和操作必须是相当基本的。 4、流程图中表示判断的是()。 A、矩形框B、菱形框C、圆形框D、椭圆形框 5、任何复杂的算法都可以用三种基本结构组成,下列不属于基本结构的是() A、顺序结构 B、选择结构 C、层次结构 D、循环结构 6、能够被计算机直接识别的语言是() A、伪代码 B、高级语言 C、机器语言 D、汇编语言 7、在VB语言中,下列数据中合法的长整型常量是() A、08A B、2380836E C、 D、 8、求Mid(“ABCDEFG”,3,2)的结果是() A、“ABC” B、“CD” C、“ABCDEF” D、“BCD” 9、表达式A+B+C=3 OR NOT C<0 OR D>0 当A=3,B=4,C=-5,D=6时的运算结果是() A、0 B、1 C、TRUE D、FALSE 10、在循环语句For x=1 to 100 step 2 …… Next x 中,x能达到的最大值是() A、100 B、99 C、98 D、97 11、在下列选项中,不属于VB的对象的是() A、窗体的背景颜色 B、命令按钮 C、文本框 D、标签 12、在调试程序的时候,经常要设置断点,设置断点的快捷键是()A、F1 B、F8 C、F9 D、F12 13、算法描述可以有多种表达方法,下面哪些方法不可以描述“闰年问题”的算法() A、自然语言 B、流程图 C、伪代码 D、机器语言 14、以下不属于非法用户自定义标识符(常量和变量命名)的是() A、8ad B、ad8 C、_a8d D、const 15、已知A,B,C,D是整型变量,且都已有互不相同的值,执行语句B=0;A=C;D=A;D=B;后,其值相等的变量是() A、A,D B、A,C C、C,B D、B,A 16、要交换变量A和B的值,应使用的语句组是( ) A、A=B;B=C;C=A B、C=A;A=B;B=C C、A=B;B=A D、C=A;B=A;B=C 17、VisualBasic中以单引号开头一行文字称为注释,它对程序的运行() A、起一定作用 B、有时候起作用 C、不起任何作用,但是必须的 D、不起任何作用,但能增加程序的可阅读性 18、要使一个命令按钮显示文字“确定”,正确的设置是把该命令按钮的()。 A、属性Font设置为“确定” B、属性.ForeColor设置为“确定” C、属性Caption设置为“确定” D、属性BorderStyle设置为“确定” 19、要从文本框TXTShowOut中输出"中国您好!",代码为( ) A ="中国您好!" B ="中国您好!" C ="中国您好!" D Val=“中国您好!” 20、下列Visual Basic程序段运行后,变量max的值为()。 a=11; b=15; max=a IF b>max Then max =b A、15 B、11 C、15或11都有可能 D、以上都不是 二、阅读程序写结果(第1~2小题每题5分,第3小题10分,共20分) 1、Private Sub Form_Load() N=InputBox(“请输入N的值:”,“输入”) S=1 For i=1 to N S=S*i Next i MsgBox “S=”+Str(s),0,”计算结果” End Sub 当N=5时,运行的结果是__________________。

2014山东省信息技术学考算法与程序设计试题答案附后讲解

2014山东省信息技术学考算法与程序设计试题答案附后讲解

山东省学考算法与程序设计试题 选择题 1、下列VB表达式中: ⑴Sqr(x) ⑵Text1.text ⑶Command1.caption ⑷"45"+"34" ⑸45+34值为字符串类型的是() A⑴⑵⑶ B⑵⑶⑷ C ⑴⑶⑸ D⑵⑷⑸ 2、如果给出三条线段的长分别为a、b、c,且已知a≤b≤c,要问这三条线段能否构成三角形,仅需下列选项中的哪个判定条件即可?() A 其他选项都不对 B a+c>b C a+b>c D b+c>a 3、VB程序中“Dim n As Integer”这条语句的作用是() A 定义一个事件过程 B 定义一个数据输入方法 C 定义一个变量 D 定义一个数据处理方法 4、关于算法的描述,下列选项中正确的是() A 算法的每一步骤必须有确切的含义 B 算法必须有输入 C 算法的步骤可以是无穷的 D 算法本身就是一种程序设计语言 5、关于算法的描述,正确的是() A同一种算法只能用一种程序语言实现 B算法就是数值计算的方法 C描述算法的方法只有流程图 D算法是描述解决问题的方法和步骤 6、算法的描述方法有多种,下列选项中不适合描述算法的是() A机器语言 B自然语言 C流程图 D伪代码 7、长度分别为a、b、c的三条线段,能够组成三角形的条件是() A a+b>c Or a+c>b Or b+c>a B a+b>c or a+c>b And b+c>a C a+b>c Or a+c>b And b+c>a D a+b>c And a+c>b And b+c>a 8、已知海伦公式:()()() p p a p b p c ---p=1 2 (a+b+c),a、b、c分别为三角形的三条 边长。利用海伦公式求三角形面积的算法属于() A 排序法 B 解析法 C 穷举法 D 查找法 9、以下程序段中循环体执行的次数是() s=0 i=0 Do While s<10 i=i+1 s=s+i*i Loop A 1 B 3 C 2 D 4 10、下列VB表达式中,能正确表达不等式方程|x|>1的解的是() A x>-1 and x<1 B x>-1 or x<1 C x<-1 and x>1 D x<-1 or x>1 11、一元二次方程ax2+bx+c=0(a≠0)的两个实数根分别为: x 1 24 b b ac -+- 2 24 b b ac ---下列表达式正确的是() A x 2=-b-sqr(b^2-4*a*c)/(2*a) B x 1 =(-b+sqr(b^2-4ac))/(2*a)

可制定的路线规划

可定制的路线规划 第一部分:对《Customizable Route Planningshortestpath》进行总结分析: 过去的十年里,在道路网络上找到最短路径的方法已经有很多了。实际算法主要包括:预处理需要几分钟,然后产生线性的数据用于实时查询。然而现实世界对交通路线的规划提出了更高的要求,需要支持其他的自然量度,例如最短距离,步行,骑行等。 可定制的路线规划能够在支持这种个性化的出行方式,类似于我们日常生活中的百度地图,高德地图一样,我们可以实时选择最为合适的出行方式。这种系统能够支持流量的更新和动态场景的改变。为了制定这样的系统,需要一种快速查询的算法,这种算法还需有一定的稳健性。 为了实现这种目标,我们区分了道路的两个特征,运用拓扑的方法描述道路的物理特性,比如物理长度,转弯类型,速度限制等;道路的度量指标来表示实际的道路情况,在算法中运用在函数里。这里假设道路的物理特性是很少发生变化的,而实际的指标经常发生变化。 为了实现这种分离,有三个阶段,第一个阶段将独立的指标预处理相对较慢,仅作为拓扑方法的输入指标,第二个阶段,指标的定制必须很快,第三个阶段查询使用的是前两个阶段的输出,并且实时的查询要很快。在点到点的算法属性中,该论文主要阐述了三类方法:CH,SHARC,这类的层次结构度量,PCD,ALT基于目标方向的技术和基于图形分离的技术,在对比后选择了基于图形分离技术。 本文作者的思路是先建立一个基本的算法,然后再考虑几个技术的结合使它更实用。 基本算法:以分离器为基础的算法 其他技术:稀疏化:边缘收缩,并做出了一个轻量级的收缩计划 目标方向化:PCD技术,但是是在定制和查询期间使用 ALT技术,ALT预处理运行Dijkstra算法 多层次的叠加图表 流水线操作:快于基于邻接集的操作,有效取决于度量,使用了MLD伴 随原始2级CALT操作 以上的所有内容都是在考虑道路网络的简化,但是没有考虑到转弯的成本,作者进一步处理了转向问题,最后对路径解压完成了可定制化的路线规划。 第二部分:对于我们项目的启发: 我们需要建立一个合适的数学模型来实时模拟可定制的路径规划问题,对实时的数据进行清洗和处理。路径规划的数学模型在现代的科学技术中已经比较成熟了,我们只需要选取合适的模型来解决问题就行了。在下一阶段中我们将建立基本的算法和采集数据。通过查

算法分析期末试题集答案

1.应用Johnson 法则的流水作业调度采用的算法是(D ) A. 贪心算法 B. 分支限界法 C.分治法 D. 动态规划算法 2.Hanoi 塔问题如下图所示。现要求将塔座A 上的的所有圆盘移到塔座B 上,并仍按同样顺序叠置。移动圆盘时遵守Hanoi 塔问题的移动规则。由此设计出解Hanoi 塔问题的递归算确的为:(B ) 3. 动态规划算法的基本要素为(C ) A. 最优子结构性质与贪心选择性质 B .重叠子问题性质与贪心选择性质 C .最优子结构性质与重叠子问题性质 D. 预排序与递归调用 4. 算法分析中,记号O 表示(B ), 记号Ω表示(A ), 记号Θ表示(D )。 A.渐进下界 B.渐进上界 C.非紧上界 D.紧渐进界 E.非紧下界 5. 以下关于渐进记号的性质是正确的有:(A ) A.f (n)(g(n)),g(n)(h(n))f (n)(h(n))=Θ=Θ?=Θ B. f (n)O(g(n)),g(n)O(h(n))h(n)O(f (n))==?= C. O(f(n))+O(g(n)) = O(min{f(n),g(n)}) D. f (n)O(g(n))g(n)O(f (n))=?= 6. 能采用贪心算法求最优解的问题,一般具有的重要性质为:(A ) A. 最优子结构性质与贪心选择性质B .重叠子问题性质与贪心选择性质 C .最优子结构性质与重叠子问题性质D. 预排序与递归调用 7. 回溯法在问题的解空间树中,按(D )策略,从根结点出发搜索解空间树。 A . 广度优先 B. 活结点优先 C.扩展结点优先 D. 深度优先 Hanoi 塔 B. void hanoi(int n, int A, int B, int C) { if (n > 0) { hanoi(n-1, A, C, B); move(n,a,b); hanoi(n-1, C, B, A); }

分治算法例题

目录 1031 输油管道问题 (1) 解题思路 (1) 程序代码 (1) 1032 邮局选址 (4) 解题思路 (4) 程序源代码 (4) 1034 集合划分2 (6) 解题思路: (6) 程序源代码: (6) 1033 集合划分 (8) 解题思路 (8) 程序源代码 (8) 1031 输油管道问题 解题思路 本题目可以分为两个步骤: 1、找出主管道得位置; 2、根据主管道得位置,计算各个油井到主管道得长度之与。 根据题意,设主管道贯穿东西,与y 轴平行。而各个子油井则分布在主输油管道得上下两侧。如下图: 由上图,其实只需要确定主管道得y 坐标,而与各个子油井得x 坐标无关!根据猜测,易知:主管道得y 坐标就就是所有子油井y 坐标得中位数。(可以用平面几何知识证明,略) 求中位数得方法可以用排序后取a[(left+right)/2],当然更推荐用书上得线性时间选择算法解决。记求得得主管道为,最后要输出得结果只需要计算:,输出即可。 另外要提醒得就是本题多Case。 程序代码 #include

#include void s &a,int &b) { int tmp = a; a = b; b = tmp; } //本函数求arr[p:q]得一个划分i,使arr[p:i-1]都小于arr[i],arr[i+1,q]都大于arr[i] int partition(int *arr,int p,int q) { int index = p-1,start = p,base = arr[q]; for(;start

最新高中信息技术《算法与程序设计》试题精品版

2020年高中信息技术《算法与程序设计》 试题精品版

新课标高中信息技术《算法与程序设计》试题一、单选题(每小题3分,20小题,共60分) 1、用计算机解决问题时,首先应该确定程序“做什么?”,然后再确定程序“如何做?”请问“如何做?”是属于用计算机解决问题的哪一个步骤?() A、分析问题 B、设计算法 C、编写程序 D、调试程序 2、在调试程序过程中,下列哪一种错误是计算机检查不出来的?() A、编译错误 B、执行错误 C、逻辑错误 D、任何错误计算机都能检查出来 3、下列关于算法的叙述中,错误的是() A、一个算法至少有一个输入和一个输出 B、算法的每一个步骤必须确切地定义 C、一个算法在执行有穷步之后必须结束 D、算法中有待执行的运算和操作必须是相当基本的。 4、流程图中表示判断的是()。 A、矩形框B、菱形框C、圆形框D、椭圆形框 5、任何复杂的算法都可以用三种基本结构组成,下列不属于基本结构的是( ) A、顺序结构 B、选择结构 C、层次结构 D、循环结构 6、能够被计算机直接识别的语言是() A、伪代码 B、高级语言 C、机器语言 D、汇编语言 7、在VB语言中,下列数据中合法的长整型常量是() A、08A B、2380836E C、88.12345 D、1.2345E6 8、求Mid(“ABCDEFG”,3,2)的结果是() A、“ABC” B、“CD” C、“ABCDEF” D、“BCD” 9、表达式 A+B+C=3 OR NOT C<0 OR D>0 当A=3,B=4,C=-5,D=6时的运算结果是() A、0 B、1 C、TRUE D、FALSE 10、在循环语句 For x=1 to 100 step 2 ……

算法设计与分析试卷A及答案

考试课程: 班级: 姓名: 学号: ------------------------------------------------- 密 ---------------------------------- 封 ----------------------------- 线 ---------------------------------------------------------

考试课程: 班级: 姓名: 学号: ------------------------------------------------- 密 ---------------------------------- 封 ----------------------------- 线 ---------------------------------------------------------

参考答案 一、填空 1、空间复杂度 时间复杂度 2、回溯法 3、递归算法 4、渐进确界或紧致界 5、原问题的较小模式 递归技术 6、问题的计算复杂性分析有一个共同的客观尺度 7、②③④① 8、问题的最优解包含其子问题的最优解 9、局部最优 10、正确的 三、简答题 1、高级语言更接近算法语言,易学、易掌握,一般工程技术人员只需要几周时间的培训就可以胜任程序员的工作; 高级语言为程序员提供了结构化程序设计的环境和工具,使得设计出来的程序可读性好,可维护性强,可靠性高; 高级语言不依赖于机器语言,与具体的计算机硬件关系不大,因而所写出来的程序可植性好、重用率高; 把繁杂琐碎的事务交给编译程序,所以自动化程度高,开发周期短,程序员可以集中时间和精力从事更重要的创造性劳动,提高程序质量。 2、 ①不能保证最后求得的解是最佳的;即多半是近似解。(少数问题除外) ②策略容易发现(关键:提取清楚问题中的维度), 而且运用简单,被广泛运用。 ③策略多样,结果也多样。 ④算法实现过程中,通常用到辅助算法:排序 3、解:① 因为:;01 -10n n )1-10n n (lim 22 2=+-+→∞n n 由渐近表达式的定义易知: 1-10n n 2 2+是n ;的渐近表达式。 ② 因为:;0n 1/ 5/n 1414)n 1/ 5/n 14(lim 22=++-++∞→n 由渐近表达式的定义易知: 14是14+5/n+1/ n 2的渐近表达式。 4、 找出最优解的性质,并刻划其结构特征。 递归地定义最优值。 以自底向上的方式计算出最优值。 根据计算最优值时得到的信息,构造最优解。 四、算法设计题 1、按照单位效益从大到小依次排列这7个物品为:FBGDECA 。将它们的序号分别记为1~7。则可生产如下的状态空间搜索树。其中各个节点处的限界函数值通过如下方式求得:【排序1分】 5x =6x =7x =

算法与程序设计试题

算法与程序设计试题 一、选择题(每题两分,共14分每题2分) 1、要进行元旦晚会比赛,学校请你设计一个能够对元旦晚会节目分数自动排序的软件,你接到任务后,准备开始设计此软件,比较好的方法和步骤是() A、设计算法,编写程序,提出问题,调试程序 B、分析问题,编写程序,设计算法,调试程序 C、分析问题,设计算法,编写程序,调试程序 D、设计算法,提出问题,编写程序,调试程序 2、数值型数据包括两种。 A、整型和长整型 B、整型和浮点型 C、单精度型和双精度型 D、整型、实型和货币型 3、具有输出数据功能的控件是:() A、窗体控件和标签控件 B、复选框控件和文本框控件 C、标签控件和文本框控件 D、选项框按钮控件和复选框控件 4、要使循环体至少执行一次,应使用循环。 5、下列程序段是计算公式的: s=0;t=1 for I =1 to 10 t:=t*I s:=s+t Next I A、s=1+2+3+......10B、s=1*2*3* (10) C、s=1!+2!+3! ......10! D、s=1+2*3+3*4+4*5+......9*10 6、在窗体(Name属性为Formal)上画两个文本框(其Name属性分别为Text1和Text2)和一个命令按钮(Name属性为Command1),然后编写如下两个事件过程: Private Sub Command1_Click() A = Text1Text + Text2.Text Print a End Sub Private Sub Formal_Load() Text1.Text = " " Text2.Text = " " End Sub 程序运行后,在第一个文本框(Text1)和第二个文本框(Text2)中分别输入123和321,然后单击命令按钮,则输出结果为()。 A、444 B、321123 C、123321 D、132231 7、使用函数与过程是为了。 A、使程序模块化B、使程序易于阅读

算法设计与分析试卷(2010)

内部资料,转载请注明出处,谢谢合作。 算法设计与分析试卷(A 卷) 一、 选择题 ( 选择1-4个正确的答案, 每题2分,共20分) (1)计算机算法的正确描述是: A .一个算法是求特定问题的运算序列。 B .算法是一个有穷规则的集合,其中之规则规定了一个解决某一特定类型的问题的运算序列。 C .算法是一个对任一有效输入能够停机的图灵机。 D .一个算法,它是满足5 个特性的程序,这5个特性是:有限性、确定性、能 行性、有0个或多个输入且有1个或多个输出。 (2)影响程序执行时间的因素有哪些? A .算法设计的策略 B .问题的规模 C .编译程序产生的机器代码质量 D .计算机执行指令的速度 (3)用数量级形式表示的算法执行时间称为算法的 A .时间复杂度 B .空间复杂度 C .处理器复杂度 D .通信复杂度 (4)时间复杂性为多项式界的算法有: A .快速排序算法 B .n-后问题 C .计算π值 D .prim 算法 (5)对于并行算法与串行算法的关系,正确的理解是: A .高效的串行算法不一定是能导出高效的并行算法 B .高效的串行算法不一定隐含并行性 C .串行算法经适当的改造有些可以变化成并行算法 D. 用串行方法设计和实现的并行算法未必有效 (6)衡量近似算法性能的重要标准有: A .算法复杂度 B .问题复杂度 C .解的最优近似度 D .算法的策略 (7)分治法的适用条件是,所解决的问题一般具有这些特征: A .该问题的规模缩小到一定的程度就可以容易地解决; B .该问题可以分解为若干个规模较小的相同问题; C .利用该问题分解出的子问题的解可以合并为该问题的解 D .该问题所分解出的各个子问题是相互独立的。 (8)具有最优子结构的算法有: A .概率算法 B .回溯法 C .分支限界法 D .动态规划法 (9)下列哪些问题是典型的NP 完全问题: A .排序问题 B .n-后问题 C .m-着色问题 D .旅行商问题 (10)适于递归实现的算法有: A .并行算法 B .近似算法 C .分治法 D .回溯法 二、算法分析题(每小题5分,共10分) (11)用展开法求解递推关系: (12)分析当输入数据已经有序时快速排序算法的不足,提出算法的改进方案。 ???>+-==1 1)1(211)(n n T n n T

5.《算法设计与分析》试题库

《算法分析与设计》试题库 (一) 一、 选择题 1.应用Johnson 法则的流水作业调度采用的算法是(D ) A. 贪心算法 B.分支限界法 C.分治法 B. void hanoi(int n, int A, int B, int C) { if (n > 0) { hanoi(n-1, A, C, B); move( n, a,b); hanoi(n-1, C, B, A); 2.Hanoi 塔问题如下图所示。现要求将塔座A 上的的所有圆盘移到塔座 B 上,并 D.动态规划算法

3. 动态规划算法的基本要素为(C) A. 最优子结构性质与贪心选择性质 B ?重叠子问题性质与贪心选择性质 C.最优子结构性质与重叠子问题性质

D.预排序与递归调用 4. 算法分析中,记号0表示(B),记号0表示(A),记号。表示(D) A. 渐进下界 B. 渐进上界 C. 非紧上界 D. 紧渐进界 E. 非紧下界 5. 以下关于渐进记号的性质是正确的有:(A) A. f(n) - P(g(n)),g(n) - 心(h(n))二f(n) - P(h(n)) B. f(n) =0(g(n)),g(n) =0(h(n))二h(n) =0(f(n)) C. O(f(n ))+0(g( n)) = O(mi n{f(n ),g( n)}) D. f(n) =0(g(n)) = g(n) -0(f (n)) 6?能采用贪心算法求最优解的问题,一般具有的重要性质为:(A) A. 最优子结构性质与贪心选择性质 B ?重叠子问题性质与贪心选择性质 C. 最优子结构性质与重叠子问题性质 D. 预排序与递归调用 7.回溯法在问题的解空间树中,按(D)策略,从根结点出发搜索解空间树。 A. 广度优先 B.活结点优先 C.扩展结点优先 D.深度优先