W tym wykładzie będziemy mówić o stosie, a następnie przetestujemy, czy
implementacja działa dobrze, czy nie.
A jeśli chodzi o CPS, co musimy zrobić?
Zasadniczo musimy wykonać tyle iteracji, ile wynosi zakres tego sterty, oczywiście już dla tego
zakresu.
A co mamy zrobić?
Musimy uzyskać maksymalne Eitam z połową funkcji puli.
Funkcja puli zwróci i usunie największy element, którym jest węzeł główny w maksymalnym stosie.
A potem musimy tylko wydrukować ten maksymalny element.
I to wszystko o Heapie lub implementacji, OK?
Oczywiście musimy użyć maksymalnego Eitam, ponieważ Max jest wbudowaną funkcją maksimum w Pythonie.
Po tym zobaczmy, gdzie to działa.
W porządku.
Więc jeśli nazwa jest równa głównej, to co musimy zrobić?
Mamy stertę jako nowy obiekt sterty.
OK, wstawmy podane elementy.
Na przykład 13, potem kilka razy kopiuję i wklejam.
Mamy więc na przykład minus do ciebie, potem zero, potem na przykład osiem, potem
jeden, potem minus pięć.
I wreszcie mamy na przykład dziewięćdziesiąt dziewięć.
Zobaczmy więc, czy działa dobrze, czy nie.
Przede wszystkim wydrukujmy stertę, tę stertę, jeśli chodzi o podstawową strukturę danych.
Więc myślę, że będzie działać dobrze.
Jak widać, węzeł główny jest największym elementem, a wszystkie dzieci są mniejsze niż węzeł nadrzędny.
Więc co, jeśli użyjemy sterty lub takiej, którą dostał Heap's lub jeśli chodzi o funkcję, uruchommy
algorytm i powinniśmy otrzymać Amirikę porządkującą dziewięćdziesiąt dziewięć 13 osiem jeden zero minus dwa i minus pięć.
Więc to jest posortowana kolejność w porządku malejącym.
Jak widać, w ten sposób możemy zaimplementować sortowanie sterty za pomocą podstawowej struktury danych.
I działa całkiem dobrze, ponieważ jaka jest złożoność czasu działania wstawiania?
Ma cały Logan bo oczywiście najpierw musimy wstawić dany element, ale potem musimy sprawdzić
czy właściwości są naruszone czy nie.
A w najgorszym przypadku ta naprawa zajmie, chociaż Logan, logarytmiczną złożoność czasu
wykonywania.
Więc ta naprawiona funkcja ponownie uporządkowała złożoność czasu wykonywania.
Ta funkcja get maksimum zarządziła jedną stałą złożoność czasu wykonywania.
Jaka jest złożoność czasu wykonywania usuwania maksymalnej liczby elementów?
Więc oczywiście węzeł główny.
Albo lagann.
Tak więc logarytmiczna złożoność czasu wykonywania, oczywiście, z powodu stałej funkcji.
Więc jeśli chodzi o usunięcie elementu w obrębie tego zera, jest dość szybkie.
Ale potem musimy upewnić się, że właściwości cieplne nie zostaną naruszone.
Zatem operacja wystrzeliwania sterty przejmuje złożoność logarytmicznego czasu wykonywania Logana z powodu funkcji ustalonej
w dół.
W porządku.
I jaka jest złożoność czasu wykonywania Heap dla każdego elementu.
Rozważamy więc i przedmioty i dla wszystkich elementów końcowych, potrzeba całego Logana, aby uzyskać maksimum za pomocą pełnej
funkcji w zasadzie.
Możemy więc dojść do wniosku, że N Times lub Logan jest równe lub N Logan, co jest liniową, rytmiczną złożonością
czasu wykonywania, która jest dość szybka.
Tak więc quicksort i Amersfoort zamówiły i Laguerre również działały ze złożoności, żeby być precyzyjnym.
Quicksort jest nieco szybszy niż myślał, ale uważał, że działa wyjątkowo dobrze w tym
sensie, że szukał najlepszego przypadku, przypadku średniego i najgorszego, Aldo i Logana, liniowości, czasu działania, złożoności.
Dlatego właśnie lubimy sortować sterty i jak widać, działa całkiem dobrze.
To wszystko dotyczy implementacji sterty.
Dzięki za oglądanie.