文件名称:Algorithms:该存储库用于演示我的算法设计技能
文件大小:2KB
文件格式:ZIP
更新时间:2024-04-16 04:54:30
JupyterNotebook
演算法 该存储库用于演示我的算法设计技能。 -----排序算法------ 合并排序:最坏情况下的时间复杂度theta(nlogn) 正确性证明 循环不变式:在每次迭代开始时,子数组A [p ... k-1]包含kp个L和R的最小元素,按排序顺序……而L [i]和R [j]包含其数组中没有的最小元素被插入到A的排序子数组中 初始化: K = P,因此A [p:K-1]的子数组为空,因此进行了排序。 维护:在从k到r的每次迭代中(A具有p:r个元素),我们从L [i]或R [j]到A [k]插入最小的元素,并将(i)或(j)递增1。因此,所得的A [p:k]子数组将保持排序。 终止:函数将在k = r + 1时终止,因此将对A [p:r]的数组进行排序。 代码: def merge(arr,start,half,end): n1 = half-start+1 n2 =
【文件预览】:
Algorithms-main
----README.md(2KB)
----merge_sort (1).ipynb(3KB)