當前位置:編程學習大全網 - 編程軟體 - 數據結構:用帶頭循環鏈表表示隊列的問題

數據結構:用帶頭循環鏈表表示隊列的問題

分類: 電腦/網絡 >> 程序設計 >> 其他編程語言

問題描述:

用帶頭循環鏈表表示隊列(設隊列長度為N)

若只設 頭 指針,則出隊列和入隊列的時間復雜度分別是多少?

若只設 尾 指針,則出隊列和入隊列的時間復雜度分別是多少?

我的答案:

若只設 頭 指針,則出隊列O(1);入隊列O(N)

若只設 尾 指針,則出隊列O(1);入隊列O(1)

對嗎?

解析:

前提:隊列中的結點從隊尾插入,從隊頭刪除;隊列中的結點的指向是從隊頭指向隊尾,因為是循環鏈表,則隊尾結點的下壹個結點是隊頭。

如果只設頭指針,則出列容易,頭指針往後移壹個就行;入列則要遍歷整個隊列,確定隊尾後再插入,所以出列是O(1),入列是O(n)

如果只設尾指針,則入列時直接插入,出列只須後移壹個結點即可找到隊頭結點,都是常數級的時間耗費,即都是O(1)

壹般來說循環隊列不用設頭指針,只需壹個指向尾結點的指針就行了,確定頭和尾都很容易。

  • 上一篇:我的保險箱是立盾的 沒電了 打不開咋辦··
  • 下一篇:三十四屆金鑰匙獲獎名單
  • copyright 2024編程學習大全網