最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

python堆排序算法实例代码

来源:懂视网 责编:小采 时间:2020-11-27 14:23:46
文档

python堆排序算法实例代码

python堆排序算法实例代码: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
推荐度:
导读python堆排序算法实例代码: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

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)

文档

python堆排序算法实例代码

python堆排序算法实例代码: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
推荐度:
标签: 代码 排序 示例
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top