Разлика између Арраи и Повезане листе

Аутор: Laura McKinney
Датум Стварања: 3 Април 2021
Ажурирати Датум: 4 Може 2024
Anonim
Напишите на лавровом листе одно слово, работа придет через 48 часов
Видео: Напишите на лавровом листе одно слово, работа придет через 48 часов

Садржај


Главна разлика између Арраи и Повезана листа с обзиром на њихову структуру. Низови су базиран на индексу структура података у којој је сваки елемент повезан са индексом. С друге стране, везана листа се ослања референце при чему се сваки чвор састоји од података и референци на претходни и наредни елемент.

У основи, низ је скуп сличних података података похрањених у секвенцијалним меморијским локацијама под заједничким насловом или именом варијабле.

Док је повезана листа структура података која садржи низ елемената у којима је сваки елемент повезан са својим наредним елементом. Постоје два поља у елементу повезане листе. Једно је поље Подаци, а друго поље везе, Поље података садржи стварну вредност која се похрањује и обрађује. Надаље, поље везе садржи адресу сљедеће јединице података у повезаној листи. Адреса која се користи за приступ одређеном чвору позната је као показивач.

Још једна значајна разлика између матрице и повезане листе је да Арраи има фиксну величину и мора се претходно декларисати, али Повезана листа није ограничена на величину и проширује се и уговара током извршења.


  1. Упоредни графикон
  2. Дефиниција
  3. Кључне разлике
  4. Закључак

Упоредни графикон

Основе за упоређивањеАрраиПовезана листа
ОсновниТо је конзистентан скуп фиксног броја података.То је наручени скуп који садржи варијабилни број података.
ВеличинаНаведено током декларације.Нема потребе да се прецизира; расте и смањује се током извођења.
Додјела складиштења Локација елемента се додељује током компајлирања.Положај елемента је додељен за време извођења.
Редослед елемената Чува се узастопно Чува се насумично
Приступање елементуДиректан или случајним приступом, тј. Одредите индекс матрице или претпис.Приступ секвенцијално, тј. Кретање полазећи од првог чвора на листи по показивачу.
Уметање и брисање елементаУспорите релативно колико је потребно пребацивање.Лакше, брже и ефикасније.
У потрази Бинарна претрага и линеарна претрагалинеарна претрага
Потребна је меморијамање Више
Употреба меморијеНеефикасноЕфикасно


Дефиниција Арраи-а

Низ је дефиниран као скуп одређеног броја хомогених елемената или података. То значи да низ може садржавати само једну врсту података, било да су сви цели бројеви, сви бројеви с помичним зарезом или сви знакови. Декларација низа је сљедећа:
инт а;
Гдје инт специфицира тип података или елементе типа, похрањује се низ података. "А" је назив матрице, а број наведен унутар углатих заграда је број елемената које матрица може да похрани, а такође се назива величина или дужина матрице.

Погледајмо неке од концепата којих се треба запамтити у вези с низовима:

  • Појединим елементима матрице може се приступити описом имена матрице, а затим индексом или подписом (одређивањем локације елемента у пољу) унутар квадратних заграда. На пример, да би пронашли пети елемент матрице, морамо написати изјаву а.
  • У сваком случају, елементи матрице ће се чувати на узастопној меморијској локацији.
  • Први елемент матрице има индекс нулу. То значи да ће први и последњи елемент бити наведени као а, односно респективно.
  • Број елемената који се могу похранити у низ, тј. Величина низа или његова дужина дају се сљедећом једнаџбом:
    (горња граница-доња граница) + 1
    За горњи низ то би било (9-0) + 1 = 10. Где је 0 доња граница матрице, а 9 је горња граница матрице.
  • Низови се могу читати или писати кроз петљу. Ако читамо једнодимензионални низ, потребна је једна петља за читање, а друга за писање (инг) матрице, на пример:
    а. За читање низа
    за (и = 0; и <= 9; и ++)
    {сцанф ("% д", & а); }
    б. За писање низа
    за (и = 0; и <= 9; и ++)
    {ф ("% д", а); }
  • У случају дводимензионалне матрице, требаће јој две петље, а слично н-димензионалном пољу ће бити потребно и пет петљи.

