Введение в массивы в структуре данных

Массив - это тип структуры данных, который используется для хранения однородных данных в смежных областях памяти. Это реализует идею хранить различные элементы так, чтобы к ним можно было получить доступ или получить к ним доступ сразу.

Здесь индекс относится к расположению элемента в массиве. Давайте представим, что P (L) - это имя массива, где «P» - это имя переменной, а «L» - длина массива, то есть количество элементов, присутствующих в массиве. Тогда P (i) представляет элемент в этой позиции i + 1 в массиве.

Например:

P (6) = 72 означает элемент в 6 + 1-ом месте массива.

Need of Array: помогает представлять большое количество элементов, используя одну переменную. Это также облегчает доступ к элементу для хранения в ячейке памяти, используя индекс массива, который представляет местоположение элемента в массиве.

Как работают массивы в структуре данных?

Массив хранит переменные в смежных местах и ​​дает им определенный индекс. Когда кто-то хочет получить данные, он использует этот индекс. В указанном выше массиве «P», скажем, базовый адрес для массива = 100, элементы сохраняются, как показано ниже:


Память, выделенная массиву, может быть рассчитана как:

  • One Dimensional Array: Общая память, выделенная для Array = Количество элементов * размер одного элемента. Например: В приведенном выше случае memory = 7 * (размер типа int)
  • Основной порядок строк: общий объем памяти, выделенный для двухмерного массива = количество элементов * размер одного элемента
    = Количество строк * количество столбцов * размер одного элемента
  • Основной порядок столбцов: общий объем памяти, выделенный для двумерного массива = количество элементов * размер одного элемента
    = Количество строк * количество столбцов * размер одного элемента

Как определить массивы?

Таким образом, массив может быть определен как производная структура данных для хранения однородных данных примитивного типа данных в смежных местах памяти. Ниже приведены операции, которые можно выполнять с массивами:

1. Вставка: это относится к вставке элемента в массив по определенному индексу. Это может быть выполнено с O (n) сложностью.

2. Удаление: это относится к удалению элемента по определенному индексу. Эта операция требует сдвига элементов после удаления, поэтому требует сложности O (n).

3. Поиск: это относится к доступу к элементу по определенному индексу массива.

4. Обход: относится к печати всех элементов массива один за другим.

Свойства массивов в структуре данных

Ниже приведены свойства массивов в структуре данных:

  • Это производный тип данных, составленный из коллекции различных примитивных типов данных, таких как int, char, float и т. Д.
  • Элементы массива хранятся в смежных блоках в первичной памяти.
  • Имя массива хранит базовый адрес массива. Он действует как указатель на блок памяти, где был сохранен первый элемент.
  • Индексы массива начинаются с 0 до N-1 в случае одноразмерного массива, где n представляет количество элементов в массиве.
  • Элементы массива могут состоять только из констант и литеральных значений.

Как создать массивы?

Мы можем создать массивы, используя следующий синтаксис:

1. Размерный массив: var = (c1, c2, c3, …… .cn)

Здесь var относится к переменной в массиве, которая хранит базовое местоположение массива. И c1, c2 … являются элементами массива.

Пример: int a = (4, 6, 7, 8, 9)

Длина массива = n

2. Многомерный массив: var = ((r 01, … r 0n ), (r 10, … ..r 1n )… .. (r m0 … .r mn ))

Здесь var относится к имени массива из m строк и n столбцов.

Как получить доступ к элементу массива?

Индексы массива начинаются с 0 до -1.0, что указывает на первый элемент массива, а -1 указывает на последний элемент массива. Аналогично, -2 указывает на последний, но один элемент массива. Допустим, есть массив «А», имеющий 10 элементов. Тогда здесь Переменная хранит ссылку на первую переменную массива, и это называется «Базовый адрес» массива. После этого, если кто-то хочет получить доступ к элементу массива, адрес этого элемента рассчитывается по формуле ниже.

Адрес i-го элемента = базовый адрес + i * размер каждого элемента

Здесь размер каждого элемента относится к памяти, занимаемой различными примитивными типами данных, которые содержит массив. Например, int занимает 2 байта пространства, а float занимает 4 байта пространства в C.

Доступ к многомерному массиву

Допустим, A (r l, …… .., r u ) (c u, ……, c l ) - многомерный массив, а rl, r u, c u, c l - нижняя и верхняя границы для строк и столбцов. Чем количество строк в A, скажем, NR = r u - r l +1 и Количество столбцов в A, скажем NC = c l - c u +1

Теперь для нахождения адреса элемента в массиве есть 2 метода:

  1. Row Major: где мы пересекаем ряд за рядом.

Адрес A (i) (j) = Базовый адрес + ((i - r l ) * NC + (j-c l )) * размер каждого элемента.

  1. Основной столбец: где мы пересекаем столбец за столбцом.

Адрес A (i) (j) = Базовый адрес + ((i - r l ) + (j-c l ) * NR) * размер каждого элемента.

Сложность: Доступ к любому элементу в массиве намного проще и может быть выполнен в сложности O (1).

Вывод

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

Рекомендуемая статья

Это руководство по массивам в структуре данных. Здесь мы обсудим, как создать и получить доступ к элементам массива в структуре данных вместе со свойствами. Вы также можете просмотреть другие наши статьи, чтобы узнать больше -

  1. Как создать массивы в PHP?
  2. Массивы в Java Преимущества и недостатки программирования
  3. Массивы в C Программирование (Примеры)
  4. 10 вопросов о структуре данных