我給出的功課Introduction to Algorithms鍛鍊11.1-3
肚裏如下:實現直接地址表
建議如何落實其中存儲的元素的按鍵並不需要是不同的直接訪問表並且元素可以具有衛星數據。所有三種字典操作(插入,刪除和搜索)應該在O(1)時間內運行。不要忘記,Delete將一個指向要刪除的對象的指針作爲參數,而不是一個鍵。
那麼,插入是沒有問題的,因爲它只是意味着在表中適當的位置創建一個鏈表(如果它尚不存在)並添加元素。 Search被賦予一個鍵,可以返回任何與鍵匹配的元素,因此它意味着我們需要返回表中匹配列表的頭部。
我的問題是刪除操作。如果我修改對象來添加一個指向其鏈接列表中節點的指針,那麼我可以在O(1)中刪除,但我不確定我是否允許更改該對象。有沒有辦法做到這一點,而不改變給定的對象?
+1用於發佈作業問題並披露並顯示您已嘗試過某些東西。歡迎來到SO – JoshJordan 2010-01-03 19:28:02
標準的香草鏈接列表不會給你O(1)的搜索性能。 – 2010-01-03 19:29:02
@GregS - 我說過我可以用匹配鍵返回任何元素,這意味着我可以返回列表的頭部,這是O(1)。 – 2010-01-03 19:55:37