Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

LOL :lol:

 

Η εκφώνηση πάντως είναι ξεκάθαρη νομίζω, στο ότι το 1ο loop πρέπει μονάχα να γεμίζει τον src πίνακα με τυχαίους και τίποτε άλλο.

 

Πάντως, τώρα που το ξανασκέφτομαι, αυτό το τελευταίο με την αντιστροφή των big-numbers στον destination μπορεί κάλλιστα να υλοποιηθεί, χωρίς να χρειάζεται έξτρα προσωρινός πίνακας που είχα βάλει στον αρχικό μου κώδικα.

 

Πρώτα γεμίζουμε τον src με τυχαίους, και μετά τον σκανάρουμε για να κοπιάρουμε τα small numbers στην αρχή του destination και τα big-numbers αντεστραμμένα στο τέλος του destination. N iterations δηλαδή. Τέλος αντιστρέφουμε στον destination μονάχα τα big-numbers, σε M/2 iterations (όπου M <= Ν είναι το πλήθος των big-numbers).

 

Βέβαια τώρα παίζουμε για να περνάει η ώρα... διυλίζουμε τον κώνωπα σε μια άσκηση με πίνακα 20 ακεραίων... και δεν ξέρουμε καν αν τα μισά iterations είναι πιο βαριά ή πιο ελαφριά από το swapping. Σε πολύ μεγάλο input και με διαφορετικά data types εικάζω πως θα έχει όντως διαφορά, αλλά υπερ ποιου δεν το ξέρω. Αυτά τα βρίσκει κανείς μόνο με profiling ή/και με proper ανάλυση. Όχι στο πόδι που το κάνουμε εδώ :)

Δημοσ.

Βέβαια τώρα παίζουμε για να περνάει η ώρα... διυλίζουμε τον κώνωπα σε μια άσκηση με πίνακα 20 ακεραίων... και δεν ξέρουμε καν αν τα μισά iterations είναι πιο βαριά ή πιο ελαφριά από το swapping. Σε πολύ μεγάλο input και με διαφορετικά data types εικάζω πως θα έχει όντως διαφορά, αλλά υπερ ποιου δεν το ξέρω. Αυτά τα βρίσκει κανείς μόνο με profiling ή/και με proper ανάλυση. Όχι στο πόδι που το κάνουμε εδώ :)

 

Καλά ναι. Αν ξέραμε και τι σημαίνει το input τότε θα ήταν καλά. Το τυχαίο δεν είναι καλό. Φαντάζομαι με μεγάλο (πολύ μεγάλο) input μπορούμε να επιστρατεύσουμε και μία GPU. :P

Δημοσ.

 

Το έξυπνο πουλί... :P

 

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

Δημοσ.

Shit happens

 

bug fixed https://ideone.com/2EYkl6

Γατακια

Νομίζω πως αυτό είναι σαν να πηγαίνεις Αθήνα-Λαμία μέσω... Κορίνθου. Χωρίς να βάζω το χέρι μου στη φωτιά, και ώρα που είναι δεν μπορώ να το ψάξω, έχω όμως την εντύπωση πως είναι πολύ πιο αργό σαν υλοποίηση.

Δημοσ.

Νομίζω πως αυτό είναι σαν να πηγαίνεις Αθήνα-Λαμία μέσω... Κορίνθου. Χωρίς να βάζω το χέρι μου στη φωτιά, και ώρα που είναι δεν μπορώ να το ψάξω, έχω όμως την εντύπωση πως είναι πολύ πιο αργό σαν υλοποίηση.

Αθηνα-Λαμια μεσω Λακωνιας... αλλα με rx8

Δημοσ.

Αθηνα-Λαμια μεσω Λακωνιας... αλλα με rx8

:lol:

 

Αν υποθέσουμε πως ο compiler χρησιμοποιεί όντως quick-sort, τότε τόσο σε average όσο και σε bets case παίζεις με O(n log n) έναντι O(n) ενώ σε worst case πας στα τάρταρα με Ο(n2).

 

ΥΓ. Με κάθε επιφύλαξη, γιατί είναι κι αργά.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...