【发布时间】:2013-09-08 00:36:39
【问题描述】:
我正在根据股票市场计划实施链接列表。
它有和操作 - 购买
购买代码是
//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]
如果我addLast 是链接列表搜索最后一个元素然后添加,因此时间复杂度将为 O(n)(仅就 Big Oh 而言)。还是索引到列表的末尾,意识到列表的末尾是stocks[5],然后在列表的末尾插入一个引用新数据的新节点?
所以我的问题是,addLast() 操作是否适用于 O(n) 或 O(1) 的链表时间复杂度?
在下面发布任何澄清
【问题讨论】:
-
除了它不是 getLast 是吗?^^
标签: java linked-list