Αποστολέας Θέμα: Σειριακή Αναζήτηση  (Αναγνώστηκε 1595 φορές)

Loukritia

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

Επίσης στον αλγόριθμο όπως δίνεται από το βιβλίο η done =αληθής είναι ισοδύναμη με το pos<>0, οπότε όταν λύνω μια άσκηση, με συμφέρει να χρησ/ώ το πιο κατανοητό done (found στην συγκεκριμένη περίπτωση).Σωστά; Φυσικά αυτό δεν ισχύει για την παραλλαγή με την αναζήτηση σε ταξινομημένο πίνακα, αφού η done έχει άλλη σημασία ( το τέλος της αναζήτησης και όχι αναγκαστικά την εύρεση του αναζητούμενου στοιχείου).
Time is a great teacher, but unfortunately it kills all its pupils ... - Louis Hector Berlioz

gpapargi

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2452
  • I 'm not young enough to know everything
Απ: Σειριακή Αναζήτηση
« Απάντηση #1 στις: 29 Ιαν 2010, 10:48:07 πμ »
Για την αναζήτηση σε ταξινομημένο χρησιμοποιώ ακέραια μεταβλητή αντί για λογική. Αρχικά ξεκινάει με 0, αν βρει το στοιχείο γίνεται 1 και αν το προσπεράσει γίνεται 2. Τερματίζει πριν το τελος του πινακα αν αλλάξει το 0. Έτσι ξέρω για πιο λόγο τερμάτισε. Η λογική δεν πλέον δυαδική... αλλά τριαδική  ;)

xaidi

  • Ομάδα διαγωνισμάτων 2009
  • *
  • Μηνύματα: 111
  • who is WHO!!!!!!
Απ: Σειριακή Αναζήτηση
« Απάντηση #2 στις: 29 Ιαν 2010, 08:39:14 μμ »
!!!!!!
Ωραίος!
Ευχαριστώ,

Παναγιώτης Τσιωτάκης

  • Ομάδα Νέου Λυκείου
  • *
  • Μηνύματα: 3218
  • I love you 3000
    • Panagiotis Tsiotakis
Απ: Σειριακή Αναζήτηση
« Απάντηση #3 στις: 30 Ιαν 2010, 07:53:06 μμ »
όμως έτσι, αν δεν βρεθεί στις 7 πρώτες θέσεις ΔΕΝ ΕΚΠΛΕΓΕΤΑΙ
ωστόσο μπορεί να υπάρχει στις επόμενες θέσεις, ή να μην υπάρχει καν (δόθηκε λάθος όνομα)
αυτά δε ζητά η άσκηση να διερευνηθούν βέβαια

Loukritia

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 221
  • It takes two to tango...
Απ: Σειριακή Αναζήτηση
« Απάντηση #4 στις: 01 Φεβ 2010, 07:53:51 μμ »
Για την αναζήτηση σε ταξινομημένο χρησιμοποιώ ακέραια μεταβλητή αντί για λογική. Αρχικά ξεκινάει με 0, αν βρει το στοιχείο γίνεται 1 και αν το προσπεράσει γίνεται 2. Τερματίζει πριν το τελος του πινακα αν αλλάξει το 0. Έτσι ξέρω για πιο λόγο τερμάτισε. Η λογική δεν πλέον δυαδική... αλλά τριαδική  ;)
Ωραία άσκηση!!! Θα την δώσω σε τεστ!!!
Time is a great teacher, but unfortunately it kills all its pupils ... - Louis Hector Berlioz