Ένας δικός μου τρόπος ταξινόμησης

Ξεκίνησε από tpant, 09 Μαΐου 2008, 03:43:41 ΜΜ

« προηγούμενο - επόμενο »

tpant

Καλησπέρα.

Είμαι, εν αντιθέσει με πολλούς από εσάς, ακόμη μαθητής :P. Φέτος με γοήτευσε το μάθημα της Α.Ε.Π.Π. (σε αυτό συνέβαλε τα μέγιστα ο καθηγητής μου και μέλος του forum σας καθώς και το βοήθημα του κυρίου Π. Τσιοτάκη) με το οποίο ασχολήθηκα εκτενώς και ελπίζω σ' ένα καλό βαθμό στις Πανελλήνιες εξετάσεις.

Παρακάτω σας παραθέτω μια δική μου εργασία έτσι όπως την έστειλα αρχικά στον κύριο Π. Τσιοτάκη.

> Αλγόριθμος Ταξινόμηση
> {Στον παρακάτω αλγόριθμο φαίνεται πως θα επιτύχουμε την ταξινόμηση ενός
> μονοδιάστατου πίνακα (Π1) Ν θέσεων ακολουθώντας το εξής σκεπτικό:
> Χρησιμοποιώντας έναν βοηθητικό πίνακα (Π2) επίσης (προφανώς) Ν θέσεων
> παίρνουμε ένα-ένα τα στοιχεία του Π1 με δεδομένο ότι το εκάστοτε στοιχείο
> θα μπει στην τελευταία θέση (μέγιστο) του Π2 και τα συγκρίνουμε με τα
> υπόλοιπα (με μια δομή επανάληψης) του Π1. Κάθε φορά που βρίσκουμε πως
> κάποιο απ' τα υπόλοιπα στοιχεία είναι μεγαλύτερο από το εξεταζόμενο
> «κόβουμε» μια θέση (από το εξεταζόμενο). Συγκεκριμένα:}
> Για i από 1 μέχρι Ν
> Θέση <- Ν
> Για j από 1 μέχρι Ν
> Αν Π[j]>Π τότε
> Θέση <- Θέση - 1
> Τέλος_Αν
> Τέλος_Επανάληψης
> Π2[Θέση] <- Π
> Τέλος_Επανάληψης
> Τέλος Ταξινόμηση
> Αν δε ο πίνακάς μας έχει όμοια στοιχεία απαιτείται η προσθήκη ενός μετρητή
> για τις ισότητες (δεν παρουσιάζεται εδώ για λόγους απλότητας και
> ευκολότερης κατανόησης).
> Η μέθοδος αυτή δεν αποτελεί την τεχνικά πιο άρτια (περισσότερες
> επαναλήψεις ακόμα και από τη «φυσαλίδα», δεύτερος πίνακας) που υπάρχει,
> εντούτοις είναι η ευκρινέστερη (ας μου επιτραπεί ο αδόκιμος όρος, ελπίζω
> να καταλαβαίνετε τι εννοώ) και πιο κατανοητή στο μαθητή κατά τη γνώμη μου
> και την προσωπική μου πείρα.

P.Tsiotakis

Σου εύχομαι ΚΑΛΗ ΕΠΙΤΥΧΙΑ και να μην ξεχάσεις κατά τη διάρκεια του 3ωρου στην ΑΕΠΠ (και όλων των 3ώρων):

ΝΑ ΣΚΕΦΤΕΣΑΙ ΑΠΛΑ και να αποτυπώνεις τη σκέψη σου στο χαρτί όσο πιο ΑΠΛΑ γίνεται

evry


  όπου σκέτο Π, υποθέτω ότι εννοείς Π
μπορείς να κάνεις μια μικρή βελτίωση και να μην ξεκινάει κάθε φορά από την τελευταία θέση. Επίσης ο δεύτερος πίνακας δε χρειάζεται
Τώρα μπορεί να κοντράρει την bubble sort, αλλά μόνο στη χειρότερη περίπτωση και όχι στη μέση
Κώδικας: ΓΛΩΣΣΑ
Για i από 1 μέχρι Ν
   Θέση <- Ν - i + 1         
   Για j από 1 μέχρι Ν-i+1
       Αν Π[j]>Π[i] τότε
         Θέση <- Θέση - 1
      Τέλος_Αν
   Τέλος_Επανάληψης
   Αντιμετάθεσε Π[Θέση], Π[i]
Τέλος_Επανάληψης


Κάπου μπορεί να έχω κάνει κανένα λαθάκι
What I cannot create I do not understand -- Richard Feynman
http://evripides.mysch.gr