logo

Урок за структури от данни

Урок за DS

Урокът за структури на данни (DS) предоставя основни и разширени концепции за структура на данни. Нашият урок за структура на данни е предназначен за начинаещи и професионалисти.

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

Нашият урок за структура на данни включва всички теми за структура на данни като масив, указател, структура, свързан списък, стек, опашка, графика, търсене, сортиране, програми и др.

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

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

Структурата на данните не е език за програмиране като C, C++, java и т.н. Това е набор от алгоритми, които можем да използваме във всеки език за програмиране, за да структурираме данните в паметта.

За структуриране на данните в паметта бяха предложени 'n' брой алгоритми и всички тези алгоритми са известни като абстрактни типове данни. Тези абстрактни типове данни са набор от правила.

Урок за структури от данни

Типове структури от данни

Има два типа структури от данни:

спи в javascript
  • Примитивна структура на данните
  • Непримитивна структура на данните

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

Примитивните структури от данни са примитивни типове данни. Int, char, float, double и pointer са примитивните структури от данни, които могат да съдържат една стойност.

Непримитивна структура на данните

Непримитивната структура на данните е разделена на два типа:

  • Линейна структура на данните
  • Нелинейна структура на данните

Линейна структура на данните

Подреждането на данните по последователен начин е известно като линейна структура от данни. Структурите от данни, използвани за тази цел, са масиви, свързани списъци, стекове и опашки. В тези структури от данни един елемент е свързан само с един друг елемент в линейна форма.

Когато един елемент е свързан към 'n' броя елементи, известни като нелинейна структура от данни. Най-добрият пример са дърветата и графиките. В този случай елементите са подредени на случаен принцип.

Ще обсъдим накратко горните структури от данни в следващите теми. Сега ще видим общите операции, които можем да изпълняваме върху тези структури от данни.

Структурите от данни могат също да бъдат класифицирани като:

    Статична структура на данните:Това е тип структура от данни, където размерът се разпределя по време на компилиране. Следователно максималният размер е фиксиран.Динамична структура на данните:Това е тип структура от данни, където размерът се разпределя по време на изпълнение. Следователно максималният размер е гъвкав.

Основни операции

Основните или обичайните операции, които могат да се извършват върху структурите от данни, са:

shweta tiwari актьор
    Търсене:Можем да търсим всеки елемент в структура от данни.Сортиране:Можем да сортираме елементите на структура от данни или във възходящ, или в низходящ ред.Вмъкване:Можем също да вмъкнем новия елемент в структура от данни.Актуализация:Можем също така да актуализираме елемента, т.е. можем да заменим елемента с друг елемент.Изтриване:Можем също така да изпълним операцията за изтриване, за да премахнем елемента от структурата на данните.

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

Структурата на данните е начин за организиране на данните, така че да могат да се използват ефективно. Тук сме използвали думата ефективно, което по отношение както на пространството, така и на времето. Например стекът е ADT (абстрактен тип данни), който използва или масиви, или структура на данни от свързан списък за изпълнение. Следователно заключаваме, че се нуждаем от някаква структура от данни, за да приложим конкретен ADT.

ADT разказва Какво трябва да се направи и структурата на данните казва как трябва да се направи. С други думи, можем да кажем, че ADT ни дава плана, докато структурата на данните осигурява частта за внедряване. Сега възниква въпросът: как може да се разбере коя структура от данни да се използва за определен ADT?.

Тъй като различните структури от данни могат да бъдат реализирани в конкретен ADT, но различните реализации се сравняват за време и пространство. Например, Stack ADT може да бъде реализиран както от масиви, така и от свързан списък. Да предположим, че масивът осигурява времева ефективност, докато свързаният списък осигурява пространствена ефективност, така че ще бъде избран този, който е най-подходящ за текущите изисквания на потребителя.

Предимства на структурите от данни

Следните са предимствата на структурата от данни:

анотации в пролетното зареждане
    Ефективност:Ако изборът на структура от данни за внедряване на определен ADT е правилен, това прави програмата много ефективна по отношение на време и пространство.Повторна употреба:Структурата на данните осигурява повторно използване, което означава, че множество клиентски програми могат да използват структурата на данните.Абстракция:Структурата на данните, определена от ADT, също осигурява нивото на абстракция. Клиентът не може да види вътрешната работа на структурата от данни, така че не трябва да се тревожи за частта за внедряване. Клиентът може да вижда само интерфейса.

Индекс на структурите на данни


Основи на DS

  • DS Въведение
  • Ds Асимптотичен анализ
  • DS структура

DS масив

  • 2D масив

DS свързан списък

  • Свързан списък
    • Вмъкване в началото
    • Вмъкване в края
    • Вмъкване след определен възел
    • Изтриване в началото
    • Изтриване в края
    • Изтриване след определен възел
    • Траверсиране
    • Търсене
  • Двойно свързан списък
    • Вмъкване в началото
    • Вмъкване в края
    • Вмъкване след определен възел
    • Изтриване в началото
    • Изтриване в края
    • Изтриване на възел с дадени данни
    • Траверсиране
    • Търсене
  • Циркулярен свързан списък
    • Вмъкване в началото
    • Вмъкване в края
    • Изтриване в началото
    • Изтриване в края
    • Траверсиране
    • Търсене
  • Циркулярен двоен списък
    • Вмъкване в началото
    • Вмъкване в края
    • Изтриване в началото
    • Изтриване в края

