Структуре података и алгоритми Ц ++

Структуре података и алгоритми Ц ++ - значи сређивање или организовање елемената на одређени начин. Кад кажемо да морамо средити елементе, ти елементи се могу организовати у различитим облицима. На пример, чарапе се могу сложити на различите начине. Можете је држати у свом ормару сав збркан. Или је можете уредно савити. Најбољи начин је савијање и слагање у боји. Дакле, за претрагу одређеног пара чарапа, трећи распоред је савршен.

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

Структуре података и алгоритми Ц ++:

Логички или математички модел одређене организације података.

ИЛИ

То је посебан начин организовања података у рачунару тако да се могу користити.

Слично као и чарапе; доступна је различита организација структура података и алгоритама листе Ц ++ -

  1. Арраи
  2. Повезана листа
  3. Гомила
  4. Ред чекања
  5. Дрво
  6. Графикон
  7. Хасх Табле
  8. Гомила
  9. Рецордс
  10. Столови

Ове структуре података и алгоритми Ц ++ су веома важни током програмирања. Добар програмер увек даје нагласак на структуру података, а не на код. Сваки програмски језик ради на различитим структурама података и алгоритам у Ц ++. Структуре података које су доступне у Ц ++ су следеће.

  1. Арраи
  2. Повезана листа
  3. Гомила
  4. Ред чекања
  5. Дрво
  6. Графикон
  7. Хасх Табле
  8. Гомила

Хајде да разговарамо о овом један по један:

# 1 Арраи

Низ је најједноставнији тип структуре података и алгоритама Ц ++. Низ је дефиниран као секвенцијална збирка елемената података исте врсте података Фиксне величине. Нпр. А0 = 12, а1 = 21, а2 = 14, а3 = 15… .Можемо представити једнодимензионални низ као што је приказано на слици:

Где

0, 1, 2, 3… ..н зове се претписни индекс или индекс

а (1), а (2), … а (н) се назива подписна варијабла

Може бити једнодимензионална, дводимензионална, тродимензионална итд. Вишедимензионална.

У меморији се складиште у непрекидне меморијске локације.

Најнижа адреса одговара првом елементу

Највиша адреса одговара последњем елементу

Можемо декларисати 1-Д (једнодимензионални) низ у Ц ++ на следећи начин

датаТипе арраиНаме (арраиСизе);

Нпр. Број (5);

Иницијализација Арраи у Ц ++

нум = (23, 10, 12, 3, 6);

Можемо комбиновати декларацију и иницијализацију у једну изјаву на следећи начин.

инт нум = (23, 10, 12, 3, 6);

Када желимо да динамички доделимо величину низа, тада би требало да поставимо новог оператера на следећи начин

инт * а = нови инт (величина);

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

# 2 Повезана листа

Листа се односи на линеарну колекцију предмета. Повезана листа је низ повезаних чворова (елемент података) као што је приказано на слици 3. Глава чвора упућује на први чвор листе, а последњи чвор на НУЛЛ означен са Ӕ. Како сваки чвор садржи најмање.

  1. Комад података (било које врсте)
  2. Покажите на следећи чвор на листи

Повезана листа представљена је у меморији помоћу два низа. Један низ похрањује информације које се називају информације које су подаци које треба похранити, а други похрањује поље сљедећег показивача звано ЛИНК које је адреса сљедећег чвора.

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

И низ и повезана листа представљају листу објеката у меморији. Важна разлика је у начину на који су предмети повезани. Главно ограничење матрице је уметање елемената у низ и брисање елемената из нареденог низа је тешко јер се преостали елементи морају померати. Стављање и брисање елемената са повезане листе врло су једноставно.

Напомена: Постаните Ц ++ програмер
Научите да дизајнирате и прилагодите програме за различите платформе. Код, тестирање, уклањање погрешака и имплементацију софтверских апликација. Развити вештине како би се обезбедило неометан рад апликација.

Врсте повезане листе су:

1. Појединачно повезана листа : садржи само једно повезано поље које садржи адресу следећег чвора на листи и податке који су поднети и који садрже информације које се морају похранити.

2. Једна кружна повезана листа је само једна листа, али последњи чвор листе садржи адресу првог чвора уместо нулл. То је садржај главе и следеће поље последњег чвора исти.

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

