《大話資料結構》

2021-07-24 07:13:26 字數 356 閱讀 5095

佇列的定義

佇列是一種先進先出(first in first out)的線性表,簡稱fifo。允許插入的一端稱為隊尾,允許刪除的一端稱為隊頭。假設佇列是q=(。;,aa.·,,…,a),那麼a,就是隊頭元素,lf}j an是隊尾元素。這樣我們就可以刪除時,總是從a,開始,而插入時,列在最後。這也比較符合我們通常土活中的習慣,排在第乙個的優先出列,最後來的駕然排在隊伍最後,如圖 4 10 1 所示。

佇列在程式設計中用得非常頻繁口前面我們已經舉了兩個例子,再比如用鍵盤進行各種字母或數字的輸,到顯示器上軟體上的輸出,其實就是佇列的典型、

應用,假如你本來和女友聊天、想表達你是我的上帝,輸入的是god,而螢幕上卻顯示出了dog發了出去,這真是要氣死人了。

《大話資料結構》

函式的漸進增長 我們現在來判斷一下,兩個演算法a和b哪個更好。假設兩個演算法的輸入規模都是n,演算法a要做2n 3次操作,你可以理解為先有乙個n次的迴圈,執行完成後,再有乙個n次迴圈,最後有三次賦值或運算,共2n 3次操作。演算法b要做3n 1次操作,你覺得它們誰更快呢 準確來說,答案是不一定的 當...

《大話資料結構》

常見的時間複雜度 常見的時間複雜度如下圖所示 常用的時間複雜度所耗費的時間從小到大依次是 o 1 o logn o n o nlogn o n o n 三次方 o 2 n次方 o n!o n n次方 我們前面已經談到了 o 1 常數階 o logn 對數階 o n 線性階 o n 平方階等,至於o ...

《大話資料結構》

線性表 線性表,從某種就能感覺到,是具有像線一樣的性質的表。在廣場上,有很多人分散在各處,當中有些是小朋友,可也有很多大人,甚至還有不少寵物,這些小朋友的資料對整個廣場人群來說,不能算是線性表的結果。但像剛才提到的那樣,乙個班級的小朋友,乙個跟著乙個排著隊,有乙個打頭,有乙個收尾,當中的小朋友,每乙...