Ваш вводный курс по массивам, стекам, очередям, связанным спискам, деревьям и многому другому.
Когда-нибудь в начале нашей карьеры программиста мы все сталкиваемся с барьером под названием «структуры данных». Нравится нам это или нет, но нам нужно твердое понимание структур данных, чтобы сдать что-либо, от базового курса информатики в старшей школе до продвинутого технического собеседования в компании FAANG. Я здесь, чтобы помочь вам обрести это понимание с помощью небольшого псевдокода. Итак, здесь ничего нет: Структуры данных 101: Часть 1, Массивы.
Что такое структура данных?
Прежде чем мы начнем, что такое структура данных? Ну, как следует из названия,структура данных — это просто способ хранения данных, чтобы их можно было обрабатывать, редактировать и извлекать. Достаточно просто.
Структура данных 1: Массив
Что такое массив?
Массив является одним из примеров структуры данных. Вы можете думать об этом как о списке значений, организованных в виде таблицы.
Вот некоторые примеры:
Существуют определенные правила, определяющие все массивы.
- Во-первых, все массивы должны содержать только один тип данных.
Это означает, что массив может содержать все строки или все целые числа, но не одновременно строки и целые числа. Таким образом, показанный ниже массив недействителен.
2. Во-вторых, в каждой ячейке массива может быть только один элемент данных.
Показанный ниже массив недействителен, так как нарушает это правило.
Как получить доступ к данным в массиве?
Каждый элемент данных в допустимом массиве имеет собственный индекс массива, который сообщает нам его позицию в массиве. Например, в нашем массиве имен мы присваиваем индексы массива каждому элементу данных следующим образом:
Вы заметите, что мы начинаем считать индексы массива с 0. Таким образом, в приведенном выше примере индексы массива говорят нам, что элемент данных «Алиса» является первым элементом в нашем массиве, поскольку «Алиса» присваивается индексу 0, тогда как «Синди» — третья, так как «Синди» присвоен индекс 2.
Итак, если мы хотим вызвать элемент данных n в массиве с именем ARRAY, мы можем сделать это, вызвав ARRAY[n-1], где n-1 — это индекс элемента данных n.
Каковы основные методы, использующие массивы?
Как только мы объявим действительный массив, как мы делаем ниже в псевдокоде, мы можем выполнять над ним множество методов (или операций).
//Declaring the array of names NAMES = [Alice, Bob, Cindy, Dave, Eugen]
Одним из таких методов будет добавление еще одного элемента в конец массива.
Предположим, что массив имен на самом деле был списком студентов, зачисленных в класс информатики, и к ним присоединилась новая девушка, Фей. Мы бы добавили ее в массив, реализуя метод push() следующим образом:
NAMES.push("Fei") //Notice here that the argument of the .append() method is the data item we wish to add. The array we wish to add the data item to appears is written immediately before the function.
Это добавит ее в конец массива. Теперь наш массив выглядит так:
Обратите внимание, что в некоторых реальных языках программирования, таких как Python, метод append() используется с тем же эффектом, что и push().
Теперь предположим, что Боб по какой-то причине решает бросить занятия по информатике. Чтобы удалить его из массива, мы можем использовать метод pop() и установить аргумент, равный индексной позиции Боба:
NAMES.pop(1) //The argument of pop() is 1, because "Bob" is the second data item and therefore is in index position 1.
После применения метода pop() наш массив изменится на следующий:
Методы push() и pop() — это, пожалуй, два самых распространенных метода, но существует множество других методов, которые могут оказаться полезными. Вот полезная ссылка, если вам интересно узнать о них:
Резюме структуры данных 1: массив
Массив — это структура данных, в которой элементы данных одного типа хранятся в виде списка. Каждому элементу данных назначается собственная позиция индекса. Чтобы добавить элемент данных в конец массива, мы можем использовать метод push(). Чтобы удалить элемент данных из любой позиции индекса, мы можем использовать метод pop().
Чтобы перейти к следующей части Data Structures 101, перейдите по следующей ссылке: