Μάθημα : Προγραμματισμός Η/Υ
Κωδικός : T522234
-
Εμφάνιση όλων των ενοτήτων
-
Τύποι δεδομένων
-
Πράξεις και εκφράσεις (αριθμητικές και λογικές)
-
Μεταβλητές
-
Βασικές (ενσωματωμένες) συναρτήσεις -Βιβλιοθήκες συναρτήσεων
-
Δομή προγράμματος και καλές πρακτικές
-
Τύποι και δομές δεδομένων στις γλώσσες προγραμματισμού
-
Δομή ακολουθίας
-
Αλγοριθμικές δομές (if, for, while)
-
Αλγοριθμικές δομές (Θέματα)
-
Δυαδική αναζήτηση
-
Ταξινόμηση Ευθείας ανταλλαγής
-
Διαχείριση Αρχείων
-
Υποπρογράμματα, Συναρτήσεις
-
Αρθρώματα (Modules)
-
Συμβολοσειρές (strings)
-
Λίστες
-
Στοίβα
-
Ουρά
-
Αντικειμενοστρεφής Προγραμματισμός
-
Θέματα προηγουμένων χρόνων
-
Tips & Tricks
-
Module random
-
Module math
-
Θέματα 2022-23
-
Θέματα 2023-24
-
Η ΑΙ λύνει τα θέματα
-
Τύποι δεδομένων
Ουρά
Ουρά
Μια δομή δεδομένων που χρησιμοποιείται για την μοντελοποίηση και προσομοίωση πραγματικών φαινομένων, είναι η δομή της ουράς.
π.χ. Η ουρά των προγραμμάτων που περιμένουν να εξυπηρετηθούν από τον επεξεργαστή του υπολογιστή.
Η λειτουργία της ουράς είναι γνωστή ως FIFO (First In First Out), αφού το κάθε στοιχείο της ουράς εξυπηρετείται με τη σειρά που έφτασε στην ουρά.
Δύο είναι οι βασικές λειτουργίες μιας ουράς:
● Εισαγωγή στοιχείου, η οποία γίνεται στο πίσω μέρος της ουράς.
● Εξαγωγή στοιχείου, η οποία γίνεται από το εμπρός μέρος της ουράς.
Υλοποίηση Ουράς σε Python
def enqueue(queue, item) :# εισαγωγή
queue = queue.append( item )
def dequeue(queue) :# εξαγωγή
return queue.pop( 0 )
def isEmpty(queue) : # έλεγχος
return len(queue) == 0
def createQueue( ) : #δημιουργία
return [ ]
Παράδειγμα
>>> def createQueue( ) : #δημιουργία
return [ ]
>>> oura=createQueue()
>>> oura
[]
>>> def isEmpty(queue) : # έλεγχος
return len(queue) == 0
>>> print isEmpty(oura)
True
>>> def enqueue(queue, item) :# εισαγωγή
queue = queue.append( item )
>>> enqueue(oura,'giorgos')
>>> enqueue(oura,'dimitris')
>>> enqueue(oura,'manolis')
>>> enqueue(oura,'antonia')
>>> enqueue(oura,'seri')
>>> print isEmpty(oura)
False
>>> print oura
['giorgos', 'dimitris', 'manolis', 'antonia', 'seri']
>>> for i in oura:
print i
giorgos
dimitris
manolis
antonia
seri
>>> def dequeue(queue) :# εξαγωγή
return queue.pop( 0 )
>>> print dequeue(oura)
giorgos
>>> print
>>> oura
['dimitris', 'manolis', 'antonia', 'seri']
>>> print dequeue(oura)
dimitris
>>> print dequeue(oura)
manolis
>>> print dequeue(oura)
antonia
>>> print dequeue(oura)
seri
Παράδειγμα ουράς
def enqueue(queue, item) :# εισαγωγή
queue = queue.append( item )
def dequeue(queue) :# εξαγωγή
return queue.pop(0)
def isEmpty(queue) : # έλεγχος
return len(queue) == 0
def createQueue( ) : #δημιουργία
return [ ]
#-------------------------
oura=createQueue()
print 'Katastasi Ouras Keni ', isEmpty(oura)
pelatis=raw_input('onoma pelati ')
while pelatis!='TELOS':
enqueue(oura,pelatis)
print 'Katastasi Ouras Keni ', isEmpty(oura)
pelatis=raw_input('onoma pelati ')
print oura
print 'exiperetisi kai exodos '
while not isEmpty(oura):
pliktro=raw_input('o epomenos /nai=enter')
print 'Exipireto ---->', dequeue(oura)
print 'Katastasi Ouras Keni ', isEmpty(oura)
print oura