Convert a maximum heap to a binary search tree

Удостоверьтесь, что файловая система раздела, Вы хотите установить Linux, Ubuntu или Отслеживание в обратном порядке на ней, является ext4, ext3 или ext2, и не FAT32 или NTFS.

Затем монтируются / на нем:

  1. Во время процесса установки нажимают "изменение" на разделе, который Вы хотите использовать

  2. , Удостоверяются, "не используют этот раздел" прокрутка, не выбран, прокрутите к ext4, ext3 или ext2

  3. На полевой записи "монтирования" /

  4. Нажимают ОК, затем затем, сообщение будет казаться говорящим, что что-то как "область подкачки не было определено, Вы хотите продолжить или выбрать область подкачки?", нажмите "хорошо" и продолжите, или щелчок "возвращаются" и выбирают другой раздел и нажимают изменение, в файловой системе прокрутка выбирает "подкачку" и нажимает "хорошо", и затем

Это не решит и "корневой файловой системы, определяется" и сообщение "области подкачки", если Вы все еще добираетесь, сообщение области подкачки затем на шаге 4 монтируются /swap к разделу

17
задан templatetypedef 11 February 2011 в 08:32
поделиться

1 ответ

Пусть n = 2 m - 1. За линейное время мы можем как создать максимальную кучу, так и извлечь элементы двоичного дерева поиска в отсортированном порядке, поэтому лучшее, на что мы можем надеяться (предполагается, что алгоритмы, основанные на сравнении) - это O (n log n) времени и O (1) пространства. Вот такой алгоритм.

  1. Для j = n до 1, вытолкните элемент max из кучи j-элемента max и сохраните его в (недавно освобожденном) месте j. Это сортирует массив.

  2. Преобразование отсортированного массива в двоичное дерево поиска со стратегией «разделяй и властвуй». (Наивно это пространство Omega (log n), но я считаю, что мы можем сжать стек до O (1) log (n) -битных слов.)

    a. Treeify элементы меньше, чем корень.

    б. Древовидные элементы больше корня.

    с. Объедините деревья, повернув листья меньше, чем корень, в положение (= три переворота), чтобы оставить подзадачу в половину размера (O (n)).

    (08 04 12 02 06 10 14 01 03 05 07 09 11 13 15)16(24 20 28 18 22 26 30 17 19 21 23 25 27 29 31)

    (08 04 12 02 06 10 14)16(24 20 28 18 22 26 30)01 03 05 07 09 11 13 15 17 19 21 23 25 27 29 31

    (08 04 12)16(24 20 28)02 06 10 14 18 22 26 30 01 03 05 07 09 11 13 15 17 19 21 23 25 27 29 31

    (08)16(24)04 12 20 28 02 06 10 14 18 22 26 30 01 03 05 07 09 11 13 15 17 19 21 23 25 27 29 31

    16 08 24 04 12 20 28 02 06 10 14 18 22 26 30 01 03 05 07 09 11 13 15 17 19 21 23 25 27 29 31

2
ответ дан 30 November 2019 в 14:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: