赞
踩
经朋友推荐,在b站看正月点灯笼讲解的堆排序。感觉讲的不错。小计总结。
堆heap:
堆的结构是完全二叉树:
从上到下,从左往右。父节点值>子节点;
heapify(形成堆结构排序):父节点与最大子节点交换,形成堆的结构;从h-1层(倒数第二层)
逻辑公式表示:
int arr[] = {10,5,8,3…};
节点:i=3;
P=(i-1)/2;
c1=2i+1;
c2=2i+2;
代码:
//数组交换;
void swap(int arr[],int i,int j){
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
//从上往下heapify(形成堆结构排序);
void heapify(int tree[],int n,int i){
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。