Выполнение теста сортировки слиянием на месте в Python с объявлением переменныхPython

Программы на Python
Ответить
Anonymous
 Выполнение теста сортировки слиянием на месте в Python с объявлением переменных

Сообщение Anonymous »

Я пытаюсь выполнить ту же сортировку слиянием на месте, начиная с n=2,4,...2^16. Я сделал то же самое для сортировки вставкой, и программа работает, но мои параметры сортировки слиянием на месте значительно усложняют задачу. Я не объявлял «массив, низкий, средний, высокий», такой как: низкий, средний, высокий = 0, len(массив)//2, len(массив). Тест также вычисляет время каждой итерации и выводит общее количество итераций.
Моя ошибка возникает в точке merge_sort(array_to_sort), где говорится, что моя переменная не была объявлена. Мой вопрос: в какой момент я объявляю свой низкий, средний, высокий и массив? Как бы я это сделал, объявив об этом? Если кто-то сможет воссоздать это, реализовав эту одну часть, я буду признателен, спасибо. Вот мой код:
import random
import time
from random import randint

def merge_sort(array, low, mid, high):

i,j,k = low,mid+1,low
leftarray = array[low:mid+1]
rightarray = array[mid+1:high+1]

temp= [0]*high

while i
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»