0
현재 병합 정렬 기능을 수행하는 중입니다. 유일한 문제는 병합 정렬 함수가 재귀 적이며 완료 될 때마다 시간을 반환한다는 것입니다.재귀 함수의 시간을 조정하려면 어떻게해야합니까?
어떻게 해결할 수 있습니까?
def MergeSort(argShuffledList):
dblStart = time.clock()
if len(argShuffledList)>1:
intMidValue = len(argShuffledList)//2
listLeftHalf = argShuffledList[:intMidValue]
listRightHalf = argShuffledList[intMidValue:]
left_part = MergeSort(listLeftHalf)
right_part = MergeSort(listRightHalf)
i=0
j=0
k=0
while i < len(listLeftHalf) and j < len(listRightHalf):
if listLeftHalf[i] < listRightHalf[j]:
argShuffledList[k]=listLeftHalf[i]
i =i+1
else:
argShuffledList[k]=listRightHalf[j]
j=j+1
k=k+1
while i < len(listLeftHalf):
argShuffledList[k]=listLeftHalf[i]
i=i+1
k=k+1
while j < len(listRightHalf):
argShuffledList[k]=listRightHalf[j]
j=j+1
k=k+1
intTime = "%.2f" % ((time.clock() - dblStart) * 1000000)
message = "Elasped Time: " + str(intTime) + " microseconds"
print("Selection Sort: ", argShuffledList)
print(message, "\n")
왜 함수 내에 타이밍 코드가 있습니까? 전화하기 전과 귀국 한 후 시간을 기록하지 않는 이유는 무엇입니까? – Carcigenicate
@Carcigenicate 예, 정확하게. 게다가,'timeit' 모듈을 사용해야합니다. –