Deque znači red s dva kraja, s dodavanjem elemenata s bilo kojeg kraja; korisnici također mogu ukloniti elemente s bilo kojeg kraja. Ovaj modul dolazi iz biblioteke zbirki i implementiran je pomoću ovog modula. Općenito je poželjno s popisa gdje moramo imati bržu metodu dodavanja operacija. Dodavanje i uklanjanje mogu se obaviti s oba kraja spremnika. Korisnici mogu dodati vrijednosti u deque ili ih ukloniti s obje strane. Mogu čak i preokrenuti čitav deque. Vodič će obuhvatiti sve moguće slučajeve korištenja, zajedno s razrađenim primjerima radi jednostavnosti korisnika.
Za implementaciju idealno koristimo najnoviju verziju Pythona, a to je Python x3.8, ali ako netko nema najnoviju verziju, čak i tada je može primijeniti na svojim verzijama. To će generirati slične rezultate.
Usporedba Dequea s popisom:
Deque je brži za dodavanje na početku i na kraju deque-a. Popisi su brži kada je riječ o dodavanju i uklanjanju elemenata sa sredine popisa. Na popisu korisnici mogu koristiti indeks i vrijednosti za umetanje na popise, dok ih u deque možemo dodati na lijevoj ili desnoj strani.
Dequei su više poput redova i hrpa. Oni također podržavaju zaštitu bez niti i učinkoviti su u smislu memorije. Pops s obje strane šupljine isti su, t.j.e., O (1) u bilo kojem smjeru. Popis objekata podržavaju operacije. Popisi su optimizirani za mnogo brže operacije.
Deque je popis dvostrukih veza s mnogo većom memorijom od popisa. Podržava dva pokazivača po čvoru umjesto jednog. Sve u svemu, ta se razlika može zanemariti. Korisnici se mogu dodati i pojaviti na oba kraja u Dequeu.
Primjer
Evo primjera izvedenog uvozom dequea. Kôd je osnovni uzorak koji se može koristiti za uvoz kolekcija, a korisnici se mogu odlučiti za ovaj uzorak kada žele uvesti deque. Zbirke uvoze deque, a zatim deklariramo deque u sljedećem koraku. Napokon, kada ga ispisujemo kako bismo provjerili vrijednost našeg rezultata.
>>> iz zbirki import deque>>> red čekanja = deque (['broj', 'mjesto', 'naslov'])
>>> ispis (red)
IzlazIzlazna vrijednost dequea izgledat će ovako:
Operacije deque
Različite operacije mogu se izvoditi u deque (). U ovom ćemo odjeljku ilustrirati sve moguće radnje koje će biti korisne za korisnike. Isprva ćemo provjeriti mogućnost uvoza dostupnu za uvoz kolekcije.
Uvoz kolekcija
Slijedi još jedan primjer uvoza kolekcija:
>>> uvoz kolekcija>>> DoubleEnded = zbirke.deque ([„ponedjeljak, utorak“, „srijeda“])
>>> ispis (DoubleEnded)
IzlazČim dodirnete enter, izlaz će se pojaviti kako je dodano u nastavku:
Dodaj vrijednost zdesna:
Sada ćemo za dodavanje vrijednosti na desnu stranu upotrijebiti sljedeću ulaznu vrijednost. Dodati ćemo četvrtak s desne strane reda. Vrijednost će biti dodana na desnoj strani popisa.
>>> ispis ("Dodavanje udesno:")>>> DoubleEnded.dodaj ("četvrtak")
>>> ispis (DoubleEnded)
Izlaz
Klikom na enter, izlaz će se pojaviti sličan ovom:
U gornjem primjeru vrijednost je dodana na desnoj strani popisa.
Dodaj vrijednost lijevo
Da bismo dodali bilo koju vrijednost u deque na lijevu stranu, upotrijebit ćemo sljedeću ulaznu vrijednost. Nedjelju ćemo dodati na lijevoj strani reda. Vrijednost će se dodati na lijevu stranu popisa.
>>> ispis ("Dodavanje slijeva:")>>> DoubleEnded.dodati ("nedjelja")
>>> ispis (DoubleEnded)
Izlaz
Nakon klika na enter, izlaz će se pojaviti sličan ovom:
Ovdje u primjeru vrijednost je dodana na lijevoj strani popisa.
Uklonite vrijednost s desne strane
Korisnici mogu ukloniti deque kako bi uklonili vrijednost s desne strane deque-a. Korisnici mogu odabrati ovu opciju za uklanjanje relevantnih vrijednosti s dequea s desne strane. Upotrijebite sljedeće retke koda:
>>> ispis ("Uklanjanje s desne strane:")>>> DoubleEnded.pop ()
>>> ispis (DoubleEnded)
IzlazDa biste provjerili ažurirani izlaz deque, pritisnite tipku enter.
Ovdje će se vrijednost koja je prethodno bila na desnoj strani dequea, a u našem slučaju je četvrtak, ukloniti iz dequea.
Uklonite vrijednost s lijeve strane
Da bi uklonili vrijednost s lijeve strane dequea, korisnici trebaju koristiti sljedeće retke koda:
>>> print ("Uklanjanje vrijednosti s lijeve strane:")>>> DoubleEnded.popleft ()
>>> ispis (DoubleEnded)
IzlazDa biste provjerili ažurirani izlaz deque, pritisnite tipku enter.
Ovdje će se vrijednost koja je prethodno bila na lijevoj strani dequea nedjelja ukloniti iz deque-a.
Obrtanje cijelog dequea
Da biste preokrenuli čitav deque, upotrijebite sljedeći kod:
>>> print ("Obrtanje cijelog dequea:")>>> DoubleEnded.obrnuti ()
>>> ispis (DoubleEnded)
Kad pritisnete enter, deque će se vratiti s lijeve na desnu stranu.
Zaključak
U ovom uputstvu raspravljali smo o konceptu deque. Podijelili smo sve moguće operacije koje se mogu izvesti pomoću dequea koji je zbirka uvoza, dodavanje vrijednosti na desnu stranu dequea, dodavanje vrijednosti na lijevu stranu i uklanjanje vrijednosti s lijeve strane, uklanjanje vrijednosti s desne strane. Napokon smo razgovarali o metodi vraćanja cijelog dequea.
Mogućnosti o kojima se raspravlja u vodiču mogu se koristiti po potrebi. Korisnici se mogu odlučiti za popis ili deque na temelju svojih zahtjeva. Oboje imaju različite prednosti koje se temelje na situaciji u kojoj se jedan od njih koristi umjesto drugog. Dodjela memorije, učinkovitost i osnovne funkcionalnosti dvostrukih popisa jedine su razlike. Ovaj vodič mora biti koristan onima koji žele znati o generičkim operacijama deque-a.