“基于百度地图的巡检系统”的总结体会

经过半个月的努力,终于完成了这个小项目···在拿到这个题目的时候就感觉要完成不会太难,但是真正的开始做的时候,问题就不断的暴漏出来了,真是书到用时方恨少啊。总结一下吧。

其实现在来看,有些问题是可以避免的,比如一些最简单的数据库表得设计问题,功能的实现,各个功能之间的联系和模块的共用。这些都该是前期的准备工作,而自己都是在项目完成后才开始对代码进行整理,感觉步骤有点弄反了。(现在想想好像软件工程这门课好像就是干这个用的尴尬。没有做到学以致用·····)

第一个问题就是,以前做的一些小项目只使用一种设计语言,不用考虑不同设计语言间的参数的传递问题,这次这个项目因为要用到百度地图的API的接口,而百度地图只提供js的接口,这就涉及到了不同的语言之间的参数传递问题,比如php从数据库中获取的数据传递给js或者将js的数据传递给php,php向js传递参数json是个很有用的函数(具体内容请百度),还有就是php将所有要传递的信息构造成一个字符串echo出来,再通过js提供的一些函数对字符串进行分解。js向php传送数据就主要是通过url或者post传递。

第二个问题就是模块化和代码的重复使用,也让我头痛了一会。

第三个是最大的问题(花费了整个项目时间的一半多),就是算法问题,由于要厉遍所有的点并且使总路径最短,刚开始的时候,以为很简单就使用了floyd和Dijkstra算法,后来发现不对,因为我要厉遍所有点,而这两个算法并不能实现厉遍所有点·····。后来又使用了最小生成树的算法,但还是不行,因为最小生成树是解决n个点用n-1条路径连接的问题,也就是说一个点可以连接好几个点,即放射状,显然不能满足我的要求。最后不得不寻求帮助(谁让我这么菜呢···)通过询问老师和请教搞acm的大神麋鹿同学,最后确定了旅行商问题,由于旅行商问题是一个数学难题,找不到多项式时间解,百度旅行商问题可以得到很多论文,但是现成的代码到很少,只能自己试试了,找了近10篇的论文,和几个c++的实例代码,一边参考一边自己摸索最后用js实现了穷举法和动态规划法。闭嘴由此看来算法的学习是非常重要的,而且是困难的,但是有了现成的算法,用语言来实现也是对一个人语言能力的考验。

最后来一张截图吧,不喜勿喷·····(蓝色的基调有没有很亮)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值