簡體   English   中英

驗證涉及 LinkedList 的 3 個循環的 Big-O<string></string>

[英]Verifying Big-O for 3 Loops involving LinkedList<String>

在大約 7 小時內進行一次考試,並在我們的教練給我們的練習考試中提出這個問題。 我在算法分析方面很可怕,因為我還沒有足夠的練習,而且導師也沒有解釋得很好。

下面是問題,每個問題的右側是我認為循環的順序。 以下是我選擇訂單的原因:

a.) 每次調用 get() 時,必須從列表的前面或后面開始搜索(因為 LinkedList 是雙鏈表。我們並沒有真正討論 LinkedList,我們只創建了自己的 DLL和 SLL,所以我對 LinkedList 的熟悉程度並不是那么好)。

b.) 對 hasNext 的調用是 O(1) 並且在 while 循環內僅將迭代器從其當前位置推進(不必每次都從前面開始)。 因此,它只橫穿列表一次。

c。)與 b 相同,因為 for-each 循環的工作方式與 b 中的代碼的工作方式完全相同。 循環

無論如何,希望有人可以為我確認這些,如果它們不正確,請告訴我原因。

謝謝你。

他們是正確的。! 原因和你提到的一樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM