我正在努力理解大O表示法。它似乎很抽象。我选择了最常见的数据结构 - 数组、哈希表、链式列表(单向和双向)和二叉搜索树,并对最常见的操作 - 插入和搜索 - 猜测了一下它们的大O表示法。这是为面试做准备。我只需要学习基础知识,而不是读整本算法书,虽然这样做是理想的。下面的表格有效吗?
Data Structure Big O Search Big O Insert
Array O(1) O(n)
Hash O(1) O(1)
Single Linked List O(n) O(1)
Double Linked List O(n) O(1)
Tree O(log n) O(log n)