Ποιος αλγόριθμος ταξινόμησης είναι ο παρακάτω;

Ξεκίνησε από starsailor, 26 Ιαν 2016, 01:55:18 ΠΜ

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

starsailor

παράδειγμα με πίνακα 10 θέσεων

Για i από 2 μέχρι 10
   Για j από 1 μέχρι i-1
     Αν a[j]<a τότε 
       Αντιμετάθεσε a[j],a
     Τέλος_αν
   Τέλος_επανάληψης
Τέλος_επανάληψης

starsailor

άλλαξα το i με το k γιατί δεν εμφανιζόταν σωστά

Για k από 2 μέχρι 10
   Για j από 1 μέχρι k-1
     Αν a[j]<a[k] τότε 
       Αντιμετάθεσε a[j],a[k]
     Τέλος_αν
   Τέλος_επανάληψης
Τέλος_επανάληψης

apoldem

Για παραλλαγή του insertion sort μου φαίνεται.

Από την αρχή του πίνακα και μέχρι τον δείκτη (k-1) η λίστα παραμένει ταξινομημένη. Για το κάθε επόμενο στοιχείο (δείκτης k) βρίσκουμε την σωστή θέση που πρέπει να τοποθετηθεί (j) και το τοποθετούμε εκεί, σπρώχνοντας ταυτόχρονα τα υπόλοιπα στοιχεία που είναι μεγαλύτερα μια θέση δεξιά.

Η μόνη διαφορά σ' αυτόν τον αλγόριθμο είναι ότι αντί να σπρώξει τα μεγαλύτερα στοιχεία δεξιά κατά μία θέση, αυτός συνεχίζει να ξανα-ταξινομεί αυτά τα στοιχεία μεταφέροντας τα στην θέση k και μετά ξανά πάλι πίσω στην νέα τους σωστή θέση. Η καρδιά όμως του αλγόριθμου είναι το insertion sort. Οι μεταθέσεις που κάνει αυτός ο αλγόριθμος είναι οι ίδιες (σε πλήθος) με τον insertion. Το μόνο περιττό που έχει είναι οι επιπλέον συγκρίσεις, αφού έχουμε βρει την σωστή θέση του νέου στοιχείου.

dpa2006

Μάλλον ναι του insertion sort (Ταξινόμηση με εισαγωγή)
http://www.cs.ucy.ac.cy/courses/EPL231/2010-winter/notes/notes15-16.pdf
Σελ 7-8

users.sch.gr/vasisoulas/kef3/sorte.doc
Computer science (abbreviated CS or CompSci) is the scientific and practical approach to computation and its applications. It is the systematic study of the feasibility, structure, expression, and mechanization of the methodical processes (or algorithms) that underlie the acquisition, representation, processing, storage, communication of, and access to information, whether such information is encoded in bits and bytes in a computer memory or transcribed engines and protein structures in a human cell.source:http://en.wikipedia.org/wiki/Computer_science

stavrax