Операције изведене на низовима су:

  1. Стварање низа
  2. Путовање низом
  3. Уметање нових елемената
  4. Брисање потребних елемената.
  5. Модификација елемента.
  6. Спајање низова

Пример

Следећи програм илуструје читање и писање низа.

#инцлуде
#инцлуде
воид маин ()
{
инт а, и;
ф ("Унесите низ");
за (и = 0; и <= 9; и ++)
{
сцанф ("% д", & а);
}
ф ("Унесите низ");
за (и = 0; и <= 9; и ++)
{
ф ("% д н", а);
}
гетцх ();
}

Дефиниција повезане листе

Повезана листа је посебна листа неких елемената података повезаних један са другим. У овом случају сваки елемент упућује на следећи елемент који представља логички поредак. Сваки елемент назива се чвор који има два дијела.

ИНФО део који чува информације и ПОИНТЕР који упућује на следећи елемент. Као што знате за складиштење адресе, имамо јединствену структуру података у Ц званој показивачи. Дакле, друго поље листе мора бити тип показивача.

Врсте повезаних листа су појединачно повезане листе, двоструко повезане листе, кружне повезане листе, кружне двоструко повезане листе.

Операције изведене на повезаном списку су:

  1. Стварање
  2. Путовање
  3. Инсертион
  4. Брисање
  5. У потрази
  6. Спајање
  7. Приказ

Пример

Следећи исјечак илуструје стварање повезане листе:

струцт ноде
{
инт нум;
стуцт чвор * нект;
}
старт = НУЛЛ;
воид цреате ()
{
типедеф струцт ноде НОДЕ;
НОДЕ * п, * к;
избор избора;
фирст = НУЛЛ;
урадите
{
п = (НОДЕ *) маллоц (сизеоф (НОДЕ));
ф ("Унесите ставку података н");
сцанф ("% д", & п -> број);
иф (п == НУЛЛ)
{
к = старт;
док је (к -> следећи! = НУЛЛ)
{к = к -> следећи
}
п -> следећи = к -> следећи;
к -> = п;
}
друго
{
п -> следећи = почетак;
старт = п;
}
ф ("Да ли желите наставити (упишите и или н)? н");
сцанф ("% ц", & избор);
}
вхиле ((избор == и) || (избор == И));
}

  1. Низ је структура података која садржи збирку податковних елемената сличног типа док се Линкед лист сматра непримитивном структуром података садржи колекцију неуређених повезаних елемената познатих као чворови.
  2. У низу елементи припадају индексима, тј. Ако желите ући у четврти елемент, морате уписати назив варијабле са њеним индексом или локацијом унутар квадратног заграда.
    На повезаној листи ипак морате кренути од главе и радити кроз пут све док не дођете до четвртог елемента.
  3. Иако је приступ низу елемената брзо, док Повезана листа траје линеарно вријеме, тако да је прилично спорија.
  4. Операције попут уметања и брисања у низовима изискују много времена. С друге стране, перформансе ових операција на повезаним листама су брзе.
  5. Низови су фиксне величине. Супротно томе, повезане листе су динамичне и флексибилне и могу проширити и уговарати своју величину.
  6. У низу се меморија додељује током компајлирања, док се на повезаном списку додељује током извођења или времена извођења.
  7. Елементи се чувају узастопно у низовима док се насумично смештају у повезане листе.
  8. Потреба за меморијом је мања због стварних података који се чувају у индексу у низу. Насупрот томе, потребно је више меморије у повезаним списковима због складиштења додатних наредних и претходних референцијских елемената.
  9. Поред тога, употреба меморије је неефикасна у низу. Супротно томе, коришћење меморије је ефикасно у низу.

Закључак

Низ и повезане листе су врсте структура података које се разликују по својој структури, методама приступа и манипулације, захтевима меморије и употреби. И имају посебну предност и недостатак у односу на његово спровођење. Сходно томе, било који се може користити према потреби.