В настоящее время очень легко научиться программировать, но почти каждый онлайн-класс пропускает основы программирования, которые представляют собой структуру данных и алгоритмы того, как компьютер вычисляет или понимает ваш код. Тем не менее, я надеюсь, что эта статья будет полезной :)

Что такое структура данных?

  • Определение — организация данных, управление и формат хранения обеспечивают эффективный доступ и изменение. Другими словами, структура данных — это способ хранения данных на компьютере.

Структура данных массива — набор элементов одного типа, размещенных в смежных областях памяти, на которые можно ссылаться по отдельности, используя индекс для уникального идентификатора.

int numbers[4] = { 10, 20, 30, 40 };

Начните с абстрактного типа данных:
абстрактные типы данных — это объекты, которые являются определениями данных и операций, но не имеют деталей реализации. Мы разделили перспективу этого массива целых чисел на 2 точки зрения: абстрактное представление и представление реализации.

С точки зрения абстрактного представления:
— хранить набор элементов типа int
— читать элементы по позиции. например, index
- изменить элементы по индексу
- выполнить сортировку

С точки зрения реализации:

int numbers[4] = {10, 20, 30, 40};
cout << arr[1];  //access index
arr[2] = 10;     // modify index
// sorting operation is one of Algorithms technique

Что такое алгоритм

  • Определение — конечный набор инструкций, которые несут в себе порядок выполнения конкретной задачи. Алгоритм имеет следующие характеристики
    - Входы
    - Выходы
    - Однозначность — четкие и простые инструкции.
    - Конечность — ограниченное количество инструкций.
    - Эффективность — воздействие на процесс.

для примера алгоритма
- объявить переменные
- прочитать значения переменных
- добавить числа a и b, затем присвоить результат переменной sum
- отобразить результат, который это "сумма"

var a, b, sum;
a = 5;
b = 10;
sum = a + b;
cout << sum << endl;
15

Кроме того, большинство алгоритмов основаны на математике. Если вы хорошо разбираетесь в математике, вы оптимизируете некоторые алгоритмы и найдёте алгоритмы с наилучшей производительностью из этих базовых вещей.