我正在根据股票市场计划实施链接列表。
它具有和操作 - 购买
购买代码是
//Stocks is a linked List like so
//LinkedList<Integer> stocks = new LinkedList<Integer>();
public void buy(int q, int p) {
stocks.addLast(q); //add number of stocks
stocks.addLast(p); //for i stocks i +1 = price of stock
}
此操作 addLast 用于链接列表,显然将给定元素添加到当前列表末尾的新位置。
因此,例如,如果我有一个列表,其中包含以下数据
//Stock, price, stock, price etc...
[100, 50, 5000, 30, 8000, 60]
如果 IaddLast
是链表搜索最后一个元素,然后添加,则时间复杂度将为 O(n)(仅就 Big Oh 而言)。或者它是索引到列表的末尾,意识到列表的末尾是说stocks[5]
然后在列表的末尾插入一个引用新数据的新节点?
所以我的问题是,addLast()
链表的时间复杂度是 O(n) 还是 O(1)?
在下面发布任何澄清