Въведение в масиви в структурата на данните
Масивът е вид структура от данни, която се използва за съхраняване на хомогенни данни в съседни места на паметта. Това реализира идеята да се съхраняват различните елементи, така че да могат да бъдат извлечени или достъпни в един момент.
Тук индексът се отнася до местоположението на елемент в масива. Нека си представим дали 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.
Сега за намиране на адреса на елемент в масива има два метода:
- Ред на майор: Където пресичаме ред по ред.
Адрес на A (i) (j) = Базов адрес + ((i - r l ) * NC + (j- c l )) * размер на всеки елемент.
- Основна колона: където пресичаме колона по колона.
Адрес на A (i) (j) = Базов адрес + ((i - r l ) + (j- c l ) * NR) * размер на всеки елемент.
Сложност: Достъпът до всеки елемент от масива е много по-лесен и може да се направи в сложност O (1).
заключение
Масивите са много уникален начин да се структурират съхранените данни така, че да могат лесно да бъдат достъпни и да могат да бъдат проверени, за да се получи стойността на определен номер, като се използва стойността на индекса. Въпреки че вмъкването на елемент в масива отнема много време, тъй като се нуждае от цялостно пренареждане и изместване на съществуващите елементи от масива. Все пак той се използва за реализиране на различни други сложни структури от данни като дърво, опашка или стек и също се използва в различни алгоритми.
Препоръчителен член
Това е ръководство за масиви в структурата на данните. Тук обсъждаме как да създадете и да получите достъп до елементи на масив в структурата на данните, заедно със Properties. Можете също да прегледате и другите ни свързани статии, за да научите повече -
- Как да създадете масиви в PHP?
- Масиви в програмирането на Java Предимства и недостатъци
- Масиви в C програмиране (примери)
- Топ 10 въпроса за интервю за структурата на данните