4. Двострука кружна везана листа је двоструко повезана листа, али следеће поље последњег чвора садржи адресу првог чвора уместо нулл-а.

Препоручени курсеви

  • Курс на ВБ.НЕТ
  • Обука за програмирање научних података
  • Онлине ИСТКБ курс
  • Кали Линук курс за обуку

Имплементација повезане листе у Ц ++ укључује стварање чвора, брисање чвора са листе, убацивање новоствореног чвора у листу и претраживање чвора одређеним кључем.

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

Уметање чвора у листу укључује три случаја

1. Уметање чвора на почетку значи уметање новоствореног чвора као почетног чвора. За уметање чвора на почетку прво сте креирали нови чвор и направили нову точку на стари старт, а затим ажурирали старт да бисте указали на нови чвор као што је приказано на доњој слици:

Код за уметање чвора на почетку:

2. Уметање чвора на реп значи уметање новоствореног чвора као последњег чвора. За уметање чвора као репног чвора потребно је креирати нови чвор и направити стару задњу точку на нови чвор, а затим ажурирати реп да би указао на нови чвор.

3. Уметање чвора у одређену позицију укључује стварање новог темп чвора, а затим морате пронаћи положај уметања новоствореног чвора.

Код за уметање чвора на датој позицији:

Брисање чвора са листе укључује уклањање чвора са постојеће листе. Брисање чвора са листе веза је једноставно него уметање чвора у листу. У Ц ++ коду за брисање чвора дан је на следећи начин:

Прелазак чвора одређеним кључем (вредност) са листе тражиће чвор са листе чији ће се подаци подударати с кључем одређеног чвора. Следећи Ц ++ код прећи ће листу. структуре података и алгоритми Ц ++

# 3 Стацк

Корак је листа елемената у које се елемент може уметнути или избрисати само на једном крају, а зове се врх снопа. Размотримо пример куле из Ханоја. Овде када морамо да убацимо диск, морамо га уметнути само одозго, а слично уклањање диска врши се само одозго.

Стацк користи ЛИФО принцип значи да ради у редоследу Ласт ин Фирст Оут. То је последњи елемент који је додан у стог је први елемент за уклањање. Дакле, постоје четири основне операције које се могу извести на хрпи:

  • Исемпти: Овом операцијом се види да ли је свезак празан.
  • Пусх : Ова операција додаје нову ставку у стог.
  • Поп: Ова операција уклања ставку из ставке снопа која је додата недавно.
  • Врх: Ова операција враћа ставку која је додата у стог недавно.

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

Стацк оверфлов

Услов који је настао покушајем да гурнете елемент на читав низ.

Стацк ундерфлов

Услов који је настао покушајем да се испразни гомила.

Овде смо показали неке пусх и поп операције на хрпи. Претпоставимо да је првобитни пакет празан, а затим смо додали Ф, А, М, Р, Н. Затим два пута искочили и притисните Н, Х, Б, Т, К, О, П.

Имплементација Стака:

Може се имплементирати коришћењем арраи или повезане листе обоје.

Након даног кода приказано је како се слога имплементира у Ц ++ користећи Цласс. Овде је дефинисана једна класа која је названа као стог у којој је створен низ именован као штап динамичке величине и две главне функције пусх анд поп.

Прелив стог: Када је врх> = величина-1

Подводни низ: Када је врх <0

Повезани чланци:-

Ево неколико чланака који се односе на структуре података и алгоритме Ц ++ који ће вам помоћи да сазнате више детаља о алгоритмима Ц ++, а структуре података и алгоритми тако љубазно прођите кроз везу која је дата у наставку. ако вам се свиђа структура података и алгоритми чланака Ц ++, тада нам дате свој драгоцени коментар.

  1. Превара за Ц ++ програмски језик
  2. Линук вс Убунту
  3. Ц ++ питања за интервју која морате знати
  4. Интервјуи о структурама података и алгоритмима | Најкориснији
  5. Најбољи чланак за алгоритме и криптографију (примери)
  6. 8 Авесоме Алгоритхм Питања и одговори за интервју
  7. Невероватни водич за Кали Линук и Убунту
  8. Ц ++ Вецтор вс Арраи: Које су најбоље функције

Категорија: