python 정렬 알고리즘 코드 구현
 
  
#!/usr/bin/python 
  
import sys 
  
 
  
def left_child(node): 
  
return node * 2 + 1 
  
 
  
def right_child(node): 
  
return node * 2 + 2 
  
 
  
def parent(node): 
  
if (node % 2): 
  
return (i - 1) / 2 
  
else: 
  
return (i - 2) / 2 
  
 
  
def max_heapify(array, i, heap_size): 
  
l = left_child(i) 
  
r = right_child(i) 
  
 
  
largest = i 
  
if l < heap_size and array[l] > array[i]: 
  
largest = l 
  
 
  
if r < heap_size and array[r] > array[largest]: 
  
largest = r 
  
 
  
if largest != i: 
  
array[i], array[largest] = array[largest], array[i] 
  
max_heapify(array, largest, heap_size) 
  
 
  
def build_max_heap(array): 
  
for i in range(len(array) / 2, -1, -1): 
  
max_heapify(array, i, len(array)) 
  
 
  
 
  
def heap_sort(array): 
  
build_max_heap(array) 
  
for i in range(len(array) - 1, 0, -1): 
  
array[0], array[i] = array[i], array[0] 
  
max_heapify(array, 0, i) 
  
 
  
 
  
if __name__ == "__main__": 
  
array = [0, 2, 6, 98, 34, -5, 23, 11, 89, 100, 7] 
  
heap_sort(array) 
  
 
  
for a in array: 
  
sys.stdout.write("%d " % a) 
  
 
 이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.