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

Γενικό Λύκειο => Γ΄ Λυκείου => Μήνυμα ξεκίνησε από: vkol32 στις 10 Απρ 2010, 01:47:56 ΠΜ

Τίτλος: Θέλω βοήθεια για παράδειγμα του σχολικού βιβλίου....SOS!!!!!!!!!!!!
Αποστολή από: vkol32 στις 10 Απρ 2010, 01:47:56 ΠΜ
Αν μπορεί να μου δώσει κάποιος μια λύση  με επεξηγήσεις για το παράδειγμα που αναφέρεται στη σελίδα 56. Δομή Δεδομένων: "Χρησιμοποιείται και πάλι η ακολουθία.........πουαρχίζει από το γράμμα αυτό.

Τίτλος: Απ: Θέλω βοήθεια για παράδειγμα του σχολικού βιβλίου....SOS!!!!!!!!!!!!
Αποστολή από: pgrontas στις 10 Απρ 2010, 10:41:50 ΠΜ
Αυτό που εννοεί είναι το εξής:
Έχεις την πρώτη ακολουθία (όνομα, τηλέφωνο) ταξινομημένη με βάση το όνομα. Σε κάθε καταχώρηση δίνεται ένας αύξων αριθμός.
Για παράδειγμα:
Παράθεση
1.(Αβερης,2101234567)
2.(Αμβροσιος,2111234567)
... όλα τα ονόματα από Α...
2020.(Βαβακος,2111234567)
... όλα τα ονόματα από Β...
3543.(Γαβαλας,21....)
...
112312. (Παπαδόπουλος,21..)
...
Αν θες το τηλέφωνο, κάποιου του οποίου το όνομα αρχίζει από Π για παράδειγμα, πρέπει να ελέγξεις ένα ένα τα χιλιάδες ονόματα μέχρι το Π, κάτι που είναι χρονοβόρο. Για να κερδίσεις χρόνο φτιάχνεις μια δεύτερη ακολουθία που περιέχει κάθε γράμμα (Α,Β,Γ,Δ...) και τον αριθμό του πρώτου ονόματος που ξεκινάει από το γράμμα αυτό. Δηλαδή στο παραπάνω παράδειγμα:
Παράθεση
(Α,1)
(Β,2020)
(Γ,3543)
(Π,112312)
Οπότε όταν θες ένα τηλέφωνο για ένα όνομα που ξεκινάει από Π για παράδειγμα, σαρώνεις την δεύτερη ακολουθία. Βρίσκεις την θέση του πρώτου Π (στο παράδειγμα 112312) και σαρώνεις την πρώτη ακολουθία με τα ονόματα και τα τηλέφωνα από εκεί και κάτω. Με αυτόν κάνεις πολύ λιγότερες σαρώσεις στην πρώτη ακολουθία η οποία έχει μεγάλο μέγεθος.
Τίτλος: Απ: Θέλω βοήθεια για παράδειγμα του σχολικού βιβλίου....SOS!!!!!!!!!!!!
Αποστολή από: petrosp13 στις 10 Απρ 2010, 08:33:16 ΜΜ
Σαν τα απλά μπλοκάκια που είναι τηλεφωνικοί κατάλογοι και δεξιά έχουν τα γράμματα για να μπορείς να επιλέγεις κατευθείαν το γράμμα που βρίσκεται το επίθετο που ψάχνεις
Ευρετήρια
Τίτλος: Απ: Θέλω βοήθεια για παράδειγμα του σχολικού βιβλίου....SOS!!!!!!!!!!!!
Αποστολή από: vkol32 στις 10 Απρ 2010, 10:01:12 ΜΜ
Μήπως μπορεί κάποιος να μου αναφέρει και καποιο τμημα  αλγορίθμου για αυτό που ζητάς γιατί και παλι δεν μπορώ να το βγάλω!
Τίτλος: Απ: Θέλω βοήθεια για παράδειγμα του σχολικού βιβλίου....SOS!!!!!!!!!!!!
Αποστολή από: Laertis στις 10 Απρ 2010, 11:56:10 ΜΜ
Δες εδώ

http://users.sch.gr/gnikola/test_pin8.doc
Τίτλος: Απ: Θέλω βοήθεια για παράδειγμα του σχολικού βιβλίου....SOS!!!!!!!!!!!!
Αποστολή από: pgrontas στις 11 Απρ 2010, 10:17:22 ΠΜ
Παράθεση από: vkol32 στις 10 Απρ 2010, 10:01:12 ΜΜ
Μήπως μπορεί κάποιος να μου αναφέρει και καποιο τμημα  αλγορίθμου για αυτό που ζητάς γιατί και παλι δεν μπορώ να το βγάλω!
Βασικά δεν μπορείς να το κάνεις 100% όπως το λέει το βιβλίο γιατί δεν υπάρχει κάποιος τρόπος να αναπαρασταθούν τα ζευγαράκια (Οi, Τi). Αναγκαστικά λοιπόν θα πας σε παράλληλους πίνακες.
Για να φτιάξεις το ευρετήριο, αν υποθέσουμε λοιπόν ότι τα ονόματα των συνδρομητών είναι σε έναν πίνακα ΟΝΟΜΑΤΑ και τηλέφωνα σε έναν παράλληλο πίνακα ΤΗΛΕΦΩΝΑ αρχικά πρέπει να τους ταξινομήσεις. Στην συνέχεια ας υποθέσουμε ότι τα γράμματα βρίσκονται σε έναν πίνακα 24 θέσεων ΓΡΑΜΜΑΤΑ και θες να φτιάξεις το ευρετήριο σε έναν πίνακα ΘΕΣΕΙΣ. Κάνεις κάτι τέτοιο:
Κώδικας [Επιλογή]

ΑΛΓΟΡΙΘΜΟΣ ΕΥΡΕΤΗΡΙΟ
ΔΕΔΟΜΕΝΑ //ΟΝΟΜΑΤΑ,ΤΗΛΕΦΩΝΑ,ΓΡΑΜΜΑΤΑ//
ΘΕΣΕΙΣ[1]← 1
Θ← 2
ΓΡ← 2
ΟΝ← 1
ΟΣΟ Θ<=24 ΕΠΑΝΑΛΑΒΕ
ΟΣΟ ΟΝΟΜΑΤΑ[ΟΝ]>=ΓΡΑΜΜΑΤΑ[ΓΡ-1] ΚΑΙ ΟΝΟΜΑΤΑ[ΟΝ]<ΓΡΑΜΜΑΤΑ[ΓΡ] ΕΠΑΝΑΛΑΒΕ
ΟΝ← ΟΝ+1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΘΕΣΕΙΣ[Θ]← ΟΝ
Θ← Θ+1
ΓΡ← ΓΡ+1
ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
ΑΠΟΤΕΛΕΣΜΑΤΑ //ΘΕΣΕΙΣ//
ΤΕΛΟΣ ΕΥΡΕΤΗΡΙΟ

Για την αναζήτηση την βασική ιδέα την βλέπεις στον αλγόριθμο που σου υπέδειξε ο Γιώργος νωρίτερα.
Τίτλος: Απ: Θέλω βοήθεια για παράδειγμα του σχολικού βιβλίου....SOS!!!!!!!!!!!!
Αποστολή από: vkol32 στις 11 Απρ 2010, 06:27:04 ΜΜ
eyxaristw poly