首頁 > 後端開發 > C++ > 主體

一個包含n個元素且具有O(1)操作的資料結構?

WBOY
發布: 2023-08-29 18:53:11
轉載
1001 人瀏覽過

一個包含n個元素且具有O(1)操作的資料結構?

在這裡,我們將看到一個包含 n 個元素的資料結構和 O(1) 運算。因此,操作將花費恆定的時間來執行。

資料結構將保存 n 個元素(從 0 到 n-1)。數據可以按任何順序。插入、刪除和搜尋將花費 O(1) 時間。

為了解決這個問題,我們將使用一個布林數組。這將表示該項目是否存在於位置 i。如果該項存在,則為 1,否則為 0。

演算法

初始化(n)

begin
   fill all elements of the Boolean array as 0
end
登入後複製

插入(i)

begin
   set element at index i as 1(true)
end
登入後複製

刪除(i)

begin
set element at index i as 0(false)
end
登入後複製

搜尋(i)

begin
   return item at position i
end
登入後複製

範例

//initialization
void init(int n) {
   bool dataStructure[n];
   for (int i = 0; i<n; i++)
      dataStructure[i] = 0;
}
//Insertion
void insert(unsigned i) {
   dataStructure[i] = 1;
}
//Deletion
void delete(unsigned i) {
   dataStructure[i] = 0;
}
//Search
bool search(unsigned i) {
   return dataStructure[i];
}
登入後複製

以上是一個包含n個元素且具有O(1)操作的資料結構?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板