Alfionsort

Το μέρος όπου μπορούν οι διαγωνιζόμενοι - και όχι μόνο - να μιλήσουν σχετικά με οτιδήποτε.
Απάντηση
pman
Δημοσιεύσεις: 419
Εγγραφή: Τρί Φεβ 10, 2009 9:49 pm

Alfionsort

Δημοσίευση από pman »

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

http://www.planet-source-code.com/vb/sc ... 7&lngWId=3

Επίσης είχε βγει ένα άρθρο και στην τοπική εφημερίδα του νομού μου αλλά από ότι βλέπω δεν έχει περαστεί ακόμα στην βάση δεδομένων για να σας έδεινα το link για να το διαβάσετε.
Λοιπόν σχετικά με τον αλγόριθμο : είναι ένας αλγόριθμος πολυπλοκότητας
Ο( (Ν / 2 * Ν/2) + (Ν/2) ) . O αλγόριθμος ταξινόμησης μου τον οποίο ονόμασα Alfion sort βασίζεται στην τεχνική διαίρει και βασίλευε και είναι αναδρομικός. Λοιπόν η διαδικασία έχει εώς εξής 1ον) Έχουμε έναν πίνακα ο οποίος έχει μία αρχή και ένα τέλος.
2ον) Αρχίζουμε μία γραμμική αναζήτηση από το 1....Ν στοχείο του πίνακα μας και βρίσκουμε το μεγαλύτερο και το τελευταίο στοιχείο του πίνακα
3ον) Έπειτα αλλάζουμε το μικρότερο στοιχείο με το αρχικό στοιχείο του πίνακα και έπειτα το μεγαλύτερο στοιχείο με το τελευταίο στοιχείο του πίνακα μας ή αντιστρόφως ανάλογα τι έχουμε επιλέξει φθίνουσα ή αύξουσα σειρά.
4ον) Ξανακάνουμε μία αναζήτηση πάλι για να βρούμε πάλι το μικρότερο και το μεγαλύτερο στοιχείο του πίνακα μας όμως αυτή την φορά θα αυξήσουμε την αρχή της αναζήτησης κατά ένα και το τέλος της αναζήτησης κατά 1. Δηλαδή start += 1; end -=1; Με αποτέλεσμα η αναζήτηση να είναι τώρα δύο φορές πιο γρήγορη.
5ον) Επαναλαμβάνουμε πάλι τα ίδια βήματα μέχρι να ταξινομηθεί ο πίνακας.

Σύγγριση με αλγόριθμος πολυπλοκότητας Ο(Ν^2)
Για 10 στοιχεία είναι 10 ^ 2 = 100
Ενώ στον δικό μου φτάνει τα 30 μόνο.

Ενώ στους τετραγωνικόυς έχουμε συνέχεια 10 + 10 + 10 ... + 10 = 100
στον δικό μου έχουμε 10 + 8 + 6 + 4 + 2 = 30.

Αυτά είχα να πω.
Μάνος
Τελευταία επεξεργασία από το μέλος Κηπουρίδης την Σάβ Σεπ 24, 2022 3:35 pm, έχει επεξεργασθεί 2 φορές συνολικά.
Λόγος: Διατήρηση ανωνυμίας κατόπιν αίτησης χρήστη.
userresu
Δημοσιεύσεις: 191
Εγγραφή: Τρί Δεκ 16, 2008 9:53 pm

Re: Alfionsort

Δημοσίευση από userresu »

Εικόνα
thetrojan01
Δημοσιεύσεις: 712
Εγγραφή: Κυρ Δεκ 21, 2008 2:45 pm

Re: Alfionsort

Δημοσίευση από thetrojan01 »

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

Min-Max sort:
http://portal.acm.org/citation.cfm?id=322992

Year of Publication: 1987

Ο ίδιος αλγόριθμος με πιο κατατοπιστικό όνομα... Φίλε Μάνο, νομίζω ότι σε πρόλαβαν :|


ακόμα...
Είτε θέλεις να το πιστεύετε είτε όχι αυτός ο αλγόριθμος φτιάχτηκε από εμένα.
Σε ποιον είχες απευθύνει αρχικά το post και μετά άλλαξες τον αριθμό; :lol: (σε πειράζω!)
Τελευταία επεξεργασία από το μέλος Κηπουρίδης την Σάβ Σεπ 24, 2022 3:36 pm, έχει επεξεργασθεί 1 φορά συνολικά.
Λόγος: Διατήρηση ανωνυμίας κατόπιν αίτησης χρήστη.
svyr cercrv an inevrfnv cbyl tvn an gb iyrcrvf nhgb... cvtrar xnzvn ibygn yrj tj.
pman
Δημοσιεύσεις: 419
Εγγραφή: Τρί Φεβ 10, 2009 9:49 pm

Re: Alfionsort

Δημοσίευση από pman »

Μισό λεπτό! Δεν είναι το ίδιο! Άλλη διαδικασία κάνει ο δικός μου αλγόριθμος και άλλη διαδικασία κάνει αυτή η ταξινόμηση που λες εσύ.
thetrojan01
Δημοσιεύσεις: 712
Εγγραφή: Κυρ Δεκ 21, 2008 2:45 pm

Re: Alfionsort

Δημοσίευση από thetrojan01 »

Α ναι; Καλά θα το ελέξω μόλις πάω Ρόδο. Πάντως το ίδιο μου φαίνεται, εξεφρασμένο με διαφορετικό τρόπο, πάντως ως σκέψη διαβάζω να είναι η ίδια.
svyr cercrv an inevrfnv cbyl tvn an gb iyrcrvf nhgb... cvtrar xnzvn ibygn yrj tj.
Απάντηση