日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据结构:线性数据结构(2)-队列(栈,队列,deques, 列表)

發(fā)布時間:2023/12/20 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构:线性数据结构(2)-队列(栈,队列,deques, 列表) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

隊列:FIFO

1.隊列的抽象數(shù)據(jù)類型

隊列抽象數(shù)據(jù)類型由以下結(jié)構(gòu)和操作定義。如上所述,隊列被構(gòu)造為在隊尾添加項的有序集合,并且從隊首移除。隊列保持 FIFO 排序?qū)傩浴j犃胁僮魅缦?#xff1a;

  • Queue() 創(chuàng)建一個空的新隊列。 它不需要參數(shù),并返回一個空隊列。
  • enqueue(item) 將新項添加到隊尾。 它需要 item 作為參數(shù),并不返回任何內(nèi)容。
  • dequeue() 從隊首移除項。它不需要參數(shù)并返回 item。 隊列被修改。
  • isEmpty() 查看隊列是否為空。它不需要參數(shù),并返回布爾值。
  • size() 返回隊列中的項數(shù)。它不需要參數(shù),并返回一個整數(shù)。

2.隊列的python實現(xiàn)

#隊列類的定義 class Queue(object):def __init__(self):self.items = list()def enqueue(self, item):self.items.append(item)def dequeue(self):return self.items.pop(0)def isEmpty(self):return self.items == []def size(self):return len(self.items)

?3.實例應用

約瑟夫問題與熱土豆問題

約瑟夫問題原意:約瑟夫和他的朋友,與39個抵抗戰(zhàn)士,在失敗前約定41個人圍成一圈,從1數(shù)到3,數(shù)到3的人就自殺,然后從自殺者下一個位置開始重新數(shù),直到全部。約瑟夫需要找兩個位置,讓他和自己的朋友,成為最后兩個人活下來。

熱土豆問題:6個小朋友,圍成一圈,用一個熱土豆(或別的什么東西),數(shù)一個數(shù)就拋給下一個人,每數(shù)到3,手上有土豆的人就站出來,然后繼續(xù),問哪個位置的人最后剩下?

#hotpotato def hotPotato(namelist, num):queue = Queue()for name in namelist:queue.enqueue(name)while queue.size() > 1:for i in range(num):queue.enqueue(queue.dequeue())queue.dequeue()return queue.dequeue() print(hotPotato(["Bill","David","Susan","Jane","Kent","Brad"],7))

其他線性數(shù)據(jù)結(jié)構(gòu):

棧:https://blog.csdn.net/qq_18888869/article/details/88086002

deque:https://blog.csdn.net/qq_18888869/article/details/88137237

列表(鏈表):https://blog.csdn.net/qq_18888869/article/details/88138785

github代碼:https://github.com/makang101/python-data-structure

總結(jié)

以上是生活随笔為你收集整理的数据结构:线性数据结构(2)-队列(栈,队列,deques, 列表)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。