March 1, 2012
Python으로 작성한 Max-Heapify
Computer / 컴퓨터Programming / 프로그래밍파이썬으로 작성한 Max-Heapify의 코드다. 의사코드는 Introduction to Algorithms라는 MIT Press에서 나온 교재에서 참조했다. #!/usr/bin/python # -*- coding: UTF-8 -*- def MaxHeapify(A, i): i = i-1 # List start from 0 l = (i*2)+1 if len(A) > (i*2)+1: r = (i*2)+2 if A[l] <= len(A) and A[l] > A[i]: largest = l else: largest = i if A[r] <= len(A) and A[r] > A[largest]: largest = r if not largest == i: A[i], A[largest] = A[largest], A[i] MaxHeapify(A, (largest+1)) # Because i = i-1 return A A = [27, 17, 3, […]
Recent Comments