小编Jim*_*Jim的帖子

链接列表的操作时间复杂度

我正在实施股票市场计划的关联清单.

它有和操作 - 买

对于购买代码是

//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
}
Run Code Online (Sandbox Code Playgroud)

此操作addLast用于链接列表,显然将给定元素添加到当前列表末尾的新位置.

因此,例如,如果我有一个列表,让我们说下面的数据

//Stock, price, stock, price etc...
[100, 50, 5000, 30, 8000, 60]
Run Code Online (Sandbox Code Playgroud)

如果我addLast是最后一个元素的链接列表搜索然后添加,因此时间复杂度将是O(n)(仅就Big Oh而言).或者它是否索引到列表的末尾,意识到列表的末尾是说stocks[5]然后插入引用列表末尾的新数据的新节点?

所以我的问题是,addLast()操作链表时间复杂度为O(n)还是O(1)?

发布以下任何说明

java linked-list

6
推荐指数
1
解决办法
2万
查看次数

字典条目数组的数据结构

我正在寻找java中的一种本机方式(最好)来实现一个数据结构来保存一个int作为键和一组键/值对作为值。本质上,if 是一个由索引引用的字典数组。

前任:

MyDataStructure[[Key,Value]] foo = new ...

foo.put[["hello", "world"], ["so","rocks"]]
Run Code Online (Sandbox Code Playgroud)

println(foo[0].getValue("hello"))会打印出来"world"println(foo[0].getValue("so"))打印出来"rocks"

java

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

java ×2

linked-list ×1