Struktura danych i algorytmy

Struktury danych to programowy sposób przechowywania danych, który umożliwia ich efektywne wykorzystanie. Prawie każda aplikacja korporacyjna wykorzystuje różne typy struktur danych w taki lub inny sposób. Ten samouczek pozwoli Ci dobrze zrozumieć struktury danych potrzebne do zrozumienia złożoności aplikacji na poziomie przedsiębiorstwa oraz zapotrzebowania na algorytmy i struktury danych.

Dlaczego warto uczyć się struktury danych i algorytmów?

Ponieważ aplikacje stają się coraz bardziej złożone i bogate w dane, istnieją trzy typowe problemy, z którymi obecnie borykają się aplikacje.

  • Data Search- Rozważ zapas 1 miliona (10 6 ) pozycji w sklepie. Jeśli aplikacja ma wyszukiwać element, musi wyszukiwać element w 1 milionie (10 6 ) elementach za każdym razem, aby spowolnić wyszukiwanie. W miarę wzrostu ilości danych wyszukiwanie będzie wolniejsze.

  • Processor speed - Szybkość procesora, choć jest bardzo wysoka, spada, jeśli dane wzrosną do miliarda rekordów.

  • Multiple requests - Ponieważ tysiące użytkowników mogą jednocześnie przeszukiwać dane na serwerze WWW, nawet szybki serwer nie działa podczas wyszukiwania danych.

Aby rozwiązać powyższe problemy, z pomocą przychodzą struktury danych. Dane mogą być zorganizowane w strukturę danych w taki sposób, że nie wszystkie pozycje muszą być przeszukiwane, a wymagane dane można przeszukiwać niemal natychmiast.

Zastosowania struktury danych i algorytmów

Algorytm to procedura krok po kroku, która definiuje zestaw instrukcji, które mają być wykonane w określonej kolejności, aby uzyskać pożądane wyjście. Algorytmy są generalnie tworzone niezależnie od języków bazowych, tj. Algorytm można zaimplementować w więcej niż jednym języku programowania.

Z punktu widzenia struktury danych, poniżej przedstawiono kilka ważnych kategorii algorytmów:

  • Search - Algorytm wyszukiwania elementu w strukturze danych.

  • Sort - Algorytm sortowania elementów w określonej kolejności.

  • Insert - Algorytm wstawiania elementu do struktury danych.

  • Update - Algorytm aktualizacji istniejącego elementu w strukturze danych.

  • Delete - Algorytm usuwania istniejącego elementu ze struktury danych.

Następujące problemy z komputerem można rozwiązać za pomocą struktur danych -

  • Szeregi liczb Fibonacciego
  • Problem z plecakiem
  • Wieża Hanoi
  • Najkrótsza ścieżka dla wszystkich par autorstwa Floyd-Warshall
  • Najkrótsza ścieżka przy Dijkstrze
  • Planowanie projektu

Publiczność

Ten samouczek jest przeznaczony dla absolwentów informatyki, a także dla programistów, którzy chcą nauczyć się struktur danych i programowania algorytmów w prostych i łatwych krokach.

Po ukończeniu tego samouczka będziesz na średnim poziomie wiedzy, z którego możesz przejść na wyższy poziom wiedzy.

Wymagania wstępne

Przed przystąpieniem do tego samouczka powinieneś mieć podstawową wiedzę na temat języka programowania C, edytora tekstu, wykonywania programów itp.