Давайте начнем с примера из повседневной жизни, предположим, что вам нужно переместиться из точки А, скажем, с городской площади в точку Б, например, из Университета Макерере. Есть много способов сделать это: Вызвать убер, Взять безопасную боду или такси, Взять обычную боду, Взять такси, Сесть на пионерский автобус, Пройти пешком и другие. Ваш выбор средств, вероятно, будет зависеть от времени, стоимости или даже удобства. Давайте изучим два из этих средств.

  1. Обычная бода-бода — остановите движущуюся боду, направляющуюся в вашем направлении, или подойдите к ближайшей остановке бода-боды и купите себе такую, сообщите водителю о пункте назначения и цене, торгуйтесь, если вам нужно, а затем отправляйтесь.
  2. Пионерский автобус –пройдите до ближайшей остановки пионерского автобуса (конечно, те, которые идут в направлении пункта назначения), получите билет, войдите в автобус, подождите, пока он полностью не заполнится, а затем отправляемся.

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

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

Считайте это нашим входным массивом:

[222,5,0,7,43,99,1,65]

которые мы хотим отсортировать, чтобы получить новый список

[0,1,5,7,43,65,99,222]

Существует ряд различных алгоритмов сортировки, которые мы могли бы использовать. Примеры включают пузырьковую сортировку, быструю сортировку и сортировку слиянием. Все они фактически сортируют данные, но уникальны по-разному, выбор алгоритма будет зависеть от времени, размера, вычислительной сложности и т. д. списка.

Мы также можем отсортировать этот список, используя метод python sort(). Вот:

lista = [222,5,0,7,43,99,1,65]
lista.sort()
print(lista)

Запуск приведенного выше фрагмента кода даст нам желаемый результат:

[0,1,5,7,43,65,99,222]

Если вам интересно, что такое массив или список, то это просто структуры данных. Структуры данных — это формат для организации и хранения данных (для эффективного выполнения операций). Таким образом, метод sort() был вызван списком или данными типа list. Другие примеры включают строку, целое число/целое число, словарь/словарь и число с плавающей запятой.

Если бы я хотел выполнить некоторые арифметические вычисления, я бы сосредоточился на числовых типах данных, таких как целые числа и числа с плавающей запятой, потому что они подходят для моих вычислений. Если бы я хотел фиксировать имена людей в качестве входных данных, я бы сохранил их в виде строковых данных.

Мы рассмотрели алгоритмы — наш способ сообщить компьютеру, что и как делать, и структуры данных — форматы организации и хранения данных. Алгоритмы используют данные, хранящиеся в некотором формате, т. е. структуры данных.