毕业设计论文-基于多人决策的旅游景点路线推荐系统的设计与实现(2)

2019-08-30 20:54

向C、C++、Eiffel、Java、Perl、PHP、Python以及Tcl等编程语言的编程接口(APIs),支持多种字段类型并且提供了完整的操作符支持查询中的SELECT和WHERE操作。

MySQL开发组计划于2001年中期公布MySQL4.0版本。在这个版本中将有以下新的特性被提供:新的表定义文件格式、高性能的数据复制功能、更加强大的全文搜索功能。在此之后,MySQL开发着希望提供安全的数据复制机制、在BeOS操作系统上的MySQL实现以及对延时关键字的定期刷新选项。随着时间的推进,MySQL将对ANSI 92/ANSI 99标准完全兼容。

在这里推荐使用MYSQL的主要原因有以下几点: (1)便宜(通常是免费)。 (2)网络承载比较少。

(3)经常高度最佳化(HighlyOptimized)。 (4)应用程序通过它做起备份来比较简单。 (5)为各种不同的数据格式提供弹性的借口。 (6)较好学且操作简单。 MYSQL的优点有以下几点[1]: 1.避免网络阻塞

针对多个使用者共同的存取的支持,MYSQL内定最大链接数为100个使用者。但是,即使网络上有大量数据来往,并不会对查询最佳化有多大的影响。

2.最佳化

数据库结构设计也会影响到MYSQL的执行效率,例如MYSQL并不支持外来键,这个缺点会影响到数据库设计以及网站的效率。

对于使用MYSQL做数据库支持的网站,应该将重点放在如何让硬盘存取减少到最低、如何让一个或多个CPU随时保持在告诉作业的状态,以及支持适当的网络频宽,而非实际上的数据库设计以及数据查询的状况。

3.多线程

MYSQL是一个快速、多线程、多使用者且功能强大的关系型数据库管理系统。也就是说当客户端与MYSQL

数据库连接时,服务器会产生一个线程

或一个行程来处理这个数据库链接的请求。

4.可延伸性以及数据处理能力 MYSQL

同时具有高度多样性,能够提供给很多不同的使用接口,包括

命令列、客户端操作、网页浏览器、以及各式各样的程序语言接口,例如C++、Perl、java、PHP以及Python。

5.便于学习

MYSQL支持结构化查询语言,那么精通数据库的人在一天之内,就可以学会MYSQL,对于初学者来说也非常容易上手。

2.2.2 Tomcat介绍

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。目前最新版本是8.0。

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。

诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。

2.2.3百度地图API

百度地图API是为开发者免费提供的一套基于百度地图服务的应用接口,包括JavaScript API、Web服务API、Android SDK、iOS SDK、定位SDK、车联网API、LBS云等多种开发工具与服务,提供基本地图展现、搜索、定位、

逆/地理编码、路线规划、LBS云存储与检索等功能,适用于PC端、移动端、服务器等多种设备,多种操作系统下的地图应用开发。

百度地图宣称所有API均免费对外开放。

百度地图JavaScript API是一套由JavaScript语言编写的应用程序接口,它能够帮助您在网站中构建功能丰富、交互性强的地图应用程序。百度地图API不仅包含构建地图的基本功能接口,还提供了诸如本地搜索、路线规划等数据服务。适用于PC或移动设备端的基于浏览器的开发。JS版本还为用户开放了开源库,简化开发。

百度地图Web服务API包括Place API、Geocoding API、Direction API,能够快速响应用户的请求,返回xml&Json 数据。就百度地图API目前政策,若用户使用该套API,需要先申请key。其中Place API使用受限,其他均无限免费使用。

2.3系统算法原理

2.3.1弗洛伊德算法(Floyd)

Floyd算法又称为插点法,是一种用于寻找给定的加权图中多源点之间最短路径的算法。该算法名称以创始人之一、1978年图灵奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名。

1核心思路

路径矩阵:通过一个图的权值矩阵求出它的每两点间的最短路径矩阵。 从图的带权邻接矩阵A=[a(i,j)] n×n开始,递归地进行n次更新,即由矩阵D(0)=A,按一个公式,构造出矩阵D(1);又用同样地公式由D(1)构造出D(2);??;最后又用同样的公式由D(n-1)构造出矩阵D(n)。矩阵D(n)的i行j列元素便是i号顶点到j号顶点的最短路径长度,称D(n)为图的距离矩阵,同时还可引入一个后继节点矩阵path来记录两点间的最短路径。

