Сортировка: различия между версиями

Материал из Энциклопедия вычислительного мышлении
Перейти к навигации Перейти к поиску
Строка 1: Строка 1:
 
{{Понятие
 
{{Понятие
 
|Description=Процесс упорядочивания элементов в списке
 
|Description=Процесс упорядочивания элементов в списке
[[Алгоритм]] для упорядочивания элементов в списке.
+
[[Алгоритм]] для упорядочивания [[элемент]]ов в [[список|списке]].
 
|FieldActivity=Computational Thinker
 
|FieldActivity=Computational Thinker
 
|Возрастная категория=10
 
|Возрастная категория=10
|Examples=# Сортировка пузырьком — для каждой пары индексов производится обмен, если элементы расположены не по порядку.  
+
|Examples=# Сортировка пузырьком — для каждой пары индексов производится обмен, если [[элемент]]ы расположены не по порядку.  
# Сортировка вставками (англ. Insertion sort) определяем, где текущий элемент должен находиться в упорядоченном списке, и вставляем его туда.
+
# Сортировка вставками (англ. Insertion sort) определяем, где текущий [[элемент]] должен находиться в упорядоченном списке, и вставляем его туда.
 
}}
 
}}
 
=== Сортировка пузырьком ===
 
=== Сортировка пузырьком ===
Алгоритм состоит из повторяющихся проходов по сортируемому массиву. За каждый проход элементы последовательно сравниваются попарно и, если порядок в паре неверный, выполняется обмен элементов. Проходы по [[массив]]у повторяются }N-1 раз или до тех пор, пока на очередном проходе не окажется, что обмены больше не нужны, что означает — [[массив]] отсортирован. При каждом проходе [[алгоритм]]а по внутреннему [[цикл]]у, очередной наибольший элемент массива ставится на своё место в конце массива рядом с предыдущим «наибольшим элементом», а наименьший [[элемент]] перемещается на одну позицию к началу [[массив]]а («всплывает» до нужной позиции, как пузырёк в воде — отсюда и название алгоритма).
+
Алгоритм состоит из повторяющихся проходов по сортируемому [[массив]]у. За каждый проход элементы последовательно сравниваются попарно и, если порядок в паре неверный, выполняется обмен элементов. Проходы по [[массив]]у повторяются }N-1 раз или до тех пор, пока на очередном проходе не окажется, что обмены больше не нужны, что означает — [[массив]] отсортирован. При каждом проходе [[алгоритм]]а по внутреннему [[цикл]]у, очередной наибольший элемент массива ставится на своё место в конце массива рядом с предыдущим «наибольшим элементом», а наименьший [[элемент]] перемещается на одну позицию к началу [[массив]]а («всплывает» до нужной позиции, как пузырёк в воде — отсюда и название алгоритма).
  
 
<scratchblocks>
 
<scratchblocks>

Версия 09:47, 10 октября 2019

Описание [[Description::Процесс упорядочивания элементов в списке

Алгоритм для упорядочивания элементов в списке.]]

Область знаний
Область использования (ISTE) Computational Thinker
Возрастная категория 10
Примеры реализации «E# Сортировка пузырьком — для каждой пары индексов производится обменamples» содержит запрещённый символ «#» и, следовательно, отмечено, как недопустимое., [[Eесли элементы расположены не по порядку.
  1. Сортировка вставками (англ. Insertion sort) определяемamples::если элементы расположены не по порядку.
  2. Сортировка вставками (англ. Insertion sort) определяем]], [[Eгде текущий элемент должен находиться в упорядоченном спискеamples::где текущий элемент должен находиться в упорядоченном списке]], Использование цепочки свойств «Eи вставляем его туда.amples» недопустимо в семантической аннотации.
Авторы
Поясняющее видео
Близкие понятия
Среды и средства для освоения понятия

Сортировка пузырьком

Алгоритм состоит из повторяющихся проходов по сортируемому массиву. За каждый проход элементы последовательно сравниваются попарно и, если порядок в паре неверный, выполняется обмен элементов. Проходы по массиву повторяются }N-1 раз или до тех пор, пока на очередном проходе не окажется, что обмены больше не нужны, что означает — массив отсортирован. При каждом проходе алгоритма по внутреннему циклу, очередной наибольший элемент массива ставится на своё место в конце массива рядом с предыдущим «наибольшим элементом», а наименьший элемент перемещается на одну позицию к началу массива («всплывает» до нужной позиции, как пузырёк в воде — отсюда и название алгоритма).

when green flag clicked
set [pass v] to [0]
set [swaps v] to [0]
repeat until <<(pass) > [0]> and <(swaps) = [0]>>
  set [item v] to [0]
  change [pass v] by (1)
  set [swaps v] to [0]
  repeat ((length of [data v]) - (1))
    change [item v] by (1)
    if <(item ((item) + (1)) of [data v]) < (item (item) of [data v])> then
      set [value v] to (item ((item) + (1)) of [data v])
      replace item ((item) + (1)) of [data v] with (item (item) of [data v])
      replace item (item) of [data v] with (value)
      change [swaps v] by (1)
    end
  end
end


Пояснение алгоритма сортировки пузырьком (YouTube)

Ошибка в виджете YouTube: unable to write file /var/www/html/w/extensions/Widgets/compiled_templates/wrt667f8153163e38_17480675

Сортировка вставками

when green flag clicked
set [item v] to [2]
repeat until <(length of [data v]) < (item)>
  set [insert location v] to ((item) - (1))
  repeat until <<(item (insert location) of [data v]) < (item (item) of [data v])> or <(insert location) < [1]>>
    change [insert location v] by (-1)
  end
  insert (item (item) of [data v]) at ((insert location) + (1)) of [data v]
  delete ((item) + (1)) of [data v]
  change [item v] by (1)
end