问题描述 记得刚学习数据结构的时候,就容易混淆二叉堆和二叉搜索树,其实虽说堆也是一种完全二叉树,但二者差别还是挺大的,本文试做分析。 逻辑结构 二叉堆和二叉搜索树都是结点带权重,并在父子结点间满足某种规则的数据结构。 二叉堆是一种完全二叉树,分大根堆、小根堆两种,子结点总是大于或小于父结点。 大根堆,顾名思义,根是最大的,每个子结点都要小于父结点,不区分左右儿子谁大谁小,也不必保证某个“孙子结点”一定要小于另一个“儿子结点”。 小根堆恰恰相反,根是最小的,每个子结点都要大于父结点,不区分左右儿子谁大谁小,也不必保证…