私は、株式市場プログラムに関してリンク リストを実装しています。
動作あり・購入
購入のコードは
//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) のリンクされたリストの時間の複雑さの操作ですか?
説明のために以下に投稿してください