今天用python寫了個簡單的merge sort程式,結果就是出錯,找了好久沒找到問題,**如下:
a=[1,3,9,
2,6,
5,4,
7,8,
10]
defmerge(p,q,r):
n1 = q - p + 1
n2 = r - q
l =
r =
fori in(
0,n1):
forj in(
0,n2):
"merge:"
,l,r
) )
k = p
i = 0
; j = 0
while
k <= r:
ifl[i] <= r[j]:
a[k] = l[i]
i = i + 1
else
: a[k] = r[j]
j = j + 1
k = k + 1
defmerge_sort(p,r):
ifp < r:
q = (p + r)/2
merge_sort(p,q)
merge_sort(q+1
,r)
merge(p,q,r)
merge_sort(0,9
a 我在紙上算了很久,不該有錯啊,但是就是不對。不知道python怎麼除錯,還專門找了些python除錯的東西,例如乙個簡單的python除錯工具pdb, 還沒等怎麼除錯的,找到問題了。
原來是for i in (0,n1),我的本意是for(i=0; i < n1; i++),也就是要用for i in range(0,n1),沒有加range,後果就是i=0,i=n1,唉,找了很久才找到這個蛋疼的錯誤。
蛋疼的遞迴
幾個經典的遞迴場景 1.斐波那契 2.二叉樹的周遊 深度 前中後序 3.全排列問題 非簡單的全排列 允許字母重複 4.尋找滿足條件的n個數 第乙個的變種 跳台階 題目 乙個台階總共有n 級,如果一次可以跳1 級,也可以跳 2 級。求總共有多少總跳法,並分析演算法的時間複雜度。第二個要複習下非遞迴的寫...
令人蛋疼的ByteArray
最近做的乙個專案需要上傳比較多的到伺服器,伺服器限制大小是2m,在專案中,的大小都是有控制的,為100k 在互動中,返回給我 http status 413 上傳實體過大,超過伺服器大小。這讓我很糾結,我傳給伺服器的是二進位製流 bytearray 然後想當然的去計算,上傳的在10張以內,每張大小都...
dwr的蛋疼問題
最近在使用dwr,與之前相比 除了讓人非常蛋疼的問題,先描述如下 第乙個問題是伺服器向客戶端推送的時候,1 browser.withcurrentpage new runnable 13 使用該方法推送給當前的session使用,可是我之前測試總是在全部推送完畢後,才在頁面做接收,也就是看不到 一條...