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

Масивът е вид структура от данни, която се използва за съхраняване на хомогенни данни в съседни места на паметта. Това реализира идеята да се съхраняват различните елементи, така че да могат да бъдат извлечени или достъпни в един момент.

Тук индексът се отнася до местоположението на елемент в масива. Нека си представим дали P (L) е името на масива, където 'P' е името на променливата и 'L' е дължината на масива, т.е. броя на елементите, присъстващи в масива. Тогава P (i) представлява елемента в тази 'i + 1' позиция в масива.

Например:

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

Необходимост от масив: Той помага да се представи голям брой елементи, като се използва една променлива. Освен това прави достъпа до елемента по-бърз за запазване в паметта, като се използва индексът на масива, който представлява местоположението на елемента в масива.

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

Array съхранява променливите на съседни места и им дава определен индекс. Когато някой иска да получи данните, той използва този индекс. В горепосочения масив 'P', кажете базовия адрес за масив = 100, тогава елементите се съхраняват, както е показано по-долу:


Паметта, разпределена на масив, може да се изчисли като:

  • Един измерен масив: Обща памет, разпределена на масив = Брой елементи * размер на един елемент.Например: В горния случай, памет = 7 * (размер на int)
  • Ред основен ред: Обща памет, разпределена на 2D масив = Брой елементи * размер на един елемент
    = Брой редове * Брой колони * Размер на един елемент
  • Основен ред на колоната: Обща памет, разпределена на 2D масив = Брой елементи * размер на един елемент
    = Брой редове * Брой колони * Размер на един елемент

Как да дефинираме масиви?

По този начин Array може да бъде дефинирана като производна структура на данни, която да съхранява еднородни данни от примитивен тип данни в съседни места на паметта. По-долу са операциите, които могат да се извършват на масиви:

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 показва последния, но един елемент от масива. Да речем, има масив „A“, който има 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.

Сега за намиране на адреса на елемент в масива има два метода:

  1. Ред на майор: Където пресичаме ред по ред.

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

  1. Основна колона: където пресичаме колона по колона.

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

Сложност: Достъпът до всеки елемент от масива е много по-лесен и може да се направи в сложност O (1).

заключение

Масивите са много уникален начин да се структурират съхранените данни така, че да могат лесно да бъдат достъпни и да могат да бъдат проверени, за да се получи стойността на определен номер, като се използва стойността на индекса. Въпреки че вмъкването на елемент в масива отнема много време, тъй като се нуждае от цялостно пренареждане и изместване на съществуващите елементи от масива. Все пак той се използва за реализиране на различни други сложни структури от данни като дърво, опашка или стек и също се използва в различни алгоритми.

Препоръчителен член

Това е ръководство за масиви в структурата на данните. Тук обсъждаме как да създадете и да получите достъп до елементи на масив в структурата на данните, заедно със Properties. Можете също да прегледате и другите ни свързани статии, за да научите повече -

  1. Как да създадете масиви в PHP?
  2. Масиви в програмирането на Java Предимства и недостатъци
  3. Масиви в C програмиране (примери)
  4. Топ 10 въпроса за интервю за структурата на данните