Pytania i odpowiedzi na wywiad dotyczący struktury danych [Dla nowicjuszy i doświadczonych]
Opublikowany: 2020-11-23Celem zapisania pytań do wywiadu dotyczącego struktury danych i algorytmów jest zapoznanie się z naturą pytań, które są zazwyczaj zadawane podczas wywiadu na temat struktury danych i algorytmów. Dobrzy ankieterzy nie wymyślają z góry ustalonych pytań. Zazwyczaj pytania zaczynają się od podstawowych pojęć tematu i są kontynuowane w zależności od twoich odpowiedzi i dalszej dyskusji. Jeśli chcesz zdobyć wiedzę i zdobyć wymarzoną pracę w zakresie analityki danych, zapoznaj się z naszymi certyfikatami w zakresie analityki danych.
Spis treści
Struktury danych Wywiad Pytania i odpowiedzi
1. Jaka jest struktura danych?
Możesz myśleć o strukturze danych jako o metodologii, która definiuje, przechowuje i pobiera dane w sposób systematyczny i strukturalny. Struktura danych może zawierać różne rodzaje elementów danych.
2. Jakie są dostępne różne struktury danych?
Dostępność struktur danych może się różnić w zależności od języka programowania. Niektóre z powszechnie używanych struktur danych to drzewa, wykresy, kolejki, listy, tablice i stos.
Przeczytaj także: Sortowanie w strukturze danych
3. Co oznacza algorytm?
Możesz myśleć o algorytmie jako o krokowej procedurze definiowania klastra instrukcji, których wykonanie w ustalonej kolejności daje pożądany wynik.
4. Jaka jest potrzeba analizy algorytmów?
Dany problem można rozwiązać na wiele sposobów. Stąd możliwe jest wyprowadzenie kilku algorytmów rozwiązania. Celem analizy algorytmów jest znalezienie i zaimplementowanie najbardziej odpowiedniego algorytmu.
5. Kryteria analizy algorytmu
Algorytmy są analizowane na podstawie dwóch czynników – przestrzeni i czasu. Oznacza to czas wykonania i dodatkową przestrzeń wymaganą przez algorytm.
6. Co oznacza analiza asymptotyczna algorytmu?
Dla każdego algorytmu istnieją trzy różne poziomy czasu wykonania oparte na wiązaniu matematycznym:
- Najlepszego przypadku przedstawia symbol Ω(n)
- Najgorszego przypadku przedstawia symbol Ο(n)
- Reprezentacja Przypadku Średniego odbywa się za pomocą symbolu Θ(n)
7. Co oznacza liniowa struktura danych?
Kiedy elementy danych są ułożone sekwencyjnie, nazywa się to liniową strukturą danych. Pozycje danych są przechowywane i dostępne sekwencyjnie. Typowym przykładem liniowej struktury danych jest lista i tablica.
8. Jakie są najczęstsze operacje wykonywane na strukturze danych?
Poniżej przedstawiono operacje, które można wykonać na strukturze danych:
Wstawienie – dodanie pozycji danych
Usunięcie – Usunięcie pozycji danych
Traversal — dostęp i drukowanie elementów danych
Szukaj – Znajdź element danych
Sortuj — elementy danych ułożone w predefiniowanej kolejności
Trzeba przeczytać: Pomysły i tematy projektów dotyczących struktury danych
9. Jakie są różne podejścia do tworzenia algorytmów?
Istnieją trzy powszechnie stosowane podejścia do opracowywania algorytmów, którymi są:
Chciwe podejście: wybór kolejnej najlepszej opcji w celu znalezienia rozwiązania.
Dziel i zwyciężaj: problem jest podzielony na minimum możliwych podproblemów, a każdy podproblem jest rozwiązywany niezależnie.
Programowanie dynamiczne: problem jest podzielony na minimalne podproblemy i są one rozwiązywane razem. C
9. Przykłady algorytmu zachłannego:
- · Minimalny algorytm drzewa opinającego Djikstry, Kruskala i Prim
- · Wykres – Kolorowanie mapy
- Problem z pokryciem wierzchołków
- · Problem planowania pracy
- · Problem z plecakiem
- · Problem komiwojażera
10. Przykłady algorytmów dziel i zwyciężaj
- Mnożenie macierzy Stassena
- Szybkie sortowanie
- Połącz Sortuj
- Najbliższa para
- Wyszukiwanie binarne
11. Przykłady algorytmów programowania dynamicznego:
- Wieża Hanoi
- Najkrótsza ścieżka przez Dijkstra
- Planowanie projektu
- Problem z plecakiem
- Szereg liczb Fibonacciego
- Wszystkie pary najkrótsza ścieżka Floyd-Marshall
12. Co to jest lista połączona?
Możesz myśleć o połączonej liście jako liście elementów danych, które są połączone łączami, tj. referencjami lub wskaźnikami. Bezpośredni dostęp do lokalizacji pamięci nie jest dozwolony we współczesnych językach wysokiego poziomu i nie jest w nich obsługiwany. Jeśli są dostępne, to w postaci wbudowanych funkcji.

