Αποστολέας Θέμα: "Οι Ταξινομήσεις"  (Αναγνώστηκε 3836 φορές)

Kalli

  • Ομάδα διαγωνισμάτων 2010
  • *
  • Μηνύματα: 41
"Οι Ταξινομήσεις"
« στις: 09 Φεβ 2007, 01:05:12 μμ »
Λοιπόν πείτε σας παρακαλώ, στην ταξινομήση_ευθείας_εισαγωγής(ΔΡΑΣΤΗΡΙΟΤΗΤΑ ΔΣ3) και ταξινόμηση_ευθείας_επιλογής(βιβλίο καθηγητή παραγραφος 3.9.1) οφείλω να δώσω μεγάλη βάση ή απλά να τις λύσω και να τις εξηγήσω;
 

filippos

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 139
Απ: "Οι Ταξινομήσεις"
« Απάντηση #1 στις: 11 Φεβ 2007, 08:33:37 μμ »
Απλά να τις λύσεις και να τις εξηγήσεις ώστε οι μαθητές να καταλάβουν ότι η φυσσαλίδα δεν είναι παρά μία από τις λύσεις στο πρόβλημα της ταξινόμησης.

Μπορείς να θέλεις να τους τη δώσεις ως άσκηση για το σπίτι, να τους δώσεις δεδομένα να πειραματιστοπυν και να τους ζητήσεις να καταλάβουν ΤΙ κάνει ο αλγόριθμος και (σε δεύτερο στάδιο) να εξηγήσουν τη λειτουργία του.

Θα κερδίσουν αν απλά δουν ότι ένα πρόβλημα μπορεί να λυθεί με πολλούς τρόπους.

Vangelis

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 795
  • Για ακούτε και κανένα μεγαλύτερο!!!
Απ: "Οι Ταξινομήσεις"
« Απάντηση #2 στις: 12 Φεβ 2007, 08:34:35 μμ »
Αν υπάρχει έλλειψη χρόνου απλά εξήγησε τον τρόπο λειτουργίας τους και δώστους έτοιμο τον αλγόριθμο.   Οι λόγοι είναι αυτοί που αναφέρει ο Φίλιππος.

Αν έχεις χρόνο (συνήθως σπάνια) είναι ενδιαφέρον να δείξεις πως "χτίζεις" σταδιακά έναν απο αυτούς τους αλγορίθμους.  Ξεκινώντας απο την αρχική ιδέα, δημιουργώντας τις κατάλληλες δομές, έλεγχος να μην "βγώ" απο τον πίνακα, να μην ξεχάσω κανέναν στοιχείο του   κ.λπ. ΄

Γενικά πάντως δεν αποτελούν θέμα εξέτασης και οι μαθητές δεν πολυενδιαφέρονται.

Βαγγέλης

kyramas

  • Οπαδός
  • **
  • Μηνύματα: 10
  • Γράψτε το προσωπικό σας σλόγκαν!
Απ: "Οι Ταξινομήσεις"
« Απάντηση #3 στις: 09 Φεβ 2009, 12:35:49 μμ »
Θέλω να ρωτήσω αν υπάρχει "έξυπνη" bubble sort η οποία να σταματά χωρίς να απαιτεί ένα επιπλέον πέρασμα;

stavrax

  • Ομάδα διαγωνισμάτων 2011
  • *
  • Μηνύματα: 38
Απ: "Οι Ταξινομήσεις"
« Απάντηση #4 στις: 09 Φεβ 2009, 01:30:25 μμ »
δεν γίνεται με τίποτε ....

gpapargi

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2457
  • I 'm not young enough to know everything
Απ: "Οι Ταξινομήσεις"
« Απάντηση #5 στις: 10 Φεβ 2009, 09:13:52 πμ »
Θέλω να ρωτήσω αν υπάρχει "έξυπνη" bubble sort η οποία να σταματά χωρίς να απαιτεί ένα επιπλέον πέρασμα;

Υπάρχει στο τετράδιο μαθητή (κεφάλαιο 3, ΔΤ2, σελίδα 33) η έξυπνη φυσαλίδα που καταλαβαίνει πότε ο πίνακας έχει ταξινομηθεί "πρόωρα". Εννοείς αυτό ή κάτι πιο έξυπνο ακόμα;

kyramas

  • Οπαδός
  • **
  • Μηνύματα: 10
  • Γράψτε το προσωπικό σας σλόγκαν!
Απ: "Οι Ταξινομήσεις"
« Απάντηση #6 στις: 10 Φεβ 2009, 09:38:11 μμ »
Εννοώ αν υπάρχει πιο "έξυπνη" χωρίς να απαιτεί την προσπέλαση στην οποία δεν γίνεται καμία αντιμετάθεση. Να "καταλαβαίνει" δηλαδή ότι ο πίνακας ταξινομήθηκε ακόμη και αν έχουν γίνει αντιμεταθέσεις

gpapargi

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2457
  • I 'm not young enough to know everything
