📅  最后修改于: 2023-12-03 15:42:12.279000             🧑  作者: Mango
这是GATE计算机科学考试2019年的第2个问题,要求考生解决实现一个特定数据结构的问题。下面介绍具体内容。
设计并实现一个数据结构 $CardDeck$,满足以下操作:
需要实现的 $CardDeck$ 数据结构应该满足如下复杂度要求:
可以使用一个数组保存牌组中每张卡片的编号,$shuffle$ 操作就是随机交换数组中的元素;$draw$ 操作就是从数组最后一个位置取出元素并更新数组的大小;$top$ 操作就是返回数组的最后一个元素即可。
具体实现代码如下:
import random
class CardDeck:
def __init__(self, n):
self.deck = list(range(n))
def shuffle(self):
random.shuffle(self.deck)
def draw(self):
return self.deck.pop()
def top(self):
return self.deck[-1]
本题考察了考生对数据结构的理解和操作能力,需要考生具备一定的编程能力和算法基础。