Page 1 of 1

Αλγοριθμοι dfs-bfs

Posted: Tue Mar 29, 2011 12:02 pm
by deleted_0001
Καλησπερα παιδια. Ειμαι καινουργιος στο forum και θα ηθελα την βοηθεια σας

Εχω ενα προβλημα και πρεπει να το λυσω με 2 τροπους. Με dfs και bfs

Εχω 25 πινακες (2χ2) και γνωριζοντας το πρωτο στοιχειο και κανοντας καποιες συγκρισεις μεταξυ των πινακων, πρεπει να τα βαλω στην σωστη σειρα. Δεν γνωριζω ουτε την σειρα ουτε το τελευταιο στοιχειο. Οσο το εψαξα κατεληξα οτι το dfs και bfs ειναι η καλυτερη περιπτωση. Αυτοι οι αλγοριθμοι ομως χρησιμοποιουν δεντρα. Πως μπορω να περασω τους 25 πινακες που εχω ωστε να τους βλεπει ο καθε αλγοριθμος; Πρεπει να περασω χειροκινητα το δεντρο με τις ριζες και τα παιδια του ή αρκει να περασω τους 25 πινακες και με εναν αλγοριθμο να δημιουργησει το δεντρο;

Ευχαριστω

Re: Αλγοριθμοι dfs-bfs

Posted: Tue Mar 29, 2011 12:45 pm
by cypher
Γιατι να τα αναπαραστησεις σε δένδρο; Απλή ταξινόμηση σε σειρά δεν θές να κάνεις μεταξύ τους η κατάλαβα λάθος; Κάνε override την equals στην δομή που εχεις για τον κάθε 2χ2 πίνακα και κάνε την απλή sort() της java που χρησιμοποιεί και quicksort.

Re: Αλγοριθμοι dfs-bfs

Posted: Tue Mar 29, 2011 12:50 pm
by ja_the_invincible
Αν θες να εξερευνήσεις ένα χώρο με bfs,dfs με οποιαδήποτε στοιχεία δεν είναι ανάγκη να φτιάξεις δέντρο εκτός και αν έχουν σχέση πατέρα-παιδιού.Το καλύτερο που μπορείς να κάνεις για αναπαράσταση γραφήματος είναι μία λίστα γειτνίασης ή μία μήτρα(διπλός πίνακας) γειτνίασης.Εκεί για κάθε στοιχείο της λίστας κρατάει τους "γείτονες" του ή ακόμα καλύτερα μπορείς να φτιάξεις μία δομή που κρατάει κόμβους και άλλη μία που κρατάει ακμές.Κάθε υλοποίηση έχει τα καλά και τα κακά της..Ελπίζω να βοήθησα :-)

Re: Αλγοριθμοι dfs-bfs

Posted: Tue Mar 29, 2011 1:28 pm
by deleted_0001
Δεν εχω να κανω με ταξινομηση πινακων. Μπορει σε καθε ελεγχο να ταιριαζουν παραπανω απο ενα στοιχεια. Οποτε αν παρει το ενα και φτασει σε αδιεξοδο, θα πρεπει να γυρισει πισω και να παρει καποιο αλλο απο αυτα που ταιριαζαν. Να σημειωσω οτι ειναι μοναδικη η σειρα που μπορουν να μπουν τα στοιχεια μου.

Re: Αλγοριθμοι dfs-bfs

Posted: Wed Mar 30, 2011 3:15 pm
by tsilochr
Τα 25 πράγματα που έχεις μπορούν να αναπαρασταθούν ως γράφος; Ο γράφος πως σχηματίζεται; Είσαι σίγουρος ότι ο bfs/dfs σε καλύπτει; Τι ακριβώς ψάχνεις;

Re: Αλγοριθμοι dfs-bfs

Posted: Tue Apr 12, 2011 12:28 pm
by deleted_0001
Συγνωμη για την καθυστέρηση. Ειχα ενα μικρο προβλημα και δεν ειχα προσβαση σε ιντερνετ.

Ξανα γραφω το προβλημα καπως διαφορετικα.

Εχω 16 πινακες 2x2 που τα στοιχεια τους ειναι αριθμοι απο το 0 ως το 5.
Αυτοι οι πινακες θελουν να μπουν σαν puzzle με 16 κομματια. Δηλαδη να ξεκιναω απο ενα κομματι και το καθε ενα να ταιριαζει με το δεξια του και το απο πανω του.

Μας ειπε ο καθηγητης να το κανουμε σε δυο προγραμματα. Το ενα με dfs και το αλλο με bfs και να δουμε πιο ειναι γρηγοροτερο. Κατα πασα πιθανοτητα ειναι σε μορφη δεντρου το προβλημα και πρεπει να εφαρμοσουμε πανω στο δεντρο τους αλγοριθμους. Πως μπορουμε να αναπαραστησουμε τους πινακες σε μορφη δεντρου και πως θα εφαρμοσουμε πανω τους μετα τους αλγοριθμους;