采用松弛技术(松弛操作),对在i和j之间的所有其他点进行一次松弛。所以时间复杂度为O(n^3);

状态转移方程

其状态转移方程如下: map[i,j]:=min{map[i,k]+map[k,j],map[i,j]};

map[i,j]表示i到j的最短距离,K是穷举i,j的断点,map[n,n]初值应该为0,或者按照题目意思来做。

当然,如果这条路没有通的话,还必须特殊处理,比如没有map[i,k]这条路。

2算法过程

(1)从任意一条单边路径开始。所有两点之间的距离是边的权,如果两点之间没有边相连,则权为无穷大。

(2)对于每一对顶点 u 和 v,看看是否存在一个顶点 w 使得从 u 到 w 再到 v 比已知的路径更短。如果是更新它。

把图用邻接矩阵G表示出来,如果从Vi到Vj有路可达,则G[i,j]=d,d表示该路的长度;否则G[i,j]=无穷大。定义一个矩阵D用来记录所插入点的信息,D[i,j]表示从Vi到Vj需要经过的点,初始化D[i,j]=j。把各个顶点插入图中,比较插点后的距离与原来的距离,G[i,j] = min( G[i,j], G[i,k]+G[k,j] ),如果G[i,j]的值变小,则D[i,j]=k。在G中包含有两点之间最短道路的信息,而在D中则包含了最短通路径的信息。

比如,要寻找从V5到V1的路径。根据D,假如D(5,1)=3则说明从V5到V1经过V3,路径为{V5,V3,V1},如果D(5,3)=3,说明V5与V3直接相连,如果D(3,1)=1,说明V3与V1直接相连。

3时间复杂度与空间复杂度 时间复杂度:O(n^3); 空间复杂度:O(n^2)[1] 4优缺点分析

Floyd算法适用于APSP(All Pairs Shortest Paths,多源最短路径),是一种动态规划算法,稠密图效果最佳,边权可正可负。此算法简单有效,由于三重循环结构紧凑,对于稠密图,效率要高于执行|V|次Dijkstra算法,也要高于执行V次SPFA算法。

优点:容易理解,可以算出任意两个节点之间的最短距离,代码编写简单。 缺点:时间复杂度比较高,不适合计算大量数据。

第3章 需求分析

通过计算机对旅游信息进行管理,不仅为旅行社的管理注入了新的生机,而且在运营过程中节省了大量的人力、物力、财力和时间,可以提高旅行社的管理效率,还为旅行社树立里一个全新的形象,为旅游业日后更好的发展奠定了一个良好的基础。随着计算机技术的发展以及计算机在各行各业的普及,计算机强大的功能已为人们深刻认识。它在当今高速发展的信息时代占据着不可或缺的地位,作为计算机应用软件的一部分,使用计算机对旅行社进行综合管理和企业宣传已远远超过了手工管理的效率。因此,开发这样一个系统是很有必要的。

3.1可行性分析

系统的可行性是用来确定本系统是否值得去开发研究,以及怎么实现这个系统的功能。当然不能靠主观猜想而只能靠客观分析。必须分析几种主要可能解决方法的利弊,从而判断系统规模和功能是否能现实,系统完成后所能带来的效益是否超过它的开发成本。因此,可行性研究实质上是要进行一次大大压缩简化系统分析和设计的过程,也就是在较高层次上以抽象的方式进行的系统分析和设计的过程。

一般说来,至少应该从下述三方面研究每种解决方法的可行性: ● 经济可行性:使用现有的技术能否实现这个系统。

● 技术可行性:这个系统的经济效益能否超过它的开发成本。 ● 操作可行性:系统的操作方式在这个企业组织内是否行得通。 (1)经济可行性

本系统是基于JSP的旅游景点路线推荐中小型系统,在开发工具和运行设备等方面只需要一些基本的配置就可以了,在硬件要求上也不算太高,成本要也相对比较低。在软件方面,在目前常用的操作系统下均可以运行。在开发人员方面,本系统是由个人独立开发的系统。由此可见,开发这样一个旅游景点路线推荐系统在经济上是完全可行的。

(2)技术可行性

技术可行性研究就是弄清现有技术条件能否顺利完成开发工作,软硬件配置能否满足开发的需要等。由于本系统是基于MYSQL的数据库应用程序开发


毕业设计论文-基于多人决策的旅游景点路线推荐系统的设计与实现(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:昼夜长短的变化规律及应用

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: