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;
}
//插入
void insert(unsigned i) {
dataStructure[i] = 1;
}
//删除
void delete(unsigned i) {
dataStructure[i] = 0;
}
//搜索
bool 搜索(unsigned i) {
return dataStructure[i];
}热门推荐
10 小红书平安祝福语简短
11 生日祝福语大全女孩简短
12 收生日红包祝福语 简短
13 领证幽默祝福语简短
14 法考面试祝福语简短
15 老哥出门祝福语简短语
16 送灯祝福语简短独特
17 幼儿狗年祝福语大全简短
18 好听的元旦简短祝福语