- 博客(1)
- 问答 (1)
- 收藏
- 关注
翻译 堆排序------python实现
一、准备知识 完全二叉树:每个节点的度最大为2 堆的结构可以分为大根堆和小根堆,是一个完全二叉树 大根堆:每个结点的值都大于其左孩子和右孩子结点的值 小根堆:每个结点的值都小于其左孩子和右孩子结点的值 已知索引为i的数,那么 1.父结点索引:(i-1)/2(这里计算机中的除以2,省略掉小数) 2.左孩子索引:2*i+1 3.右孩子索引:2*i+2 二、流程 若要从小到大排序,则用大根堆 首先将无序数组构造成一个大根堆 将第一个元素值与最后一个位置的值交换,并固定不再参与排序 将其余元素重新构造大根堆 重
2021-10-03 22:33:06 113
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人