13. Co to jest stos?
Jest to rodzaj abstrakcyjnego typu danych używanego do przechowywania i pobierania wartości w formacie Last In First Out.
14. Dlaczego używamy stosów?
Stacks używa metody LIFO dodawania i pobierania elementów danych, które zużywają tylko czas O(n). Jeśli kiedykolwiek będziesz potrzebować dostępu do elementów danych w odwrotnej kolejności do ich nadejścia, możesz użyć stosów. Stosy są częściej używane podczas analizowania wyrażeń, wywoływania funkcji rekurencyjnych i przechodzenia w głąb wykresów.
Typowe operacje, które możesz wykonać na stosie:
push(): Dodanie elementu na górę stosu
pop(): Usuwanie elementu ze szczytu stosu
peek(): pokazuje wartość najwyższej pozycji bez jej usuwania
is empty(): Sprawdź, czy masz pusty stos
is full(): Sprawdza, czy masz pełny stos
15. Co oznacza kolejka w strukturze danych?
Podobnie jak stos, kolejka jest również abstrakcyjną strukturą danych. Jednak na obu końcach jest otwarta kolejka. Oznacza to, że jeden koniec służy do wstawiania danych (usuwaj w kolejce), a drugi do usuwania elementu (usuwaj z kolejki). Kolejka jest zgodna z metodologią First-In-First-Out, tzn. element danych, który jest przechowywany jako pierwszy, zostanie udostępniony jako pierwszy.
16. Jaki jest pożytek z kolejek?
Ponieważ kolejka jest zgodna z metodą First In First Out, ta struktura danych może być używana do pracy na elementach danych w dokładnej kolejności ich nadejścia. Kolejki są szeroko stosowane w systemach operacyjnych do różnych procesów. Przechodzenie wykresów do szerokości w pierwszej kolejności i kolejki priorytetowe to tylko niektóre przykłady kolejek.
17. Operacje, które można wykonać w kolejce:
enqueue(): dodawanie elementów na koniec kolejki
dequeue(): Usuwa element z przodu kolejki
peek (): Pokazuje wartość przedniej pozycji bez jej usuwania
is empty(): Sprawdza, czy stos jest pusty
is full(): Sprawdza, czy stos jest pełny
18. Co to jest wyszukiwanie binarne?
Wyszukiwanie binarne to technika wyszukiwania, która ma zastosowanie do posortowanej listy lub tablicy. Wyszukiwanie wybiera środkową jednostkę, która może podzielić całą listę na dwie części. Najpierw środkowa jednostka jest porównywana z wyszukiwanym przedmiotem.
Jeśli jest zgodny, algorytm kończy się pomyślnie. W przeciwnym razie próbuje ustalić, czy szukany element jest mniejszy czy większy niż jednostka środkowa. Jeśli szukany element jest mały, środek staje się ostatnim elementem tablicy lub listy. Jeśli wyszukiwany element jest duży, środek staje się najwyższą pozycją na liście.
Końcowe przemyślenia
Mamy nadzieję, że nasz przewodnik po pytaniach i odpowiedziach dotyczących struktury danych będzie pomocny. Będziemy regularnie aktualizować przewodnik, aby być na bieżąco.
Jeśli jesteś zainteresowany nauką o danych, sprawdź program IIIT-B i upGrad Executive PG w dziedzinie Data Science, który jest stworzony dla pracujących profesjonalistów i oferuje ponad 10 studiów przypadków i projektów, praktyczne warsztaty praktyczne, mentoring z ekspertami z branży, 1 -on-1 z mentorami branżowymi, ponad 400 godzin nauki i pomocy w pracy z najlepszymi firmami.
Co oznacza abstrakcyjna struktura danych?
Abstrakcyjna struktura danych lub abstrakcyjny typ danych (ADT) to matematyczny model struktur danych, który pokazuje typ przechowywanych danych, operacje obsługiwane przez dane oraz typy parametrów operacji. Za pomocą ADT użytkownicy mogą dowiedzieć się, co robi każda operacja. Nie może jednak pomóc w znalezieniu działania operacji. Do wykonania abstrakcyjnych struktur danych można użyć różnych struktur danych. Określenie ADT dla programu jest doskonałym wstępnym krokiem do określenia, jaką strukturę danych zastosować w programie.
Jakie są rodzaje struktur danych?
Struktury danych są podzielone na dwa typy: liniowe i nieliniowe struktury danych. Elementy liniowych struktur danych są umieszczane sekwencyjnie jeden po drugim. Są proste w wykonaniu, ponieważ elementy są ułożone w określonej kolejności. Jednak wraz ze wzrostem złożoności programu liniowe struktury danych mogą nie być idealnym rozwiązaniem ze względu na trudności operacyjne. Nieliniowe struktury danych nie zawierają elementów w typowej kolejności. Zamiast tego są zorganizowane w porządku hierarchicznym, z jednym elementem połączonym z jednym lub kilkoma innymi.
Jakie cechy struktur danych pozostaną aktualne w przyszłości?
Prawie wszystkie cechy struktur danych prawdopodobnie pozostaną istotne w przyszłości, ponieważ struktury danych są sercem informatyki. Od podstawowych tablic po drzewa wyszukiwania binarnego i nie tylko, pełnią one krytyczne role w opracowywaniu algorytmów, które są zasadniczo zakorzenione w życiu codziennym. Ze względu na struktury danych, dzisiejszy świat technologii jest szybki, wydajny i dokładny. Strategie stosowane do modyfikowania struktur danych staną się bardziej nie do odróżnienia.