| Perl Wyszukiwanie Informacji Część Druga |
|---|
| przez wrares (221 odsłon) |
|
Wyszukiwanie przeglądowe jest najpopularniejszą formą strategi poszukiwania. Wszyscy wiemy co chcemy znaleźć, ale nie wiemy gdzie to się znajduje. Stajemy przed problemem odnajdywania elementów pasujących do wzorca. Dlatego w tego typu wyszukiwaniu ważnym czynnikiem jest dobrze dobrana struktura. Przykładowo skorzystanie ze struktury którą oferuje hash może okazać się kluczowa dla naszych poszukiwań. Można oczywiście znacznie przyśpieszyć samą operację poszukiwania poprzez sortowanie. Wyszukiwanie Chybił Trafił to jedno z prostszych wyszukiwań. Może ono trwać w nieskończoność, gdyż nigdy nie potrafimy odpowiedzieć na pytanie Czy element poszukiwany znajduje się w zbiorze. Jeśli przypadkowy element, który otrzymaliśmy nie jest tym oczekiwanym, oddajemy go z powrotem do zbioru i poszukiwanie rozpoczynamy ponownie. Wyszukiwanie liniowe to prosta forma wyszukiwania elementów w strukturze. Poszukujemy tak długo, aż natrafimy na ten który jest poszukiwany. W poniższym kodzie programu mamy zadeklarowana tablicę z owocami. Owocem który poszukujemy jest śliwka. Aby wyszukać nazwę owocu, po kolei przeglądamy cały koszyk. Czas wyszukiwania jest proporcjonalny do ilości elementów. Stwierdzamy czy przeszukiwanie zakończyło się sukcesem lub porażką. Musimy przejrzeć wszystkie elementy. Dlatego, jeśli wiemy że zbiór jest mały, zawiera niewielką liczbę elementów i jeszcze możemy posortować taką strukturę, to warto zastanowić się czy należy skorzystać z tego rozwiązania. Zagnieżdżając struktury danych możemy tworzyć coraz bardziej wydajne rozwiązania z uwzględnieniem potrzeb wyszukiwania informacji. Dobrze jest podzielić strukturę na logiczne elementy, rozbudować ją oraz optymalizować. Wiele wydań książek dotyczących środowiska Perla jak i samego programowania w tym języku wspomina o takich rozwiązaniach. Mogą to być tablice tablic, tablice haszy, hasze tablic itp. Załóżmy że mamy taki problem do rozwiązania. Przechowujemy informacje dla pracownika o każdym dniu jego pracy na przestrzeni wielu lat. Wygodnie jest mieć dostęp do tabel z latami a później dopiero odwołać się do dnia jego pracy. Innym przykładem niech będzie struktura katalogów na dysku. Załóżmy że mamy różne parametry wywołania tego samego programu, które przechowujemy w drzewie katalogów. Mamy taki układ Najpierw odszukujemy właściwy kod, a następnie procedurę np. Dodaj B. Jeśli brak kodu to poszukiwanie zakończyło się porażką i otrzymujemy bardzo szybką odpowiedź, gdyż przeszukaliśmy informację tylko o kodach nie zagłębiając się w dalszą treść. Pozostałych informacji już nie przetwarzamy. W dokumentacji Perla można znaleźć opisy takich struktur. Wynik nie jest trudny do przewidzenia. Cytat:
Przedstawiony program jest tylko przykładem możliwości jakie oferują zagnieżdżone struktury. Resztę można doczytać w dokumentacji, internecie lub książkach. |
| Powrót |




