如何创建堆?

假设我有一个堆,如下所示:

     77
    /  \
   /    \
  50    60
 / \    / \
22 30  44 55

现在,我想在此堆中插入另一个项目55。

如何执行此操作?

选项1。

         77
        /  \
       /    \
      55    60
     / \    / \
    50 30  44 55
   /
  22

]选项2。

     77
    /  \
   /    \
  55    60
 / \    / \
22 50  44 55
     \
     30

选项3。

     77
    /  \
   /    \
  50    60
 / \    / \
22 30  55 55
      /
     44

哪个步骤正确? 和为什么? 请解释。

8
задан MK. 26 June 2011 в 04:02
поделиться