Porównanie kolejki vs deque w Pythonie

Porównanie kolejki vs deque w Pythonie
Python ma bardziej wyspecjalizowaną strukturę danych zwaną kolejką, której możemy użyć do grupowania tych elementów kolejki. Dlatego, o ile nie określono inaczej, jest to „pierwszy, pierwszy wyjść”. Oznacza to, że pierwsze elementy dodane do kolejki są pierwsze usunięte, gdy coś jest gotowe do usunięcia ich z kolejki. Znacznie trudniej jest usunąć elementy z środka kolejki niż to zrobić na liście. Deque to pojemnik, który przypomina listę i ma szybkie dołączenia i wyskakujące na obu końcach. Jest to sekcja kolekcji biblioteki. Stosowane są odpowiednio metody „append ()” i „pop ()”, aby dodać elementy z końca deque i usunąć elementy z końca deque.

Przykład 1: Dodanie elementów do kolejki i użycie metody QSize () do określenia rozmiaru kolejki

W tym przykładzie dodamy elementy do listy kolejki i określamy rozmiar kolejki. Kolejka to grupa obiektów, które ułatwia szybkie wprowadzenie i usunięcie przy użyciu semantyki „pierwszego, pierwszego, znanego również jako„ FIFO ”. Enqueue i deque to alternatywne nazwy dla operacji dodawania i usuwania. Kolejki zwykle nie pozwalają na przypadkowy dostęp do rzeczy, które przechowują, kontrastując z kolekcji lub tablic. Stosy i kolejki są porównywalne, ale rozróżnienie między nimi polega na tym, że usuwasz obiekty. Pierwsze, pierwsze „FIFO” lub najmniej niedawny dodatek kolejki został usunięty; Najnowszy dodatek stosu jest wykluczony w ostatnim, First-Out lub LIFO. W kolejce możemy wstawić element z tyłu; Jest to znane jako enqueue.

Zacznijmy teraz wdrażać kod, który odbywa się za pomocą narzędzia „Spyder”. Najpierw ustanowimy klasę „kolejki”, w której w praktyce wprowadzamy zasadę „pierwsza, pierwsza. Następnie, w poniższym etapie, definiujemy funkcję o nazwie „_init_” i nazywamy ją argumentem „jaźń”. Za każdym razem, gdy instancja jest tworzona z klasy, wywoływana jest metoda „__init__”. „Jaźń” to opis instancji klasowej. „Samo” termin w Pythonie pozwala użytkownikom odkryć właściwości i metody klasy. Łączy podane dane wejściowe i cechy.

Następnie używamy „jaźni.queue = list () ”, aby przypisać funkcję listy do kodu natywnego obiektu () ze zmienną kolejki. Następnie tworzymy funkcję o nazwie „Insert_item” i nazywamy ją wejściami „jaźń” i „wartości”. Następnie, jeśli wartość nie ma w kolejce, używamy warunku „jeśli” i używamy „siebie.kolejka.wstaw ”, aby wstawić element, przekazując„ 0 ”i„ wartość ”jako jego parametry. Następnie, w poniższym etapie, definiujemy funkcję zwaną „rozmiar” i przekazujemy do niej termin „ja”. Dodatkowo zwracamy rozmiar elementów, które są teraz w kolejce w tej funkcji.

Teraz, gdy powstaje kolejka, przechowujemy ją w zmiennej „kolejki” za pomocą metody „kolejki ()”. Następnie wywołujemy funkcję „Wstaw element” z „kolejką”, aby dodać elementy do kolejki. Nazwy kolorów, takich jak „różowy”, „żółty” i „brązowy” składają się z listy komponentów, które dodajemy do kolejki. Długość kolejki jest następnie przekazywana do funkcji „wydruku”, która jest następnie wywoływana po przejściu kolejki do „Rozmiar ()”, aby określić długość kolejki. Cała liczba rozmiarów obecnych w kolejce jest zwracana przez tę metodę „rozmiar ()”.

Jak widać na obrazie wyjściowym, początkowo wyświetla instrukcję drukowania „długości kolejki” i jego rozmiar, który wynosi „3”, ponieważ w poprzednim kodzie dodaliśmy trzy wpisy do kolejki, co oznacza, że ​​rozmiar to trzy.

Teraz, w poniższej sekcji, użyjemy metody wbudowanej pop () do wyeliminowania elementów z kolejki. Możemy usunąć komponent z tyłu za pomocą tej procedury.

Zacznijmy od utworzenia skryptu. Poprzedni kod służy do wstawienia elementów do kolejki. Najpierw definiujemy nazwę klasy i funkcję, czyli „kolejka”. Następnie definiujemy funkcję jak w poprzednim kodzie, przekazując słowo kluczowe „jaźń”. Następnie definiowana jest funkcja „Wstaw element”. W klasie kolejki nazywamy tę funkcję, aby dodać elementy. Jeśli wartość nie ma jeszcze w kolejce, stosujemy warunek „jeśli” w tej metodzie, a następnie wstawiamy element.

