파이썬으로 작성한 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, 16, 13, 10, 1, 5, 7, 12, 4, 8, 9, 0]

print MaxHeapify(A, 3) # Let a heap start from 1. So, 3 = A[2]