Δευτέρα 27 Μαρτίου 2023

Σειριακή Αναζήτηση

 Σειριακή αναζήτηση σημαίνει ότι ψάχνουμε με τη σειρά ένα σύνολο αριθμών (π.χ. σε λίστα) για να δούμε αν υπάρχει ένας συγκεκριμένος αριθμός.

Ο ένας τρόπος είναι να ψάχνουμε πάντα όλους τους αριθμούς ως το τέλος, ακόμα κι αν έχουμε εντοπίσει τον αριθμό που ψάχνουμε. Εδώ χρησιμοποιούμε for, διότι ο αριθμός των επαναλήψεων είναι γνωστός.

def ser(x,L):

    flag=False

    for i in range(len(L)):

        if L[i]==x:

            flag=True

    return flag


x=input('Αριθμός')

L=[]


    

y=input('Αριθμός Λίστας')

while y!=-999:

    L.append(y)

    y=input('Αριθμός Λίστας')


z=ser(x,L)

print z



Ο άλλος τρόπος είναι να διακόπτουμε την αναζήτηση μόλις βρεθεί ο αριθμός. Εδώ χρησιμοποιούμε while, αφού ο αριθμός των επαναλήψεων δεν είναι δεδομένος.

Η επανάληψη σταματά είτε όταν σηκωθεί η σημαία (flag=True) ή όταν τελειώσουν τα στοιχεία της λίστας (i>=len(L)¨

def ser(x,L):

    flag=False

    n=len(L)

    i=0

    while i<n and flag==False:

        if L[i]==x:

            flag=True

        i=i+1

    return flag


x=input('Αριθμός')

L=[]

y=input('Αριθμός Λίστας')

while y!=-999:

    L.append(y)

    y=input('Αριθμός Λίστας')

z=ser(x,L)

print z

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου

Σημείωση: Μόνο ένα μέλος αυτού του ιστολογίου μπορεί να αναρτήσει σχόλιο.