Вопросы с тегом «sorting»

алгоритмическая задача упорядочения множества элементов относительно некоторого отношения упорядочения.

3
Практическое применение Radix Sort
Radix sort теоретически очень быстр, когда вы знаете, что ключи находятся в определенном ограниченном диапазоне, скажем, например, значений в диапазоне . Если вы просто конвертируете значения в базу что занимает время , выполните сортировку по основанию и затем преобразуйте обратно в исходную базу для общего алгоритма .NNn[ 0 … nК- …

3
Какой алгоритм сортировки в постоянном пространстве наиболее эффективен?
Я ищу алгоритм сортировки для массивов int, который не выделяет ни одного байта, кроме размера массива, и ограничен двумя инструкциями: SWAP: поменять следующий индекс на текущий; MOVE: перемещает курсор к индексу +1 или -1; То есть вы не можете поменять местами не соседние индексы и не поменять местами 100после того, …

3
Детерминированный алгоритм линейного времени, чтобы проверить, является ли один массив отсортированной версией другого
Рассмотрим следующую проблему: Вход: два массива AAA и BBB длиной nnn , где BBB в отсортированном порядке. Запрос: делать и B содержат одни и те же элементы (с учетом кратности)?AAABBB Какой самый быстрый детерминированный алгоритм для этой проблемы? Можно ли решить это быстрее, чем отсортировать их? Можно ли решить эту …

2
Сортировать массив из 5 целых чисел с максимумом 7 сравнений
Как отсортировать список из 5 целых чисел, чтобы в худшем случае потребовалось 7 сравнений? Мне все равно, сколько других операций выполняется. Я не знаю ничего конкретного о целых числах. Я пробовал несколько разных подходов «разделяй и властвуй», которые сводят меня к 8 сравнениям, например, следуя подходу сортировки слиянием или комбинируя …

4
Почему рандомизированная быстрая сортировка имеет O (n log n) наихудших затрат времени выполнения
Рандомизированная быстрая сортировка - это расширение быстрой сортировки, в котором элемент поворота выбирается случайным образом. Что может быть наихудшим случаем временной сложности этого алгоритма. По моему мнению, это должно быть , так как наихудший случай случается, когда случайно выбранный круг выбирается в отсортированном или в обратном порядке. Но в некоторых …

2
В чем преимущество рандомизированной быстрой сортировки?
В своей книге Рандомизированных алгоритмы , Motwani и Raghavan открыть введение с описанием их функции RandQS - Рандомизированная - где быстрой сортировкой стержень, используемый для разделения множества на две части, выбирается случайным образом . В течение некоторого времени я ломал свои мозги (по общему мнению, в недостаточной степени), но я …

4
Почему бы нам не использовать быструю сортировку в связанном списке?
Алгоритм быстрой сортировки можно разделить на следующие шаги Определить опору. Разделите связанный список на основе сводки. Разделите связанный список рекурсивно на 2 части. Теперь, если я всегда выбираю последний элемент как сводный, то для идентификации сводного элемента (1-й шаг) требуется O(n)O(n)\mathcal O(n) времени. После определения сводного элемента мы можем сохранить …

4
Quicksort объяснил детям
В прошлом году я читал фантастическую статью «Квантовая механика для детского сада» . Это была не простая бумага. Теперь мне интересно, как объяснить быструю сортировку простейшими словами. Как я могу доказать (или, по крайней мере, вручную), что средняя сложность равна , и каковы лучшие и худшие случаи для класса детского …

2
Эффективная вставка в список с минимальным количеством инверсий
Предположим, два списка сопоставимых предметов: и и с. Пусть INV (u) будет числом инверсий в u. Я ищу эффективный алгоритм для вставки элементов s в вас с минимальным увеличением INV (u). По сути, я хотел бы вставлять объекты в список, сохраняя его «как можно более отсортированным», сохраняя порядок первого списка. …

1
Можно ли проверить сортировку списка без сравнения соседей?
Список nnn элементов может быть проверен как отсортированный путем сравнения каждого элемента с его соседом. В моем приложении я не смогу сравнивать каждый элемент с его соседом: вместо этого сравнения иногда будут между удаленными элементами. Учитывая, что список содержит более трех элементов, а также то, что сравнение является единственной поддерживаемой …
14 sorting 

4
Требуется ли транзитивность для алгоритма сортировки
Можно ли использовать алгоритм сортировки с нетранзитивным сравнением, и если да, почему транзитивность указана в качестве требования для сортировки компараторов? Фон: Алгоритм сортировки обычно сортирует элементы списка в соответствии с функцией сравнения C (x, y), с C(x,y)=⎧⎩⎨−10+1if x≺yif x∼yif x≻yC(x,y)={−1if x≺y0if x∼y+1if x≻Y\begin{array}{ll} C(x,y) = \begin{cases} -1 & {\text{if}}\ x\prec …

1
Интересная проблема по сортировке
Дана трубка с пронумерованными шариками (случайно). Трубка имеет отверстия для удаления шарика. Рассмотрим следующие шаги для одной операции: Вы можете выбрать один или несколько шариков из отверстий и запомнить порядок, в котором вы выбрали шарики. Вам нужно наклонить трубу влево, чтобы оставшиеся шарики в трубе сместились влево и заняли пустое …

1
Ожидаемое количество свопов в пузырьковой сортировке
Учитывая массив из целых чисел, каждый элемент в массиве может быть увеличен на фиксированное число с некоторой вероятностью , . Я должен найти ожидаемое количество перестановок, которые будут иметь место для сортировки массива с помощью пузырьковой сортировки .AAANNNbbbp[i]p[i]p[i]0≤i&lt;n0≤i&lt;n0 \leq i < n Я пробовал следующее: Вероятность для элемента для может …

2
Можно ли избежать шага «разделяй» в слиянии?
Таким образом, сортировка слиянием - это алгоритм «разделяй и властвуй». Пока я смотрел на приведенную выше диаграмму, я думал, можно ли вообще обойти все этапы разделения. Если вы перебираете исходный массив при переходе на два, вы можете получить элементы по индексам i и i + 1 и поместить их в …

4
Оценка средней сложности времени данного алгоритма сортировки пузырьков.
Учитывая этот псевдокод пузырьковой сортировки: FOR i := 0 TO arraylength(list) STEP 1 switched := false FOR j := 0 TO arraylength(list)-(i+1) STEP 1 IF list[j] &gt; list[j + 1] THEN switch(list,j,j+1) switched := true ENDIF NEXT IF switched = false THEN break ENDIF NEXT Какие основные идеи я должен …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.