1樓:後憶柏
1,把隊首指標和隊尾指標互換。
2(1)設定一個臨時指標,指向隊首元素,然後遍歷整個佇列並計數,直到臨時指標指向隊尾為止。
2)若隊首指標等於隊尾指標則佇列為空。
2樓:匿名使用者
我不會做上面的題目,哪位高手能幫忙解決嗎?多謝啦。
資料結構中佇列的特點是什麼
3樓:生活類答題小能手
佇列為一種特殊的線性表,特殊之處在於它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作,和棧一樣,佇列是一種操作受限制的線性表。進行插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。佇列中沒有元素時,稱為空佇列。
佇列的資料元素又稱為佇列元素。在佇列中插入一個佇列元素稱為入隊,從佇列中刪除一個佇列元素稱為出隊。因為佇列只允許在一端插入,在另一端刪除,所以只有最早進入佇列的元素才能最先從佇列中刪除,故佇列又稱為先進先出(fifo—first in first out)線性表。
4樓:匿名使用者
佇列是一種特殊的線性表,是運算受到限制的一種線性表,只允許在表的一端進行插入,而在另一端進行刪除元素的線性表。隊尾(rear)是允許插入的一端。隊頭(front)是允許刪除的一端。
空佇列是不含元素的空表。
根據這樣的操作。佇列特點是先進先出~
5樓:網友
資料結構中佇列的特點是先進先出啊。
資料結構拓撲排序序列 15
6樓:匿名使用者
拓撲排序序列有6種。先找到第一個沒有被指的,就是c1,加入序列。然後擦掉跟c1有關的邊,此時c2和c3都滿足沒有被指,選一個,比如選c2,加入序列,擦掉和c2有關的邊,這個時候可以選c3,c4,c5或c6,如此而已。
資料結構拓撲排序實際上是離散數學中的概念。
這裡不打算說太多形式化的定義,形式化的定義教科書上或者上面給的連結中就說的很詳細。還是以上面選課的例子來描述這兩個概念。假設我們在學習完了演算法這門課後,可以選修機器學習或者計算機圖形學。
這個或者表示,學習機器學習和計算機圖形學這兩門課之間沒有特定的先後順序。
因此,在我們所有可以選擇的課程中,任意兩門課程之間的關係要麼是確定的(即擁有先後關係),要麼是不確定的(即沒有先後關係),絕對不存在互相矛盾的關係(即環路)。以上就是偏序的意義,抽象而言,有向圖中兩個頂點之間不存在環路,至於連通與否,是無所謂的。所以,有向無環圖必然是滿足偏序關係的。
理解了偏序的概念,那麼全序就好辦了。所謂全序,就是在偏序的基礎之上,有向無環圖中的任意一對頂點還需要有明確的關係(反映在圖中,就是單向連通的關係,注意不能雙向連通,那就成環了)。
可見,全序就是偏序的一種特殊情況。回到我們的選課例子中,如果機器學習需要在學習了計算機圖形學之後才能學習(可能學的是圖形學領域相關的機器學習演算法……)那麼它們之間也就存在了確定的先後順序,原本的偏序關係就變成了全序關係。
實際上,很多地方都存在偏序和全序的概念。比如對若干互不相等的整數進行排序,最後總是能夠得到唯一的排序結果(從小到大,下同)。這個結論應該不會有人表示疑問吧:
但是如果我們以偏序/全序的角度來考慮一下這個再自然不過的問題,可能就會有別的體會了。
拓展到拓撲排序中,結果具有唯一性的條件也是其所有頂點之間都具有全序關係。如果沒有這一層全序關係,那麼拓撲排序的結果也就不是唯一的了。在後面會談到,如果拓撲排序的結果唯一,那麼該拓撲排序的結果同時也代表了一條哈密頓路徑。
7樓:一嘆
由拓撲序列的生成方法的出圖中三種不同拓撲排序的序列:第一種:c1、c2、c4、c3、c5、c6,第二種:
c1、c2、c4、c3、c6、c5,第三種:c1、c3、c2、c4、c5、c6。
8樓:渲染神思
拓撲排序的方法是,先找到第一個沒有被指的,就是c1,加入序列。然後擦掉跟c1有關的邊,此時c2和c3都滿足沒有被指,選一個,比如選c2,加入序列,擦掉和c2有關的邊,這個時候可以選c3,c4,c5或c6……如此而已。
9樓:匿名使用者
1,2,3,4,5,6,7
拓撲序列就是從沒有箭頭指的那個開始,下一個必須也沒有被箭頭指(這個叫什麼不記得了)。。
資料結構—佇列
10樓:世紀網路
佇列 (queue)是一種先進先出的線性表。它只允許在表的一端進行插入,在另一端進行刪除,這如同我們日常生活中的排列是一致的,最早入隊的元素最早離開。
隊尾 (rear)是佇列中允許插入的一端, 隊頭 (front)是佇列中允許刪除的一端。
佇列如同棧一樣,也同樣有兩種儲存表示,分別是順序表示和鏈式表示。
和順序棧類似,在佇列的順序儲存結構中,除了用一組地址連續的儲存單元依次存放從佇列頭到對列尾的元素之外,需要設定兩個指標front和rear分別指示佇列頭元素和尾元素的位置。
佇列的順序儲存結構表示如下:
為方便c語言描述起見,約定:初始化建空佇列時,front=rear=0,每當插入新元素至隊尾時,「尾指標增一」,每當刪除頭元素時,「頭指標增一」。因此,在非空佇列中,頭指標始終指向佇列頭元素,而尾指標始終指向隊尾元素的下一個位置。
迴圈對列 是將順序佇列變成一個環狀的空間,用這種方法可以解決佇列「假溢位」問題。
假溢位」 是指佇列實際可用空間沒有佔滿,但是不能向佇列中新增新的隊尾元素,否則會出現溢位的現象的情況。
在迴圈佇列中,頭尾指標以及佇列元素之間的關係不發生改變,只是在迴圈佇列中頭尾指標「依次迴圈增一」的操作可用模運算實現。通過取模,頭指標和尾指標就可以在順序表空間內以頭尾銜接的方式「迴圈」移動。
迴圈佇列的基本操作演算法描述:
鏈隊是指採用鏈式儲存結構實現的佇列。通常鏈隊用單連結串列來表示,一個鏈隊顯然需要兩個分別指示對頭和隊尾的指標(分別稱為頭指標和尾指標)才能唯一確定。為了操作方便,同線性表的單連結串列一樣,為鏈隊新增頭結點,並規定頭指標始終指向頭結點。
鏈佇列儲存結構表示如下:
鏈隊操作即為單連結串列插入和刪除操作的特殊情況,只是需要進一步修改尾指標或頭指標。
鏈佇列的基本操作演算法描述:
資料結構(使用C語言)佇列,資料結構C語言佇列執行不了
include stdio.h include malloc.h include stdlib.h include conio.h define max 80 typedef struct seque seque init seque int empty seque seque s int in s...
C語言資料結構,C語言 資料結構
include include defineinfinity0 definemax vertex num10 最大頂點數 definemax edge num40 最大邊數typedefenumgraphkind typedefcharvertextype 頂點資料型別typedefstructar...
資料結構c語言描述,資料結構(C語言描述)
include include include define datatype int define maxsize 1000 typedef struct nodebitreenode datatype bt maxsize bitreenode buildbtree datatype bt,in...