1
這裏算法很新穎。我開始看普林斯頓的算法與數據結構上課的時候教授給這個代碼:算法:爲什麼我需要將一個數組元素重新分配給一個變量?
public void union(int p, int q){
int pid = id[p];
int qid = id[q];
for(int i = 0; i <id.length; i++){
if (id[i] = pid)
id[i] = qid;
}
他說,你需要先分配ID [P]爲PID。這是爲什麼?爲什麼你不能只使用id [p]?另外,我開始閱讀Introduction to Algorithms,並看到了插入排序的實現。我注意到,不是僅僅使用A [j],而是將它分配給'鑰匙'。這是出於與上述相同的原因嗎?謝謝!
INSERTION-SORT.A/
1 for j = 2 to A.length
2 key = A[j]
4 i = j - 1
5 while i>0 and A(i) > key{
6 A(i+1) = A(i)
7 i=i-1}
8 A[i+1] = key