999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于鄰接表結構的拓撲排序的全序列算法研究

2016-09-06 08:55:59薛春艷
現代計算機 2016年19期
關鍵詞:排序結構活動

薛春艷

(廈門大學嘉庚學院信息科學與技術學院,廈門 361000)

基于鄰接表結構的拓撲排序的全序列算法研究

薛春艷

(廈門大學嘉庚學院信息科學與技術學院,廈門 361000)

拓撲排序是有向無環圖的用來描述各活動間的先后關系的重要應用。利用拓撲排序算法能得到圖中的各活動的線性序列,同時這個序列滿足各活動在圖中體現的先后關系,即拓撲序列。常用的求解拓撲排序方法是求得一個拓撲序列即可。為了增強算法的實用價值,給出求解有向無環圖的所有拓撲序列的方法,并討論算法的原理及代碼實現,驗證全拓撲排序算法的實用性和正確性。

拓撲排序;全序列;鄰接表

0 引言

有向無環圖在實際應用中經常用來描述工程或者系統的進行過程。如工程施工圖、學生選課關系圖等。在圖中,用頂點表示活動,用有向邊表示活動間的先后關系,這種有向圖稱為AOV網(Activity On Vertex Network)。將AOV網中的各個頂點排成一個線性序列,使各頂點在序列中保持其在圖中體現出來的先后關系,這個過程稱為拓撲排序。由此得到的線性序列稱為拓撲序列[1]。

求有向無環圖的拓撲序列的意義在于可以根據拓撲序列對圖中活動進行串行地安排,從而提高活動安排的效率。如學生課程間的安排、生產控制過程的優化、工程施工的過程管理等[2]。

有向無環圖的拓撲序列通常情況下是不唯一的,常用的拓撲排序方法當得到一個拓撲序列后就結束了;在很多應用中,只求出一個拓撲序列是不夠的,需要得到的該圖的全部可能的拓撲序列,再根據相關的要求選出最佳的拓撲序列。

1 拓撲排序算法的存儲結構

在計算機中實現時,有向無環圖采用了鄰接表作為存儲結構。同時在基本的鄰接表的基礎上進行了改進,為了實現算法的方便,在頂點結構中加了一項,用來存放該頂點入度的值。通過這個入度的值可以進行下面兩操作:

(1)判斷當前頂點是否是無前驅的頂點:即判斷其入度是否為0;

(2)輸出頂點后,需要刪除該頂點和所有以它為尾的弧的操作:即將以該頂點為弧尾的另一端的弧頭頂點的入度減1。

同時,需要設一個棧結構來存放拓撲排序過程中所有入度為零的頂點[3]。改進后的有向無環圖的存儲結構如下:

以圖1為例,圖2是圖1的鄰接表結構示意圖。

圖1 無向圖G

圖2 無向圖G的鄰接表示意圖

2 拓撲排序的算法思想

拓撲排序的算法思想是:

(1)在有向無環圖中任選一個沒有前驅的頂點(無前驅的頂點可能有多個)并且輸出。

(2)刪除該頂點以及所有由該頂點發出的弧。

重復上述兩步,直到圖中所有頂點全部輸出為止。

其偽代碼如下:

(1)棧S初始化;

(2)掃描頂點表,將所有無前驅的頂點入棧;

(3)當棧S非空時循環

棧頂元素vj出棧;輸出vj;

頂點vj的各個鄰接點的入度減1,若間后入度為0,則將該頂點入棧S。

若所有的頂點都已輸出,就表明所輸出的序列即為所求的該有向無環圖的拓撲序列。

3 全拓撲排序算法的原理與實現[3]

全拓撲排序采用了鄰接表作為圖的存儲結構,通過深度優先搜索獲得序列,利用棧結構存儲無前驅的頂點,利用隊列結構存儲所有可能的待檢測的序列,利用窮舉法來判斷是否符合拓撲排序的要求,最終求出所有符合要求的解。

(1)統計所有入度為0的頂點,窮舉出由這些頂點開始所能構造的所有可能的頂點序列;

(2)判斷當前序列是否是合法的拓撲排序,如果是,則輸出該序列,轉(1)。

(3)否則轉(2),直到所有可能序列都完成檢測為止。

全拓撲排序函數代碼如下:

4 程序運行結果

根據圖1收入邊數:6和9條邊的信息(以“起點編號 重點編號”格式輸入),最終求得圖G的全拓撲序列為6個,具體情況如圖3所示。見圖3:

圖3 圖G的全拓撲序列求解結果

5 結語

本文給出了全拓撲序列算法的基本思想和具體編程實現過程。全拓撲排序算法思想簡單明了,時間復雜度和空間復雜度適當。求解全拓撲排序目的是為了求解特殊條件下的最佳的拓撲序列。因此,若在獲得備選序列的過程中加上貪心規則,算法的性能還能得到進一步提高。

