• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于城市公共自行車網(wǎng)的最短路徑搜索

      2014-08-14 12:58:39朱敏
      電腦知識與技術(shù) 2014年19期
      關(guān)鍵詞:最短路徑算法

      朱敏

      摘要:在圖的相關(guān)操作中,最短路徑是一個(gè)很重要的操作。該文根據(jù)蘇州市的城市公共自行車網(wǎng)絡(luò)越來越普及的實(shí)際情況,實(shí)現(xiàn)了一個(gè)小型的利用搜索系統(tǒng)來獲取最短路徑的應(yīng)用。該文以蘇州市吳中區(qū)某局部范圍內(nèi)的公共自行車站點(diǎn)及通路的數(shù)據(jù)為基礎(chǔ),利用Dijkstra算法,獲取任意兩個(gè)站點(diǎn)之間的最短路徑。

      關(guān)鍵詞:VB.net;公共交通搜索;最短路徑;Dijkstra 算法

      中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2014)19-4593-02

      The Shortest Path Searching Based on City Public Bicycle Network

      ZHU Min

      (Suzhou Vocational Universtiy,Suzhou 215104,China)

      Abstract: In the related operations in the graph, the shortest path is a very important operation. In this paper, according to the actual situation of city public bicyclenetwork of Suzhou city is becoming more and more popular, to achieve a small use of search system to obtain the shortest path to the application.This paper is based on the public bicycle station and Suzhou city Wuzhong District a local path within the scope of the data, using the Dijkstra algorithm,the shortest path between any two sites.

      Key words: VB.net; public traffic search; shortest path; Dijkstra algorithm

      本著“低碳生活,生態(tài)文明”的理念,蘇州市推出公共自行車服務(wù),受到市民的普遍歡迎。目前,蘇州市已經(jīng)建成公共自行車站帶你2046個(gè),每輛自行車的日平均每車租賃次數(shù)為5.1,公共自行車作為綠色環(huán)保的出行工具,正在蘇州市大量普及。隨著蘇州市內(nèi)公共自行車站點(diǎn)覆蓋范圍的不斷擴(kuò)大,站點(diǎn)數(shù)量的不斷增加,市民對站點(diǎn)之間的最短路徑的搜索需求也在凸顯。因此,開發(fā)一個(gè)實(shí)現(xiàn)公共自行車站點(diǎn)最短路徑搜索的應(yīng)用系統(tǒng)是很有必要的。獲取公共自行車通路的最短路徑,涉及到兩個(gè)方面的問題。一是公共自行車站點(diǎn)的道路建設(shè)問題,一是計(jì)算最短路徑的算法。該文開發(fā)的應(yīng)用系統(tǒng)使用Dijstra算法作為最短路徑的計(jì)算算法, 該算法是經(jīng)典的最短路徑算法,目前廣泛應(yīng)用在獲取最短路徑的問題中。

      1 系統(tǒng)開發(fā)環(huán)境

      VB.NET是微軟公司開發(fā)推出的最新的windows平臺的應(yīng)用程序開發(fā)環(huán)境。VB.NET作為一種面向?qū)ο蟮恼Z言,能夠高效地開發(fā)面向?qū)ο蟮膽?yīng)用程序。VB.NET具有面向?qū)ο?、支持繼承、窗體設(shè)計(jì)器含有許多新特性、以.net框架為基礎(chǔ)等特點(diǎn)。

      2 公共自行車通路數(shù)據(jù)結(jié)構(gòu)

      本文開發(fā)的應(yīng)用系統(tǒng),是基于蘇州市吳中區(qū)的局部的公共自行車站點(diǎn),所以使用數(shù)組等簡單的數(shù)據(jù)結(jié)構(gòu)存儲站點(diǎn)數(shù)據(jù)。使用一個(gè)二維數(shù)組存放站點(diǎn)之間的通路情況,若兩站點(diǎn)之間有通路,則將行車時(shí)間作為數(shù)組中對應(yīng)的值,若兩站點(diǎn)之間沒有通路,則將對應(yīng)的值定為10000。使用兩個(gè)一維數(shù)組,分別存放初始站點(diǎn)至各個(gè)站點(diǎn)的最短行車時(shí)間,以及存放標(biāo)識站點(diǎn)是否已獲取最短路徑的標(biāo)記。最后,使用一個(gè)二維數(shù)組存放從初始站點(diǎn)到各個(gè)站點(diǎn)的最短路徑所經(jīng)過的站點(diǎn)序號。具體如下:

      Dim tu(,) As Integer //存放站點(diǎn)之間的通路情況;

      Dim f(12, 12) As Integer //存放從初始站點(diǎn)到各個(gè)站點(diǎn)的最短路徑所經(jīng)過的站點(diǎn)序號;

      Dim a(12) As Integer //存放初始站點(diǎn)至各個(gè)站點(diǎn)的最短行車時(shí)間;

      Dim b(12) As Char //存放標(biāo)識站點(diǎn)是否已獲取最短路徑的標(biāo)記;

      Dim start As Integer //存放初始站點(diǎn);

      Dim target As Integer //存放目標(biāo)站點(diǎn);

      3 Dijstra最短路徑算法

      公共自行車站點(diǎn)的網(wǎng)絡(luò)通路可以抽象成一個(gè)帶權(quán)值的圖。圖中的各個(gè)節(jié)點(diǎn)表示站點(diǎn),圖中的邊表示站點(diǎn)之間的通路,權(quán)值代表通路的行車耗時(shí)。本系統(tǒng)使用Dijstra最短路徑算法的基本步驟為:

      1) 初始化數(shù)組a(),使其中存放從初始站點(diǎn)到各個(gè)站點(diǎn)的通路的權(quán)值。

      2) 將所有的站點(diǎn)分成兩部分,一部分是已經(jīng)求出從出發(fā)點(diǎn)到該點(diǎn)的最短路徑的站點(diǎn),一部分是尚未求出最短路徑的站點(diǎn),在數(shù)組b()中,分別用S和U標(biāo)記。初始化數(shù)組b(),初始站點(diǎn)的標(biāo)記為S,其余站點(diǎn)標(biāo)記為U。

      3) 從所有標(biāo)記為U的站點(diǎn)中,找出權(quán)值最小的站點(diǎn)K,并把該站點(diǎn)的標(biāo)記改為S。

      4) 修改其余標(biāo)記為U的站點(diǎn)的權(quán)值,修改規(guī)則為:若K的權(quán)值加上站點(diǎn)K到該站點(diǎn)通路值之和小于該站點(diǎn)的已有權(quán)值,則將該站點(diǎn)的權(quán)值修改為K的權(quán)值加上站點(diǎn)K到該站點(diǎn)通路值之和。

      5) 重復(fù)第(3) 、(4) 兩步,直至所有站點(diǎn)的標(biāo)記變成S為止。

      4 用戶界面層的實(shí)現(xiàn)

      在本系統(tǒng)中,用戶輸入初始站點(diǎn)編號和目標(biāo)站點(diǎn)編號,即可搜索出這兩個(gè)站點(diǎn)之間的最短路徑,以及其耗時(shí)。系統(tǒng)的流程圖如下:

      圖1 系統(tǒng)工作流程圖

      本系統(tǒng)中,Dijstra算法核心代碼如下:

      For i = 0 To 11

      If b(i) = "U" Then

      If a(k) + tu(k, i) < a(i) Then

      a(i) = a(k) + tu(k, i)

      For j = 0 To 11

      If f(i, j) = -1 Then

      f(i, j) = k

      Exit For

      End If

      Next

      End If

      End If

      Next

      猜你喜歡
      最短路徑算法
      基于MapReduce的改進(jìn)Eclat算法
      Travellng thg World Full—time for Rree
      進(jìn)位加法的兩種算法
      Dijkstra算法設(shè)計(jì)與實(shí)現(xiàn)
      基于Dijkstra算法的優(yōu)化研究
      圖論最短路徑算法的圖形化演示及系統(tǒng)設(shè)計(jì)
      一種改進(jìn)的整周模糊度去相關(guān)算法
      不確定條件下物流車最優(yōu)路徑選擇研究
      中國市場(2016年10期)2016-03-24 10:17:44
      禹州市| 旺苍县| 汾西县| 建湖县| 磴口县| 左贡县| 襄垣县| 方城县| 兴海县| 都安| 平原县| 中阳县| 玉溪市| 阳高县| 铁岭县| 开江县| 永德县| 襄汾县| 陕西省| 习水县| 碌曲县| 丹阳市| 门源| 陇南市| 手游| 佛坪县| 万州区| 浦城县| 屏边| 遂川县| 东光县| 定日县| 景东| 莫力| 河源市| 南昌县| 三门县| 卓尼县| 土默特左旗| 湘潭市| 军事|