Sammenligning av kø vs deque i Python

Sammenligning av kø vs deque i Python
Python har en mer spesialisert datastruktur som kalles en kø som vi kan bruke for å gruppere disse køelementene. Derfor, med mindre annet er spesifisert, er den "først inn, først ut". Dette betyr at de første varene som er lagt til i køen, er de første som er fjernet når noe er klart til å fjerne dem fra køen. Det er betydelig vanskeligere å slette elementene fra midten av en kø enn det er å gjøre det på en liste. Deque er en container som ligner en liste og har raske vedlegg og pops i begge ender. Det er en del av bibliotekets samling. Metodene "vedlegg ()" og "pop ()" brukes henholdsvis for å legge til elementene fra enden av en deque og fjerne elementene fra enden av en deque.

Eksempel 1: Legge til elementene i køen og bruke QSIZE () -metoden for å bestemme køens størrelse

I dette eksemplet vil vi legge til elementene i kølisten og bestemme størrelsen på køen. En kø er en gruppe objekter som letter rask innsetting og sletting ved bruk av "First-In, First-Out" -semantikken som også er kjent som "FIFO". Enqueue og Deque er alternative navn for å legge til og fjerne operasjonen. Køer tillater normalt ikke tilfeldig tilgang til tingene de har, kontrasterende samlinger eller matriser. Stabler og køer er sammenlignbare, men skillet mellom dem er hvordan du fjerner gjenstandene. Den første, første, første "FIFO" eller en kø minst nylig tilskudd, fjernes; En stabeles siste tillegg er ekskludert i siste-inn, første-out eller LIFO. I køen kan vi sette inn elementet bakfra; Dette er kjent som enqueue.

La oss nå begynne å implementere koden som gjøres ved hjelp av "Spyder" -verktøyet. Vi etablerer en "kø" -klasse først der vi setter "først inn, først ut" -prinsippet ut i praksis. Deretter definerer vi i det følgende trinnet en funksjon med navnet "_init_" og kaller det med "selv" -argumentet. Hver eneste gang en forekomst er opprettet fra en klasse, blir "__init__" -metoden påkalt. "Selv" er en beskrivelse av klasseinstansen. "Selv" -begrepet i Python lar brukerne oppdage klassens egenskaper og metoder. Den kobler de gitte inngangene og egenskapene.

Deretter bruker vi "jeget.kø = liste () ”for å tilordne en listefunksjon til objektet () naturlig kode med en køvariabel. Etter det oppretter vi en funksjon som heter “Insert_item” og kaller den med “Self” og “Value” -inngangene. Hvis verdien ikke er i køen, bruker vi en "hvis" tilstand og bruker "selv.kø.Sett inn ”for å sette inn elementet, passere“ 0 ”og“ Verdi ”som parametere. Deretter definerer vi i følgende trinn en funksjon som kalles "størrelse" og gir begrepet "selv" til det. I tillegg returnerer vi størrelsen på elementene som nå er i køen i denne funksjonen.

Nå som en kø opprettes, lagrer vi den i "køen" -variabelen ved hjelp av "kø ()" -metoden. Deretter kaller vi "Sett inn element" -funksjonen med "kø" for å legge til varene i køen. Navnene på fargene som "rosa", "gul" og "brun" utgjør listen over komponentene som vi legger til i køen. Køens lengde føres deretter til "utskrift" -funksjonen, som deretter kalles etter å ha gitt køen til "størrelse ()" for å bestemme køens lengde. Hele antallet størrelser som er til stede i en kø returneres med denne "størrelse ()" -metoden.

Som du kan se i utgangsbildet, viser det opprinnelig "Køens lengde" -utskriftsuttalelse og dens størrelse som er "3" fordi vi i forrige kode la til tre oppføringer i køen som betyr at størrelsen er tre.

Nå, i det følgende avsnittet, bruker vi den innebygde POP () -metoden for å eliminere elementene fra køen. Vi kan fjerne komponenten fra ryggen ved hjelp av denne prosedyren.

La oss starte med å lage skriptet. Den forrige koden brukes til å sette inn varene i køen. Vi definerer klassenavnet og funksjonen først, som er "kø". Deretter definerer vi funksjonen som i den foregående koden, og passerer "selv" nøkkelordet. "Sett inn element" -funksjonen er deretter definert. I køklassen kaller vi denne funksjonen for å legge til elementene. Hvis verdien ikke allerede er i køen, bruker vi en "hvis" -tilstand innenfor denne metoden og setter inn elementet.

