首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按此顺序将键2 4 5 1 3 6插入堆中。画出结果

按此顺序将键2 4 5 1 3 6插入堆中。画出结果
EN

Stack Overflow用户
提问于 2016-04-17 20:30:50
回答 1查看 77关注 0票数 0

我正在使用堆,我不确定这是否是正确的类别张贴这个问题,但问题是:

按该顺序将键2 4 5 1 3 6插入堆中。绘制结果.

我画了堆(我附上了图像),但我不确定我是否根据问题正确地画了它。

在这里画堆

EN

回答 1

Stack Overflow用户

发布于 2016-08-12 17:06:19

不确定你的形象是否正确。让我们在输入项时构建堆。

当你插入2时,它就变成了根。添加4将使4的根和2必须进入左边的子树,以满足形状属性。所以你有你的数组,[4, 2]

现在,将5添加到数组的末尾,并将其泡起来。这就导致了[5, 4, 2]。添加1将为您提供[5, 4, 2, 1]。该树表示是:

代码语言:javascript
复制
        5
    /       \
   4         2
  /
 1

现在,当您添加3时,您将得到[5, 4, 2, 1, 3]。3的父母是4,所以没有必要把它泡起来,你可以得到:

代码语言:javascript
复制
        5
     /     \
    4       2
   / \
  1   3

最后,将6添加到数组中并获取[5, 4, 2, 1, 3, 6]。你得把6升起来。6的父级为2,因此,在第一次将其鼓起时,您将得到[5, 4, 6, 1, 3, 2],而再次冒泡则会给您[6, 4, 5, 1, 3, 2]。树的表示是:

代码语言:javascript
复制
        6
     /     \
    4       5
   / \     /
  1   3   2
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36681881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档