1、站点,字段为:SID,NAME
2、路线,字段为:PID,NAME
3、路线-站点表,字段为:PID,SID,INDEX;
其中INDEX是站点在该路线中的序号,例如第一个站点的
INDEX为1,第二个站点的为2,依此类推
编程时可以采用十字链表来存储线路信息,其中一维为站点,
另一维为路线。
算法采用广度优先搜索,从起点出发,由近及远,直到找到
目标站点,这样找到的路径经历的站点最少;也可对它稍做
调整,寻找换乘次数最少的乘车方式。
祝你好运!
最简单系统的设计:三张表,分别是
1、公交表:记录公交信息
2、站点表:记录站点信息
3、公交路线表:记录公交经过的站点。
查询的时候,可以根据公交查经过的线站,也可以根据某个站点查出经过该站点的公交。
三张表,1..保存所有站点信息的表,2.线路表,即哪条线,起点和终点分别在哪里3.线路经过站资料表,保存哪条线路所经过的站点信息
表1:站点基表
uBusRoot,基本结构如下:
fId
序号
fName
站点名称
表2:线路表
uBusLine,基本结构如下:
fId
序号
fName
线路名称
fBegin
起始站编号
fEnd
终点站编号
其中fBegin,fEnd
均为
uBusRoot
表里fId值,即表示为哪个站点;
表3:线路经过表
uBusLinePass,基本结构如下:
fId
序号
lId
线路编号
rId
站点编号
fType
站点类型(0-起始站,1-终点站,2-经过站)
(fType
可以不要,这样建立视图时,把起始站和终点也加上即可。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)