Διαφορά μεταξύ στοίβας και ουράς

Διαφορά μεταξύ στοίβας και ουράς
Διαφορά μεταξύ στοίβας και ουράς

Βίντεο: Διαφορά μεταξύ στοίβας και ουράς

Βίντεο: Διαφορά μεταξύ στοίβας και ουράς
Βίντεο: Public vs Private IP Address 2024, Ιούλιος
Anonim

Stack vs Queue

Η Στοίβα είναι μια ταξινομημένη λίστα στην οποία η εισαγωγή και η διαγραφή των στοιχείων της λίστας μπορούν να γίνουν μόνο στο ένα άκρο που ονομάζεται κορυφή. Για αυτόν τον λόγο, η στοίβα θεωρείται ως δομή δεδομένων Last in First out (LIFO). Η ουρά είναι επίσης μια ταξινομημένη λίστα στην οποία η εισαγωγή των στοιχείων της λίστας γίνεται στο ένα άκρο που ονομάζεται πίσω και η διαγραφή των στοιχείων γίνεται στο άλλο άκρο που ονομάζεται μπροστινό. Αυτός ο μηχανισμός εισαγωγής και διαγραφής κάνει την ουρά μια δομή δεδομένων First in First out (FIFO).

Τι είναι το Stack;

Όπως αναφέρθηκε προηγουμένως, η στοίβα είναι μια δομή δεδομένων στην οποία προστίθενται και αφαιρούνται στοιχεία μόνο από το ένα άκρο που ονομάζεται κορυφή. Οι στοίβες επιτρέπουν μόνο δύο βασικές λειτουργίες που ονομάζονται push και pop. Η λειτουργία ώθησης προσθέτει ένα νέο στοιχείο στην κορυφή της στοίβας. Η λειτουργία pop αφαιρεί ένα στοιχείο από την κορυφή της στοίβας. Εάν η στοίβα είναι ήδη γεμάτη, όταν εκτελείται μια λειτουργία ώθησης, θεωρείται ως υπερχείλιση στοίβας. Εάν μια λειτουργία pop εκτελείται σε μια ήδη άδεια στοίβα, θεωρείται ως υποροή στοίβας. Λόγω του μικρού αριθμού λειτουργιών που θα μπορούσαν να εκτελεστούν σε μια στοίβα, θεωρείται ως μια περιορισμένη δομή δεδομένων. Επιπλέον, σύμφωνα με τον τρόπο με τον οποίο ορίζονται οι λειτουργίες push και pop, είναι σαφές ότι τα στοιχεία που προστέθηκαν τελευταία στη στοίβα βγαίνουν πρώτα από τη στοίβα. Επομένως, η στοίβα θεωρείται ως δομή δεδομένων LIFO.

Εικόνα
Εικόνα
Εικόνα
Εικόνα

Τι είναι η ουρά;

Σε μια ουρά, τα στοιχεία προστίθενται από το πίσω μέρος της ουράς και αφαιρούνται από το μπροστινό μέρος της ουράς. Δεδομένου ότι τα στοιχεία που προστίθενται πρώτα θα αφαιρεθούν πρώτα από την ουρά, διατηρεί τη σειρά FIFO. Λόγω αυτής της σειράς προσθήκης και αφαίρεσης στοιχείων, η ουρά αντιπροσωπεύει την ιδέα μιας γραμμής ολοκλήρωσης αγοράς. Οι γενικές λειτουργίες που υποστηρίζονται από μια ουρά είναι οι λειτουργίες en-queue και de-queue. Η λειτουργία En-queue θα προσθέσει ένα στοιχείο στο πίσω μέρος της ουράς, ενώ η λειτουργία de-queue αφαιρεί ένα στοιχείο από το μπροστινό μέρος της ουράς. Γενικά, οι ουρές δεν έχουν όριο στον αριθμό των στοιχείων που μπορούν να προστεθούν στην ουρά εκτός από τους περιορισμούς μνήμης.

Ποια είναι η διαφορά μεταξύ Stack και Queue;

Αν και οι στοίβες και οι ουρές είναι είδη ταξινομημένων λιστών, έχουν κάποιες σημαντικές διαφορές. Στις στοίβες, η προσθήκη ή η διαγραφή στοιχείων μπορεί να γίνει μόνο από το ένα άκρο που ονομάζεται επάνω, ενώ στις ουρές η προσθήκη στοιχείων γίνεται από το ένα άκρο που ονομάζεται πίσω και η διαγραφή στοιχείων γίνεται από το άλλο άκρο που ονομάζεται μπροστά. Σε μια στοίβα, τα στοιχεία που προστίθενται τελευταία στη στοίβα θα αφαιρεθούν πρώτα από τη στοίβα. Επομένως, η στοίβα θεωρείται ως δομή δεδομένων LIFO. Στις ουρές, τα στοιχεία που προστίθενται πρώτα θα αφαιρεθούν πρώτα από την ουρά. Επομένως, η ουρά θεωρείται ως δομή δεδομένων FIFO.

Σχετικός σύνδεσμος:

Διαφορά μεταξύ στοίβας και σωρού

Συνιστάται: