SDU 数据结构课设随记——思路相关

SDU 寒假数据结构课程设计随记——思路相关


题目:飞机订票系统

1、可以查询航班(输入航班号,查询起降,起飞抵达城市,航班票价,票价折扣确定航班是否满仓)
2、可以订票,如果该航班已经无票则可以提供相关可选择航班
3、可以退票

基本情况:

1、使用Java+mysql进行程序设计,IDE为IDEA
2、GUI:使用Java swing+awt进行编写,利用Naviacat进行数据库可视化
3、网络交互使用TCP程序设计

面向对象设计:

机票 封装为对象,内含

  • 航班号(string)
  • 起降地点(string)
  • 起降时间(时间戳存储,long)
  • 航班耗时(按输入起降时间进行计算)
  • 票价(float)
  • 折扣(float)
  • 剩余仓位(int)

等等信息

数据结构体现:
  • 将整个飞机抽象为一张图,每一个机票对应的起降点就是图中的顶点,每一个机票就是两点之间的有向边,边上的耗费可以为距离也可以为价格。
  • 图的存储为邻接链表,每个链表后面为可以抵达的城市,链表节点内含机票对象。
  • 可实现飞机中转,可以DFS,在图较小的前提下可在较短时间内获得结果。
    如果搜索时间过长,则给出选项可以搜索小于一次中转的航线,这样穷举(O(n2))即可而不必遍历整张图(O(n3))
  • 可按航班号进行搜索,也可以进行目的地搜索即设置当前位置或输入起始进行机票搜索。
  • 搜索结果的呈现可以按价格或者耗时升序排列。
package:
  • server
  • user
  • 辅助工具包
使用方式:
  • 分为服务器和客户端,客户端可进行注册登录注销等行为,服务端可进行录入和修改机票信息等行为
  • 客户端提供查询功能,给出结果并以表格的形式输出,最后可以订票或者查看自己已定机票进行退票
  • 服务端录入机票信息后即存入服务端运行的图中,同时机票信息也将存入数据库。在每次服务端启动时,会首先爬取数据库信息构建图

你可能感兴趣的:(java,数据库,链表,数据结构)