数据结构&算法复杂度

时间:2015-04-17 19:52:28

标签: java algorithm data-structures complexity-theory

我正在读考试,我似乎无法理解数据结构和算法复杂性即我知道链表有insertgetdelete方法实现,但我无法理解的是0(n)0(1)
我知道n表示列表大小,1表示线性,但我不理解0O。如果你能解释复杂性是什么以及它是如何工作的,我将不胜感激。所以,如果你能帮助我。谢谢。

1 个答案:

答案 0 :(得分:1)

O(n)或O(1)代表复杂性的顺序。 例如,如果要搜索长度为n的数组中的元素,并且您正在使用线性搜索(意味着逐个从第一个元素开始搜索),那么显然搜索时间取决于数组的大小。因此线性搜索具有O(n)复杂度。 而采用在hashmap中搜索的示例。在散列映射中,插入和搜索是基于散列算法完成的。搜索所花费的每个搜索时间的均值将不依赖于散列映射的大小,但是将是散列算法所花费的恒定时间。所以这将是O(1)的复杂性。 希望这有助于理解。