DS стек

DS опашка

DS дърво

DS графика

DS Търсене

DS Сортиране

Въпроси за интервю

linux мента канела срещу мате
  • Програма за създаване и показване на единично свързан списък
  • Програма за създаване на единично свързан списък от n възли и преброяване на броя на възлите
  • Програма за създаване на единично свързан списък от n възела и показването му в обратен ред
  • Програма за изтриване на нов възел от началото на единично свързания списък
  • Програма за изтриване на нов възел от средата на единично свързания списък
  • Програма за изтриване на възел от края на единично свързания списък
  • Програма за определяне дали единично свързан списък е палиндром
  • Програма за намиране на възел с максимална и минимална стойност от единично свързан списък
  • Програма за вмъкване на нов възел в средата на единично свързания списък
  • Програма за вмъкване на нов възел в началото на единично свързания списък
  • Програма за вмъкване на нов възел в края на единично свързания списък
  • Програма за премахване на дублиращи се елементи от единично свързан списък
  • Програма за търсене на елемент в единично свързан списък
  • Програма за сортиране на елементите от единично свързания списък
  • Програма за размяна на възли в единично свързан списък без размяна на данни
  • Програма за размяна на последния елемент от единично свързания списък от първия

Програми с двойно свързани списъци

  • Програма за преобразуване на дадено двоично дърво в двойно свързан списък
  • Програма за създаване на двойно свързан списък от троично дърво
  • Програма за създаване на двойно свързан списък от N възли и преброяване на броя на възлите
  • Програма за създаване на двойно свързан списък от N възли и показването му в обратен ред
  • Програма за създаване и показване на двойно свързан списък
  • Програма за изтриване на нов възел от началото на двойно свързания списък
  • Програма за изтриване на нов възел от края на двойно свързания списък
  • Програма за изтриване на нов възел от средата на двойно свързания списък
  • Програма за намиране на възела с максимална и минимална стойност от двойно свързан списък
  • Програма за вмъкване на нов възел в началото на двойно свързания списък
  • Програма за вмъкване на нов възел в края на двойно свързан списък
  • Програма за вмъкване на нов възел в средата на двойно свързан списък
  • Програма за премахване на дублиращи се елементи от двойно свързан списък
  • Програма за завъртане на двойно свързан списък с N възли
  • Програма за търсене на елемент в двойно свързан списък
  • Програма за сортиране на елементите от двойно свързания списък

Програми с кръгъл свързан списък

  • Програма за създаване на кръгов свързан списък от N възли и преброяване на броя на възлите
  • Програма за създаване на кръгов свързан списък от N възли и показването му в обратен ред
  • Програма за създаване и показване на кръгъл свързан списък
  • Програма за изтриване на нов възел от началото на кръговия свързан списък
  • Програма за изтриване на нов възел от края на кръговия свързан списък
  • Програма за изтриване на нов възел от средата на кръговия свързан списък
  • Програма за намиране на възела с максимална и минимална стойност от кръгъл свързан списък
  • Програма за вмъкване на нов възел в началото на кръговия свързан списък
  • Програма за вмъкване на нов възел в края на кръговия свързан списък
  • Програма за вмъкване на нов възел в средата на кръговия свързан списък
  • Програма за премахване на дублиращи се елементи от кръгъл свързан списък
  • Програма за търсене на елемент в кръгъл свързан списък
  • Програма за сортиране на елементите от кръговия свързан списък

Програми за дърво

  • Програма за изчисляване на разликата между сумата на възлите от нечетно ниво и четно ниво на двоично дърво
  • Програма за конструиране на двоично дърво за търсене и извършване на изтриване и обхождане по ред
  • Програма за конвертиране на двоично дърво в двоично дърво за търсене
  • Програма за определяне дали всички листа са на едно и също ниво
  • Програма за определяне дали две дървета са идентични
  • Програма за намиране на максимална ширина на двоично дърво
  • Програма за намиране на най-големия елемент в двоично дърво
  • Програма за намиране на максималната дълбочина или височина на дърво
  • Програма за намиране на възлите, които са на максимално разстояние в двоично дърво
  • Програма за намиране на най-малкия елемент в двоично дърво
  • Програма за намиране на сумата от всички възли на двоично дърво
  • Програма за намиране на общия брой възможни двоични дървета за търсене с N ключа
  • Програма за внедряване на двоично дърво с помощта на свързания списък
  • Програма за търсене на възел в двоично дърво

Предпоставка

Преди да научите Data Structure, трябва да имате основни познания по C.

Публика

Нашият урок за структура на данни е предназначен да помогне на начинаещи и професионалисти.

проблем

Уверяваме ви, че няма да намерите никакъв проблем в този урок за структура на данни. Но ако има грешка, моля, публикувайте я във формата за контакт.