[1]嚴蔚敏,吳偉民.數據結構(C語言版)[M].北京:清華大學出版社,1997.

[2]王瓊.拓撲排序算法的拓展研究[J].計算機工程與應用,2006-24.

[3]朱立華,王汝傳.AOV網中全拓撲排序算法的設計及應用[J].微機發展,2004-14.

Topology Sorting;All Sort;Adjacency List

Research on the Algorithm for all Topology Sorting Based on Adjacency List Structure

XUE Chun-yan
(College of Information Science and Technology,Xiamen University Tan Kah Kee College,Xiamen 361000)

Topology sort is an important application of a Directed Acyclic Graph for the relations between activities which in the DAG.Topology sort algorithm can get a linear sequence of each activity in this DAG,this sequence of activities meets all embodied relationship in the DAG, namely topological sequence.Usually,the topological sorting method obtains a topological sequence.In order to enhance the practical value of the algorithm,presents a method to get all the topology sequence of the DAG,and discusses the principle and the code algorithm, verifies the correctness and practicality of the full topological sorting algorithm.

1007-1423(2016)19-0074-03

10.3969/j.issn.1007-1423.2016.19.018

薛春艷(1976-),女,吉林遼源人,碩士研究生,副教授,研究方向為數字圖像處理、算法設計與分析、數據庫

2016-04-14

2016-07-02

猜你喜歡
排序結構活動
“六小”活動
少先隊活動(2022年5期)2022-06-06 03:45:04
“活動隨手拍”
排序不等式
行動不便者,也要多活動
中老年保健(2021年2期)2021-08-22 07:31:10
《形而上學》△卷的結構和位置
哲學評論(2021年2期)2021-08-22 01:53:34
恐怖排序
論結構
中華詩詞(2019年7期)2019-11-25 01:43:04
節日排序
三八節,省婦聯推出十大系列活動
海峽姐妹(2018年3期)2018-05-09 08:20:40
刻舟求劍
兒童繪本(2018年5期)2018-04-12 16:45:32
主站蜘蛛池模板: 国产激爽爽爽大片在线观看| 免费观看成人久久网免费观看| 国产人成在线视频| 91精品啪在线观看国产60岁 | 欧美精品v日韩精品v国产精品| 911亚洲精品| 亚洲天堂视频网站| 亚洲日本一本dvd高清| 思思热精品在线8| 永久成人无码激情视频免费| 中文字幕亚洲综久久2021| 91系列在线观看| 日韩a级毛片| 成人欧美在线观看| 久久婷婷色综合老司机| 国产91丝袜在线播放动漫 | 香蕉视频在线观看www| 亚洲高清资源| 亚洲国产天堂久久综合| 国产无码在线调教| 久久精品亚洲中文字幕乱码| a级毛片毛片免费观看久潮| 国产91特黄特色A级毛片| 欧美激情首页| 伊人久久青草青青综合| 亚洲视频无码| 国产午夜精品一区二区三区软件| 国产女人爽到高潮的免费视频 | h视频在线播放| 国产女人水多毛片18| 99精品在线看| 精品国产黑色丝袜高跟鞋| 国产成年女人特黄特色毛片免 | 97色伦色在线综合视频| 亚洲人在线| 成年片色大黄全免费网站久久| 日韩 欧美 小说 综合网 另类| 粉嫩国产白浆在线观看| 亚洲成a人片在线观看88| 伊人久久福利中文字幕| 喷潮白浆直流在线播放| www.youjizz.com久久| 国产嫖妓91东北老熟女久久一| 高清无码不卡视频| 99热精品久久| 怡红院美国分院一区二区| 一级毛片在线播放免费| 一级福利视频| 香蕉国产精品视频| 黄色福利在线| 特级做a爰片毛片免费69| 青青草原国产免费av观看| 国产不卡一级毛片视频| 欧美综合区自拍亚洲综合天堂| 中文字幕日韩视频欧美一区| 国产美女自慰在线观看| 午夜福利在线观看成人| 免费人成在线观看成人片| 日韩国产 在线| 欧美日韩91| 国产极品美女在线观看| 色网在线视频| 国产精品久久久免费视频| 国产精品美女网站| 多人乱p欧美在线观看| 久久国产av麻豆| 国产一区二区免费播放| 国产精品污视频| 深夜福利视频一区二区| 亚洲一本大道在线| 狠狠色香婷婷久久亚洲精品| 久青草免费在线视频| 91探花在线观看国产最新| 亚洲日韩精品欧美中文字幕| 国产日本一区二区三区| 亚洲香蕉久久| 一级片免费网站| 欧美亚洲国产视频| 看国产一级毛片| 国产成人无码AV在线播放动漫 | 亚洲欧美不卡中文字幕| 性69交片免费看|