我使用這個網站作爲一個資源 http://www.perlmonks.org/?node_id=573138與認識2 for循環
我想了解關於O符號,它給搜索兩個數組的相同元素的兩個例子。第一個例子的O(n^2)和第二個例子一樣,但是第二個例子有一個增強,所以它運行得更快,但仍然保持相同的O符號,我將粘貼下面的代碼示例。我想知道的是他們是如何工作的,我掌握的編程知識有限,在java中最舒服,我可以理解第一個我認爲的,只有兩個for循環和檢查,類似;
for (int i = 0; i < arrarysize ; i++){
for (int j = 0; j < arraysize; j++){
if(getElementFromArray(i).equals(getElementFromArray(j))){
//do something
}
}
}
但第二個作品是如何超越我,我只是不明白的「增強」的可能(i, j)
值的矩形而言
for my $i (0 .. $#array) {
for my $j (0 .. $#array) {
next if $j == $i;
# Compare $i, $j
}
}
for my $i (0 .. $#array - 1) {
for my $j ($i + 1 .. $#array) {
# Compare $i, $j
}
}
如果你的資源是PerlMonks和代碼的Perl爲什麼這個標籤的Java「? – pavium 2010-01-06 10:15:56
如何用perl標記這個問題,因爲它顯然是你正在處理的perl。 – adamse 2010-01-06 10:20:03
現在修復了。 – GaryF 2010-01-06 10:20:20