Απ: "Οι Ταξινομήσεις"
« Απάντηση #7 στις: 11 Φεβ 2009, 08:22:55 πμ »
Νομίζω όχι. Ας δούμε ένα παράδειγμα. Πες πως έχουμε τον πίνακα
2
3
4
5
1
και πάμε για αύξουσα ταξινόμηση. Στην πρώτη ολοκληρωμένη σάρωση από κάτω προς τα πάνω θα γίνει:
1
2
3
4
5

Η ταξινόμηση έχει τελειώσει και τώρα θέλουμε ένα τρόπο να το καταλάβουμε. Ας το δούμε σαν άνθρωποι πέρα από τις μηχανές. Είναι δυνατόν να καταλάβεις ότι τελείωσε χωρίς να κοιτάξεις τον πίνακα; Όχι. Το κοίταγμα του πίνακα ισοδυναμεί με σάρωση. Εκτός βέβαια αν με κάποιο τρόπο καταλάβεις από πριν ότι είσαι ένα βήμα πριν την τελική σάρωση. Πχ εγώ τον πίνακα του παραδείγματος τον έφτιαξα έτσι ώστε να ταξινομηθεί σε μια μόνο σάρωση. Αλλά και πάλι είχα κάνει από πριν τη σάρωση που γλίτωσα.

Γενικά πάντως δε νομίζω ότι είναι ζήτημα που αξίζει να απασχολήσει κάποιον. Αν γίνεται, θα γίνεται με δυσκολία μεγαλύτερη από αυτή που απαιτείται για να ασχοληθείς με άλλες γρηγορότερες ταξινομήσεις. Οπότε πας παρακάτω και τελειώνεις. Είναι σαν να μας απασχολεί το να βρούμε τη γρηγορότερη έκδοση της σειριακής αναζήτησης. Πας στη διαδική και τελειώνεις. (Αναγνωρίζω ότι η τελευταία παράγραφος είναι ντρίμπλα  ;)  )

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 5545
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: "Οι Ταξινομήσεις"
« Απάντηση #8 στις: 11 Φεβ 2009, 09:16:23 πμ »
Εννοώ αν υπάρχει πιο "έξυπνη" χωρίς να απαιτεί την προσπέλαση στην οποία δεν γίνεται καμία αντιμετάθεση. Να "καταλαβαίνει" δηλαδή ότι ο πίνακας ταξινομήθηκε ακόμη και αν έχουν γίνει αντιμεταθέσεις
Παράδειγμα (αύξουσα από αριστερά προς τα δεξιά, με έντονα οι συγκρίσεις):
1 2 8 6 5
1 2 6 8 5
1 2 6 5 8

Για να καταλάβει ότι ο παραπάνω πίνακας δεν είναι ταξινομημένος και ότι χρειάζεται κι άλλη "γύρα", θα πρέπει τη στιγμή που αντιμεταθέτει το 8 με το 5, να καταλάβει ότι το 5 είναι μικρότερο του 6.
Επομένως γίνεται, απλά χρειάζεται μια ακόμα σύγκριση, δηλαδή μια λογική μεταβλητή ταξινομημένος η οποία αρχικοποιείται σε ΑΛΗΘΗΣ και γίνεται ΨΕΥΔΗΣ αν (μετά από μια αντιμετάθεση του α[ι] με το α[ι+1]) το α[ι] είναι μικρότερο του α[ι-1].

Βέβαια το να προσθέτεις μια σύγκριση σε κάθε αντιμετάθεση για να γλυτώσεις μια επιπλέον "γύρα" στο τέλος δεν είναι βελτιστοποίηση (παρά μόνο σε κάποιες πολύ εξεζητημένες περιπτώσεις).

kyramas

  • Οπαδός
  • **
  • Μηνύματα: 10
  • Γράψτε το προσωπικό σας σλόγκαν!
Απ: "Οι Ταξινομήσεις"
« Απάντηση #9 στις: 12 Φεβ 2009, 10:09:28 πμ »
πολύ καλή λύση. Ευχαριστώ

gpapargi

  • Γενικός διαχειριστής
  • *****
  • Μηνύματα: 2457
  • I 'm not young enough to know everything
Απ: "Οι Ταξινομήσεις"
« Απάντηση #10 στις: 12 Φεβ 2009, 11:54:42 πμ »
Αν καταλαβαίνω καλά, τις συγκρίσεις της σάρωσης που γλιτώνεις τις κάνεις νωρίτερα. Αλλά τι νόημα έχει κάτι τέτοιο;
Πχ ακόμα και στο στημένο παράδειγμα που έδωσα και θέλει μόνο μια σάρωση
2 3 4 5 1
την ώρα που το έφτιαξα έκανα τη σάρωση που γλίτωσα μετά (είναι στημμένο). Το θέμα από ότι κατάλαβα είναι αν γίνεται να γλιτώσεις τελείως τα βήματα της επιπλέον σάρωσης και να καταλήξεις σε κάτι... ας πούμε πιο γρήγορο.
Να τονίσουμε πάντως ότι ακόμα κι αν γλιτώσεις τη σάρωση η τάξη του αλγορίθμου δεν αλλάζει και παραμένει ν2