Το Στέκι των Πληροφορικών

Γενικό Λύκειο => Μονοδιάστατοι πίνακες => Γ΄ Λυκείου => Αναζήτηση => Μήνυμα ξεκίνησε από: Loukritia στις 28 Ιαν 2010, 09:16:47 μμ

Τίτλος: Σειριακή Αναζήτηση
Αποστολή από: Loukritia στις 28 Ιαν 2010, 09:16:47 μμ
Καλησπέρα,
Στο Θέμα 4, Εσπερινών 2008 ταξινομούμε με φθίνουσα σειρά ψήφων τους 20 υποψήφιους μιας εκλογικής διαδικασίας όπου εκλέγονται 7 άτομα. Όταν μας ζητείται να κάνουμε αναζήτηση στους εκλεχθέντες ενός ονόματος, θα μπορούσαμε κάλλιστα να κάνουμε  σειριακή αναζήτηση στις 7 πρώτες θέσεις  του πίνακα, δηλ.
 
Κώδικας: [Επιλογή]
Όσο i <=7 και done=ψευδής επαναλαβε, αντί να κάνω αναζήτηση σε όλο τον πίνακα και αποφασίσω βάσει του pos, έτσι;

Επίσης στον αλγόριθμο όπως δίνεται από το βιβλίο η done =αληθής είναι ισοδύναμη με το pos<>0, οπότε όταν λύνω μια άσκηση, με συμφέρει να χρησ/ώ το πιο κατανοητό done (found στην συγκεκριμένη περίπτωση).Σωστά; Φυσικά αυτό δεν ισχύει για την παραλλαγή με την αναζήτηση σε ταξινομημένο πίνακα, αφού η done έχει άλλη σημασία ( το τέλος της αναζήτησης και όχι αναγκαστικά την εύρεση του αναζητούμενου στοιχείου).
Τίτλος: Απ: Σειριακή Αναζήτηση
Αποστολή από: gpapargi στις 29 Ιαν 2010, 10:48:07 πμ
Για την αναζήτηση σε ταξινομημένο χρησιμοποιώ ακέραια μεταβλητή αντί για λογική. Αρχικά ξεκινάει με 0, αν βρει το στοιχείο γίνεται 1 και αν το προσπεράσει γίνεται 2. Τερματίζει πριν το τελος του πινακα αν αλλάξει το 0. Έτσι ξέρω για πιο λόγο τερμάτισε. Η λογική δεν πλέον δυαδική... αλλά τριαδική  ;)
Τίτλος: Απ: Σειριακή Αναζήτηση
Αποστολή από: xaidi στις 29 Ιαν 2010, 08:39:14 μμ
!!!!!!
Ωραίος!
Τίτλος: Απ: Σειριακή Αναζήτηση
Αποστολή από: P.Tsiotakis στις 30 Ιαν 2010, 07:53:06 μμ
όμως έτσι, αν δεν βρεθεί στις 7 πρώτες θέσεις ΔΕΝ ΕΚΠΛΕΓΕΤΑΙ
ωστόσο μπορεί να υπάρχει στις επόμενες θέσεις, ή να μην υπάρχει καν (δόθηκε λάθος όνομα)
αυτά δε ζητά η άσκηση να διερευνηθούν βέβαια
Τίτλος: Απ: Σειριακή Αναζήτηση
Αποστολή από: Loukritia στις 01 Φεβ 2010, 07:53:51 μμ
Για την αναζήτηση σε ταξινομημένο χρησιμοποιώ ακέραια μεταβλητή αντί για λογική. Αρχικά ξεκινάει με 0, αν βρει το στοιχείο γίνεται 1 και αν το προσπεράσει γίνεται 2. Τερματίζει πριν το τελος του πινακα αν αλλάξει το 0. Έτσι ξέρω για πιο λόγο τερμάτισε. Η λογική δεν πλέον δυαδική... αλλά τριαδική  ;)
Ωραία άσκηση!!! Θα την δώσω σε τεστ!!!