堆--go语言自己实现以及go源码解析
堆通常是一种完全二叉树(二叉堆),分为大顶堆和小顶堆。大顶堆的性质是,堆中某个结点的值总是不大于父结点的值(表现形式就是树越往上越大,大在顶上,所以是大顶堆)。小顶堆相反。
完全二叉树的性质是:叶子结点只能出现在最下层和次下层,且最下层的叶子结点集中在树的左部。需要注意的是,满二叉树肯定是完全二叉树,而完全二叉树不一定是满二叉树。完全二叉树可以用数组来表示,树的根节点是数组下标为0处,父节点的左子节点下标在2父结点下标+1处,右节点下标在2父结点下标+2处。
满二叉树的性质是:除最后一层无任何子节点外,每
原创
2021-07-20 10:23:46 ·
425 阅读 ·
0 评论