Въведение в структурите на данните и алгоритмите Интервю въпроси и отговори

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

По-долу са най-горните Интервюта на въпросите и отговорите на структури от данни и алгоритми за 2018 г .:

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

Тези основни въпроси са разделени на две части, както следва:

Част 1 - Структури на данни и алгоритми за интервю въпроси (основни)

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

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

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

2. Какви налични са различните структури от данни?

Отговор:
Наличието на структура на данни може да варира в зависимост от езиците на програмиране. Най-често наличните структури от данни са списъкът, масивите, стека, опашките, графиката, дървото и т.н.

3. Какво е алгоритъм?

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

Нека преминем към следващите въпроси за интервю на структури от данни и алгоритми

4. Разграничете файловата структура от структурата за съхранение.

Отговор:
Всъщност ключовата разлика е областта на паметта, до която се осъществява достъп. Когато се занимаваме със структурата, която пребивава основната памет на компютърната система, това се нарича структура за съхранение. Когато се занимаваме с помощна структура, ние я наричаме файлови структури.

5. Какво е свързан списък?

Отговор:
Свързан списък е списък на елементи с данни, свързани с връзки, т.е. указатели или препратки. Повечето съвременни езици за програмиране на високо ниво не предоставят възможност за директен достъп до място в паметта, следователно свързаният списък не се поддържа в тях или се предлага под формата на вградени функции. В компютърните науки свързаният списък представлява линейна колекция от елементи от данни, в която линеен ред не се дава от физическото им разположение в паметта. Вместо това всеки елемент сочи към следващия. Това е структура от данни, състояща се от група възли, които заедно представляват последователност.

6. Какво е стека?

Отговор:
В структурата на данните стека е абстрактна тип данни (ADT), използвана за съхраняване и извличане на стойности в метода Last In First Out. Стекът е паметта, заделена като място за надраскване за нишка на изпълнение.

7. Защо използваме стекове?

Отговор:
Структурата на стека ограничава драстично начина, по който елементите се вмъкват, извличат и премахват: Последният вмъкнат елемент в стека е единственият, който може да бъде извлечен или премахнат. Стековете следват метода LIFO и добавянето и извличането на елемент от данни отнема само Ο (n) време. Стековете се използват там, където трябва да имаме достъп до данни в обратен ред на тяхното пристигане. Стековете се използват често при рекурсивни извиквания на функции, анализиране на изрази, преминаване в дълбочина на графика и т.н.

Част 2 - Структури на данни и въпроси за интервюта с алгоритми (разширено)

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

8. Какви операции могат да се извършват на стекове?

Отговор:
По-долу операциите могат да се извършват на стек -
• push () - добавя елемент към стека - Вмъкване
• pop () - премахва елемента на най-горния стек -Deletion
• peek () - дава стойност на най-горния елемент, без да го премахвате -Traversal
• isempty () - проверява дали стека е празен - Нула проверка
• isfull () - проверява дали стека е пълен - Няма място

9. Какво е опашка в структурата на данните?

Отговор:
Опашката е абстрактна структура от данни, донякъде подобна на стека. За разлика от стека, опашката се отваря в двата края. Единият край винаги се използва за вмъкване на данни (enqueue), а другият се използва за премахване на данни (dequeue). Опашката следва методологията First-In-First-Out, т.е. до данните, съхранявани първо, ще бъдат достъпни първо.

10. Какво е линейно търсене?

Отговор:
Линейното търсене се опитва да намери елемент в последователно подреден тип данни. Тези последователно подредени елементи от данни, известни като масив или списък, са достъпни в увеличаване на паметта. Линейното търсене сравнява очакваните данни с всеки от елементите с данни в списъка или масива. Средната сложност на времевия случай на линейното търсене е Ο (n), а най-лошият случай е Ο (n2). Данните в целевите масиви / списъци не трябва да бъдат сортирани.

Нека преминем към следващите въпроси за интервю на структури от данни и алгоритми

11. Какво е двоично търсене?

Отговор:
Двоичното търсене работи само в сортирани списъци или масиви. Това търсене избира средата, която разделя целия списък на две части. Първо се сравнява средата.
Това търсене първо сравнява целевата стойност с средата на списъка. Ако не бъде намерен, тогава взема решение за времето. В компютърните науки двоичното търсене, известно още като полуинтервално търсене, логаритмично търсене или двоично подрязване, е алгоритъм за търсене, който намира позицията на целева стойност в подреден масив.

12. Какво е графика?

Отговор:
Графиката е изобразително представяне на набор от обекти, при които някои двойки обекти са свързани чрез връзки. Свързаните обекти са представени от точки, наречени върхове, а връзките, които свързват върховете, се наричат ​​ръбове. Структурата на графичните данни се състои от ограничен (и евентуално мутационен) набор от върхове или възли или точки, заедно с набор от непоредни двойки от тези върхове за неориентирана графика или набор от подредени двойки за насочена графика.

13. Какво е рекурсивна функция?

Отговор:
Рекурсивна функция е тази, която се обажда директно или извиква функция, която от своя страна я нарича. Всяка рекурсивна функция следва рекурсивните свойства - базови критерии, при които функциите спират да се обаждат и прогресивен подход, когато функциите се опитват да отговарят на основните критерии при всяка итерация. Важно приложение на рекурсията в компютърните науки е при определянето на динамични структури от данни като списъци и дървета.

14. Какво представлява кулата на Ханой?

Отговор:
Кулата на Ханой, е математически пъзел, който се състои от три кули (колчета) и повече от един пръстен. Всички пръстени са с различни размери и са подредени един върху друг, където големият диск е винаги под малкия диск. Целта е да се премести кулата на диск от едно колче на друго, без да се нарушават неговите свойства. Целта на тази игра е да преместите дисковете един по един от първото колче до последното колче. И има само ЕДНО условие, не можем да поставим по-голям диск върху по-малък диск.

15. Дайте някои примери за алчни алгоритми.

Отговор:
По-долу зададените проблеми намират своето решение, използвайки алчен алгоритмен подход -
• Проблем с пътуващия продавач
• Алгоритъм на минимално обхващащо дърво на Prim
• Алгоритъмът на минималното обхващащо дърво на Крускал
• Алгоритъмът на минималното обхващащо дърво на Dijkstra
• Графика - оцветяване на картата
• Графика - Vertex Cover
• Проблем с раницата
• Проблем с планирането на работа

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

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

  1. 10 най-добри структури на данни и алгоритми C ++ | Основи
  2. Най-добър език за програмиране на избор за изучаване на алгоритми
  3. Въпроси за интервю за SSRS - Как да пропуснете топ 10 въпроса
  4. Въпроси за интервю за мрежова сигурност - най-често задаваните въпроси