Następnie, w poniższym wierszu, definiujemy funkcję „remove_item”, aby usunąć elementy z kolejki. Wewnątrz tej funkcji wywołujemy metodę „pop ()” z kolejką, aby usunąć ostatnie elementy z kolejki. Przedmiot w wyznaczonym miejscu jest eliminowany przez procedurę pop (). Usuń funkcję elementu sprawdza, czy kolejka nie jest przeciążona. Jeśli zwróci false, wyeliminuj każdy element jeden na raz. Następnie wywołujemy funkcje klasy „kolejki”.

Najpierw wkładamy komponenty do kolejki za pomocą „kolejki.Metoda wstawienia pozycji ”. Następnie nazywamy funkcję „print ()”, przekazując „kolejkę.Usuń funkcję item () ”, aby usunąć ostatni element po weryfikacji warunku.

Teraz, gdy ostatni utwór został usunięty z listy kolejki, widać, że nie został przedstawiony na wyjściu. Wyświetlał tylko „różowe” i „żółte” elementy.

Przykład 2: Za pomocą modułu deque w skrypcie Python

W tej ilustracji importujemy moduł deque i deklarujemy listę jako deque. W Pythonie deque jest przeciwieństwem kolejki. Deques to typy danych, które przypominają sekwencje i zostały utworzone jako uogólnienie stosu i kolejki. W obu punktach końcowych struktury danych zapewniają one efektywne i szybkie operacje dodatkowe. Kolejka podwójnego zakończenia jest skrócona jako deque.

Zacznijmy od zaimportowania deque z modułu kolekcji. Następnie przypisujemy nazwę listy poddanej przed ogłoszeniem deque (). Wartości listy to „matematyka”, „angielski”, „komputer” i „nauka”. Po wywołaniu go dodajemy je do deque, przechowując listę w zmiennej „podmiotu”. Funkcja „print ()” jest następnie wywoływana w następnym wierszu. Ponieważ lista jest zapisana w zmiennej „podmiot”, przekazujemy ją jako argument.

Lista jest teraz wyświetlana na ekranie wyjściowym i jest to lista deque z czterema elementami.

Elementy są dodawane na początku i na końcu deque w następnej sekcji kodu za pomocą funkcji „append ()” i „appendleft ()”. Są one usuwane za pomocą metod „pop ()” i „pop () lewy”. Import modułu kolekcji to początkowy krok w uruchomieniu programowania. Zgodnie z jego opisem pakiet Python Collection to kontener, który utrzymuje kolekcje danych, w tym listy, krotki i inne typy. Jest na miejscu, aby poprawić funkcjonalność wbudowanych kontenerów kolekcjonerskich.

Następnie używamy kolekcji „.deque () ”, aby wywołać„ deque () ”w module kolekcji, przekazując wartości„ 1 ”,„ 2 ”,„ 3 ”,„ 4 ”i„ 5 ”do przechowywania w nowo utworzonym„ deque ” obiekt. Zmienna „6” jest następnie przekazywana jako argument funkcji „append ()” w następującym kroku, która dodaje „6” do listy. Następnie wykonujemy funkcję „print ()”, przekazując instrukcję jako jej wejście. Aby wyświetlić wynik, następnie wywołujemy „deque” wewnątrz metody wydruku, która dodaje „6” po prawej stronie listy lub na końcu listy. Następnie używamy obiektu „deque” do użycia metody „apptendleft ()”, przekazując ją wartość „7”, która wyświetla „7” po lewej stronie listy lub na początku listy.

Następnie, w poniższym kroku, używamy metody „pop ()” z parametrem „deque”, aby usunąć ostatni element z listy, który jest teraz „6”, usuwając „6” z listy. Następnie używamy metody „Popleft ()” ze zmienną „deque”, aby usunąć lewy element lub element startowy z listy, która jest teraz „7”, usuwając „7” z listy.

Teraz, gdy lista jest prezentowana, najpierw dodaje „6” do deque. Następnie, używając funkcji „appendleft ()”, dodaje „7” do lewej strony Deque. Następnie, w poniższym wierszu, ostatni element listy, który jest „6”, jest usuwany za pomocą metody „pop ()”. I za pomocą „Popleft ()”, pierwszy element z deque, który jest „7”, jest wyeliminowany.

Wniosek

W tym artykule omówiliśmy porównanie kolejki Pythona i deque. Zasada „pierwszego, pierwszego” leży u podstaw pojęcia kolejki. Podczas gdy zasada „ostatniego, pierwszego wyjścia” leży u podstaw koncepcji deque. W tym artykule omówiliśmy dwa przykłady. W pierwszym przykładzie omówiliśmy kolejkę Pythona, w której dodaliśmy i usunęliśmy elementy i ustaliliśmy rozmiar kolejki. W drugim przykładzie rozmawialiśmy o deque i omówiliśmy, jak tworzyć w nim listy. Omówiliśmy również metody „Dodatek” i „appendleft ()”, a także metody „pop ()” i „popleft ()” w drugiej połowie drugiej metody.