CrimsonSky_gr Δημοσ. 6 Απριλίου 2016 Δημοσ. 6 Απριλίου 2016 ..Ναι αλλά με το tradeoff οτι πολλαπλασιάζεις τον χρόνο του extract οταν πραγματοποιείς επακόλουθα push εφόσον μπορεί σε περισσότερα απο ενα στοιχεία να πρέπει να κανεις impose το heap propertyΝαι, και? Ειναι εντος των προδιαγραφων αυτο, η αλλη λυση οχι.Αν σου ζητησουν να υλοποιησεις ενα project θα αλλαξεις τις προδιαγραφες γιατι διαφωνεις? Κανεις μοκο και γραφεις αυτο που σου ζητησαν. Το ιδιο και εδω
AlexHello Δημοσ. 6 Απριλίου 2016 Δημοσ. 6 Απριλίου 2016 Υλοποιείς το project όπως σου ζητείται αλλά ενημερώνεις οτι pq με Ο(nlogn) pop είναι εξαιρετικά δυσνόητο και ασυνήθιστο. Γι' αυτό υπάρχει και το insomnia για να γίνεται συζήτηση.
Alithinos Δημοσ. 6 Απριλίου 2016 Δημοσ. 6 Απριλίου 2016 Έχω την παρακάτω άσκηση και δεν τρέχει σωστά .Δίνω και τον κώδικα που έχω γράψει,καθώς και την main που δεν είναι έτοιμη.Την insert την έχω κάνει με 2 τρόπους και κανένας δεν τρέχει .Δεν πρέπει να χρησιμοποιήσω επανάληψη για την εισαγωγή νέου στοιχείου. Δοκίμασε αυτό: 1. Πρόσθεσε και αρχικοποίησε με 0 το εξής πεδίο μέσα στη κλάση: private int putloc = 0; // Συμβολίζει τη τοποθεσία καταχώρησης στο πίνακα. 2. Φτιάξε την insert έτσι: public boolean insert(int number) { if (putloc == capacity) // Αν η τοποθεσία εισαγωγής έχει φτάσει το τέρμα... { return false; // Επέστρεψε 'ψέμα' (= τοποθέτηση απέτυχε) και δεν προστίθεται το στοιχείο. } //Αν το if είναι αληθές θα κάνει επιστροφή και το παρακάτω δεν θα εκτελεστεί. Άρα το παρακάτω δεν χρειάζεται οπωσδήποτε να το βάλεις σε else. putloc++; // Ανέβασε τη τοποθεσία καταχώρησης. List[putloc] = number; //Ώστε να ανατεθεί σε νέο στοιχείο του πίνακα List ο number. return true; // Επέστρεψε 'αλήθεια' (= τοποθέτηση επιτυχής). } Υ.Γ. Και εγώ στις δομές δεδομένων είμαι τώρα, αλλά στη C#. Η Java και η C# μοιάζουν πάρα πολύ στο συντακτικό τους τελικά... Υ.Γ.2. Όποιος είπε και κάποιος άλλος καλύτερα να άλλαζες το όνομα της List. Γιατί υπάρχει και άλλο πράγμα που έχει το ίδιο όνομα και θα καταλήξει μπερδευτικό.
M2000 Δημοσ. 8 Απριλίου 2016 Δημοσ. 8 Απριλίου 2016 Υλοποιείς το project όπως σου ζητείται αλλά ενημερώνεις οτι pq με Ο(nlogn) pop είναι εξαιρετικά δυσνόητο και ασυνήθιστο. Γι' αυτό υπάρχει και το insomnia για να γίνεται συζήτηση. Στην άσκηση λέει ο καθηγητής ότι έχει άλλο πιο γρήγορο αλγόριθμο. Τους βάζει την πατάτα για να μάθουν μετά το καλό. Αυτό δεν είναι κακό για την εκμάθηση! Μαθαίνεις απλά πράγματα και μετά πιο σύνθετα. Πάντως το μειονέκτημα είναι ότι θα περάσει στοιχείο με ίδια προτεραιότητα γρηγορότερα από άλλο που μπήκε πιο νωρίς. Οπότε αν έχεις ένα ισορροπημένο δένδρο που το ρυθμίζεις κάθε φορά που βγάζεις ένα και κρατάς και έναν δείκτη στο μεγαλύτερο (δηλαδή κάνεις όλη την δουλειά στην εξαγωγή), τότε είσαι οκ, απλά θέλεις μια λίστα ακόμα ως ουρά αναμονής για εκείνα που δεν έχουν μπει ακόμα στο δένδρο (δηλαδή έχουμε δυο δομές, όπου η αταξινόμητη...αδειάζει όταν βγάζουμε την κορυφή). Αυτή είναι η ιδέα μου. Αλλά δεν ξέρω ο καθηγητής τη έχει σκεφτεί! Ωραίο θα ήταν να μάθουμε!
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα