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

Учебный пузырь Сортировка для компьютерных наук GCSE и уровня

Узнайте об алгоритме пузырькового сорта для компьютерной науки GCSE и уровня. Включает в себя внедрение Python.

Автор оригинала: Robin Andrews.

Они говорят картина стоит тысячи слов, И это, вероятно, верно, если вы готовы понять картину! Когда это дело, мы часто испытываем те чудесные Ага моменты Там, где понимание происходит практически мгновенно, как будто кто-то включил свет в наш разум. Тем не менее, обычно есть много, что должно произойти за эти моменты.

Итак, как это связано с изучением пузырьковой сортировки компьютерной науки для GCSE и уровня? Ну, момент в том, что понимание часто требует времени для развития. По-видимому, может произойти внезапно, но обычно есть много «роста корня», которое должно произойти первым.

То, что я написал здесь, как правило, применимо для изучения любой сложной концепции в информатике, но для того, чтобы обеспечить фокус, я рассмотрю определенную тему: Сортировка пузыря Отказ Алгоритм сортировки пузыря Известен среди студентов компьютерных наук как на GCSE, так и на уровне. Хотя это не большой алгоритм с точки зрения эффективности (для тех, кто знает об этих вещах, Bubble Sort имеет худший и среднюю сложность о (n²)) , у него есть заслуга быть вполне интуитивно понятными и достаточно легко понимать с небольшим усилием студентов.

На самом деле есть два уровня понимания, которые могут потребоваться для этого алгоритма:

  • Понимание алгоритма вопросов в стиле GCSE о состоянии списка элементов после определенного количества проходов
  • Понимание того, как реализовать алгоритм в языке программирования

Здесь мы сосредоточимся на понимании алгоритма без учета реализации. Для студентов, которые хотят решить аспект кодирования, я предоставил Python реализация позже. Важно отметить, что для этого алгоритма будет очень сложно написать код, если вы не понимаете, если вы полностью сначала, вдали от экрана компьютера,

Как научиться сортировку пузыря для компьютерных наук GCSE и уровня

Вот возможный порядок событий для эффективного изучения того, как работает алгоритм Bubble Sort и возможности ответить на вопросы экзамена GCSE на нем:

  1. Смотреть Эта анимация Отказ Замежьте его, ускорите его, почувствуйте, что почувствуйте поток алгоритма высокого уровня алгоритма
  2. Читать или слушать объяснение того, как это работает
  3. Следуйте вместе с физическими объектами, такими как карты, если это возможно. Сделайте это для нескольких примеров.
  4. На бумаге или лучше еще доску ( Mini Whiteboards очень полезны для студентов на любом уровне). работать через несколько примеров
  5. Следите за анимацией снова, на этот раз обращая внимание на все детали
  6. Дайте понять. Если это не так, вернитесь к 1
  7. Делать много вопросов практики

Пример алгоритма сортировки пузырьков

Сортируйте список номеров 66 21 38 15 89 49 используя пузырь.

Первый проход:

  • 66 21 38 15 89 49 Сравните 66 и 21, поменяйте их
  • 21 66 38 15 89 49 Сравните 66 и 38, поменяйте их
  • 21 38 66 15 89 49 Сравните 66 и 15, поменяйте их
  • 21 38 15 66 89 49 Сравнить 66 и 89, не свопь
  • 21 38 15 66 89 49 Сравнить 89 и 49, поменяйте их
  • 21 38 15 66 49 90 Конец первого прохода

  • Конец второго прохода: 21 15 38 49 66 89

  • Конец третьего прохода: 15 21 38 49 66 89

  • В четвертом проходе нет свопов, поэтому мы можем быть уверены, что список отсортирован. (Подумайте, почему, если это не сразу очевидно.)

Стоит отметить, что на экзамене можно ожидать, что вы должны дать состояние списка после целый проход или после определенного количества свопов в пределах Один проход И вы должны проверить, чтобы убедиться, что вы отвечаете на точный вопрос, который вы задавали.

С точки зрения фотографий – VS-слов, если мы возьмем «слова», чтобы означать все мышление, пытаясь, писать и т. Д., Которые и т. Д. картина и т. Д. Может быть лучшим способом достижения истинного понимания.

Пузырь Сортировка в Python для компьютерных наук GCSE и уровня

Вот реализация Python Bubble Side, которую вы можете найти полезным. Процесс полностью Гроккинг Фактический код для алгоритмов включает в себя некоторые другие шаги, на которых мы рассмотрим в будущей статье. Многое из того, что я написал выше, все еще будет применить там тоже.

"""Bubble Sort Algorithm"""

values = [66, 21, 38, 15, 89, 49]


def bubble_sort(arr):
    """
    Returns a list sorted in ascending order. We are assuming an integer list as input 
    """
    for passnum in range(len(arr) - 1):
        for i in range(len(arr) - 1 - passnum):
            if arr[i] > arr[i + 1]:
                temp = arr[i + 1]
                arr[i + 1] = arr[i]
                arr[i] = temp
            print(
                "After Pass " + str(passnum + 1) + ", inner loop " + str(i + 1) + ":",
                arr,
            )
    return arr


print(bubble_sort(values))

Python Реализация Алгоритм сортировки пузыря Выше не допускается ранним выходом после того, как полный проход сделан без свопов, поэтому его эффективность может быть улучшена. Почему бы не пойти на это изменение для себя и опубликовать ваше решение в комментариях?

Счастливые вычисления!