从上数据结构课开始,便逐步接触线性表,堆,栈,队列,串,数组,树,图。   其中,堆和树,图了解的不是很深刻。  另外虽然上完了课,但是感觉对整个数据结构的理解依然是十分的模糊的。

   因此这篇记录下堆,这个听了很多遍的结构。(java中的堆区,内存堆等等)。

   接着进入正题。

数据结构之‘堆’

基本的堆结构,很普通。线性的,也是通过操作方式体现它自身的特性感觉。跟队列,栈,差不多。

数据结构之‘堆’

这个层面的二叉树,跟上一个练习的二分查找树是不一样的。  一个是通过指针实现,一个是通过数组实现。

数据结构之‘堆’

数据结构之‘堆’

数据结构之‘堆’

这个最大堆有这样一些性质,根节点总是大于叶节点。   跟二分搜索树是不一样的。

数据结构之‘堆’

数据结构之‘堆’

数据结构之‘堆’

数据结构之‘堆’

通过shiftdown 与 extractMax共同实现上述的效果。

数据结构之‘堆’

数据结构之‘堆’

   堆排序,这里是通过数组实现。

数据结构之‘堆’

数据结构之‘堆’

数据结构之‘堆’

堆练习的内容已经比较多了,遂新开一篇记录一下比较重要的索引堆吧。

相关文章:

  • 2021-08-05
  • 2021-06-30
  • 2022-01-23
  • 2021-06-11
  • 2021-08-17
猜你喜欢
  • 2021-12-02
  • 2021-11-29
  • 2021-11-22
相关资源
相似解决方案