演算法導論 第四節 快排及隨機化演算法

2021-08-15 21:04:29 字數 750 閱讀 1737

一. 快速排序

快速排序是分治法,在原來的資料區域進行重排, 節省記憶體 

1.分快速排序把資料劃成幾份,快速排序通過選取乙個關鍵資料,再根據它的大小,把原陣列分成兩個子陣列,第乙個陣列裡的數都比這個主元素要小,而另乙個陣列裡的數都大於或等於它,

2.治用遞迴來處理兩個子陣列的排序,然後合併

t(n)=θ(n)

快排的兩種實現:

package test;

public class test;

sort(arr,0,9);

for(int i=0;i=arr[l])

arr[h]=arr[l];

}arr[l]=povit;

sort(arr,low,l-1);

sort(arr,h+1,high);}}

}

package test;

public class test;

sort(arr,0,9);

for(int i=0;i}

public static void sort(int arr,int low,int high)

j++;

}int temp=arr[i];

arr[i]=arr[low];

arr[low]=temp;

sort(arr,low,i-1);

sort(arr,i+1,high);}}

}

ObjC第四節 繼承

繼 承 1 繼承 1.1 nsobject,根類,oc建立的類都繼承自根類,位於類層次結構的頂層,沒有父類 1.2 父類的例項變數和方法都可以被隱式的繼承過來成為子類的一部分,子類就可以直接訪問這些例項變數和方法 1.3 alloc和init是繼承自nsobject的方法 1.4 繼承的概念呈單鏈繼...

第四節 條件語句

if語句 if v 100else if v 50elseif語句不需要括號 用法高階 const filename abc.txt if contents,error ioutil.readfile filename error nilelse注意 contents和error變數都是在if 塊中...

Python基礎第四節

字典是 鍵值對 的無序可變序列,其中每個元素都是乙個 鍵值對 包含 鍵物件 和 值物件 就像可通過列表元素索引值獲取對應物件,我們可通過 鍵物件 獲取 刪除 更新其對應的值物件。鍵必須是不可變資料,如整數 浮點數 字串 元組,不能是字典 列表 集合等可變物件,鍵不可重複。若重複出現鍵,則後面的覆蓋前...