Рубрики
Без рубрики

Понимание Сортировки прядей в Python На примере

Python Strand sort-это алгоритм сортировки, который является рекурсивным по своей природе. Его наихудшая временная сложность равна O(n2), а наилучший случай-O(n)

Автор оригинала: Team Python Pool.

Понимание Сортировки прядей в Python На примере

Сортировка означает упорядочивание элементов определенным образом. Strand sort-это алгоритм сортировки, который является рекурсивным по своей природе. Он в основном используется для сортировки списка в порядке возрастания. В этой статье мы узнаем, как реализовать strand sort в python.

Алгоритм сортировки прядей в Python:

  1. Возьмите два списка: input[], output[]
  2. Возьмите другой список sub[] и переместите в него первый элемент input[]
  3. Теперь пройдитесь по входному списку[]
  4. Мы проверим каждый элемент input[] и сравним, больше ли он последнего вставленного элемента в sub[]. Если это правда, то мы добавим этот элемент в sub[]; в противном случае сохраните его во входных данных[]
  5. Теперь мы объединим sub[] в вывод[]
  6. Описанные выше два шага будут продолжаться до тех пор, пока все элементы input[] не окажутся в output[]

Исходный код для сортировки прядей:

def strand_sort(inp):
 (inp)
  while len(inp):
   (output, strand(inp))
  return output
  
  
def strand(inp):
  element,, [inp.pop(0)]
  while element < len(inp):
    if inp[element] > sub[-1]:
      sub.append(inp.pop(element))
    else:
      element
  return sub
 
def merge(a, b):
  output = []
  while len(a) and len(b):
    if a[0] < b[0]:
      output.append(a.pop(0))
    else:
      output.append(b.pop(0))
  output
  output
  return output
 
inputs = [9,2,0,4,1,8,2,3,7]
print("Input List:")
print(inputs)
(inputs)
print("Output List:")
print(output)

Объяснение:

функция strand_sort ():

  • Эта функция принимает список в в качестве параметра
  • В выходном списке он вызывает функцию strand (), передавая мимо параметра
  • Затем реализуется цикл while, который используется для слияния многожильного списка с выходным списком.
  • Цикл while продолжается до тех пор, пока входной список не опустеет
  • Наконец, выходной список возвращается в качестве конечного результата

<функция strong ():

  • Эта функция также принимает список в в качестве параметра.
  • Две переменные, одно целое число, называемое элементом, инициализируется равным 0. Другая переменная списка sub инициализируется первым элементом входного списка
  • Цикл while используется для итерации по списку inp.
  • На каждой итерации элемент списка inp сравнивается с последним добавленным элементом подсписка
  • если элемент списка inp больше, он переносится в подсписок. В противном случае он игнорируется
  • Наконец, возвращается подсписок

функция < strong>merge ():

  • Эта функция принимает список a и b (которые должны быть объединены) в качестве параметров
  • Используется цикл while, который повторяется до тех пор, пока любой из списков не станет пустым
  • Внутри цикла сравниваются элементы как a, так и b, и меньший из них добавляется в выходной список
  • После выхода из цикла while любой оставшийся элемент в списке a или b добавляется в выходной список
  • Затем возвращается выходной список

Выход:

Это результат, который будет получен при выполнении предоставленной сортировки прядей в python
Это результат, который будет получен при выполнении предоставленной сортировки прядей в python

Сортировка прядей в Python

Временная сложность:

  • Лучший случай: O(n)
  • Средний случай: O(n2)
  • Наихудший случай: O(n2)

Преимущества использования сортировки прядей:

  • Это более эффективно, чем алгоритм сортировки выбора
  • Коэффициент промаха кэша для сортировки по цепочке меньше, чем для сортировки по оболочке

Недостатки использования сортировки прядей:

  • Он не так эффективен в производительности, как быстрая сортировка или сортировка слиянием
  • Он имеет сложный алгоритм

Сортировка Прядей Углубленное Учебное Видео

Ссылка на видеоурок href=”https://youtu.be/6F-ZguSqZ0Y”>Нажмите Здесь. href=”https://youtu.be/6F-ZguSqZ0Y”>Нажмите Здесь.

Должен Читать

  • Сортировка вставки в Python [Программа, алгоритм, Пример]
  • Понимание Python Bubble Sort с примерами
  • Алгоритм сортировки оболочки и программа на Python

Вывод:

Именно так можно легко выполнить сортировку прядей по списку в python. Наихудшая временная сложность сортировки прядей равна O(n2), а наилучшая временная сложность – O(n). Реализация такого рода должна осуществляться в соответствии с потребностями и ограничениями и, очевидно, в соответствии с личными предпочтениями человека.

Однако, если у вас есть какие-либо сомнения или вопросы, дайте мне знать в разделе комментариев ниже. Я постараюсь помочь вам как можно скорее.

Счастливого Пифонирования!