Deretter definerer vi på følgende linje "Fjern_item" -funksjonen for å fjerne elementene fra køen. Inne i denne funksjonen kaller vi “pop ()” -metoden med en kø for å fjerne de siste elementene fra køen. Varen på det utpekte stedet elimineres av POP () -prosedyren. Fjernfunksjonen for fjerning av elementet sjekker hvis en kø ikke er overbelastet. Hvis det returnerer usant, må du eliminere hvert element en om gangen. Deretter påkaller vi "køen" -klassens funksjoner.

Først setter vi ut komponentene i køen ved å bruke "køen.Sett inn elementet ”-metode. Deretter kaller vi "print ()" -funksjonen ved å passere "køen.Fjern funksjonen () ”inni for å fjerne det siste elementet når tilstanden er bekreftet.

Nå som det siste stykket blir slettet fra kølisten, kan du se at den ikke ble presentert i utdataene. Det viste bare de "rosa" og "gule" elementene.

Eksempel 2: Bruke en deque -modul i et Python -skript

I denne illustrasjonen importerer vi en deque -modul og erklærer en liste som en deque etter det. I Python er deque det motsatte av køen. Deques er datatyper som ligner sekvensene og ble opprettet som en generalisering av stabling og køer. På begge endepunktene for datastrukturen gir de hukommelseseffektive og raske add-and-pop-operasjoner. Dobbel sluttkø er forkortet som deque.

La oss starte med å importere deque fra innsamlingsmodulen. Deretter tildeler vi navnet på listen som blir utsatt før vi erklærer en deque (). Listenes verdier er "matematikk", "engelsk", "datamaskin" og "vitenskap". Vi legger dem til deque etter å ha ringt den, og lagret listen i "emnet" -variabelen. "Print ()" -funksjonen blir deretter påkalt i neste linje. Siden listen er lagret i "emne" -variabelen, gir vi den som et argument.

Listen er nå vist på utgangsskjermen, og den er en deque -liste med fire elementer.

Elementene legges til ved starten og slutten av deque i neste del av koden ved å bruke "Append ()" og "appendleft ()" -funksjonene. De fjernes ved hjelp av “Pop ()” og “Pop () Left” -metodene. Importere samlingsmodulen er det første trinnet i å starte programmeringen. I henhold til beskrivelsen er Python Collection -pakken en beholder for å oppbevare datasamlingene inkludert lister, tuples og andre typer. Det er på plass for å forbedre funksjonaliteten til de innebygde samlebeholderne.

Deretter bruker vi “samlingen.Deque () ”for å påkalle“ Deque () ”i samlingsmodulen, og passerer verdiene“ 1 ”,“ 2 ”,“ 3 ”,“ 4 ”og“ 5 ”som skal lagres i den nydannede“ Deque ” gjenstand. "6" -variabelen blir deretter gitt som et argument til "vedlegg ()" -funksjonen i følgende trinn som legger til "6" til listen. Deretter utfører vi "print ()" -funksjonen, og består uttalelsen som dens innspill. For å vise resultatet kaller vi deretter "deque" inne i utskriftsmetoden som legger til "6" til høyre side av listen eller på slutten av listen. Deretter bruker vi “Deque” -objektet for å bruke “appendleft ()” -metoden, og passerer den verdien “7” som viser “7” på listenes venstre side eller på listenes begynnelse.

Deretter bruker vi i det følgende trinn. Vi bruker deretter "Popleft ()" -metoden med "Deque" -variabelen for å fjerne det venstre elementet eller startelementet fra listen som nå er "7", og fjerner "7" fra listen.

Nå som listen blir presentert, legger den først “6” til deque. Deretter ved å bruke "appendleft ()" -funksjonen, legger den til "7" til deque's venstre side. Deretter, i den følgende linjen, blir det siste elementet i listen som er "6" slettet ved hjelp av "pop ()" -metoden. Og ved å bruke "Popleft ()" blir det første elementet fra deque som er "7" eliminert.

Konklusjon

Vi diskuterte sammenligningen av Python -kø og deque i denne artikkelen. Det "første, første-ut" -prinsippet ligger til grunn for køens forestilling. Mens “Last-In, First-Out” -prinsippet underbygger Deque-konseptet. I denne artikkelen dekket vi to eksempler. I det første eksemplet dekket vi Python -køen der vi la til og fjernet elementene og bestemte køstørrelsen. I det andre eksemplet snakket vi om deque og dekket hvordan vi danner listene i den. Vi dekket også "Append" og "appendleft ()" -metodene, så vel som "pop ()" og "popleft ()" -metodene i andre halvdel av den andre metoden.