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

Συζητήσεις για γλώσσες προγραμματισμού και θέματα σχετικά με προγραμματισμό.
Post Reply
deleted_0001
Buffer underflow exception
Buffer underflow exception
Posts: 3
Joined: Tue Mar 29, 2011 11:54 am
Academic status: N>4
Gender:

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

Post by deleted_0001 » Tue Mar 29, 2011 12:02 pm

Καλησπερα παιδια. Ειμαι καινουργιος στο forum και θα ηθελα την βοηθεια σας

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

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

Ευχαριστω
User avatar
cypher
Venus Former Team Member
Posts: 6207
Joined: Mon Sep 29, 2008 9:12 pm
Academic status: Alumnus/a
Gender:

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

Post by cypher » Tue Mar 29, 2011 12:45 pm

Γιατι να τα αναπαραστησεις σε δένδρο; Απλή ταξινόμηση σε σειρά δεν θές να κάνεις μεταξύ τους η κατάλαβα λάθος; Κάνε override την equals στην δομή που εχεις για τον κάθε 2χ2 πίνακα και κάνε την απλή sort() της java που χρησιμοποιεί και quicksort.
ImageImageImageImageImageImageImage
User avatar
ja_the_invincible
Wow! Terabyte level
Wow! Terabyte level
Posts: 2414
Joined: Tue Dec 01, 2009 12:33 am
Academic status: N>4
Gender:
Location: Κάπου στο matrix...

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

Post by ja_the_invincible » Tue Mar 29, 2011 12:50 pm

Αν θες να εξερευνήσεις ένα χώρο με bfs,dfs με οποιαδήποτε στοιχεία δεν είναι ανάγκη να φτιάξεις δέντρο εκτός και αν έχουν σχέση πατέρα-παιδιού.Το καλύτερο που μπορείς να κάνεις για αναπαράσταση γραφήματος είναι μία λίστα γειτνίασης ή μία μήτρα(διπλός πίνακας) γειτνίασης.Εκεί για κάθε στοιχείο της λίστας κρατάει τους "γείτονες" του ή ακόμα καλύτερα μπορείς να φτιάξεις μία δομή που κρατάει κόμβους και άλλη μία που κρατάει ακμές.Κάθε υλοποίηση έχει τα καλά και τα κακά της..Ελπίζω να βοήθησα :-)
f**k robin and batman i'm robbin with a bat man
deleted_0001
Buffer underflow exception
Buffer underflow exception
Posts: 3
Joined: Tue Mar 29, 2011 11:54 am
Academic status: N>4
Gender:

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

Post by deleted_0001 » Tue Mar 29, 2011 1:28 pm

Δεν εχω να κανω με ταξινομηση πινακων. Μπορει σε καθε ελεγχο να ταιριαζουν παραπανω απο ενα στοιχεια. Οποτε αν παρει το ενα και φτασει σε αδιεξοδο, θα πρεπει να γυρισει πισω και να παρει καποιο αλλο απο αυτα που ταιριαζαν. Να σημειωσω οτι ειναι μοναδικη η σειρα που μπορουν να μπουν τα στοιχεια μου.
User avatar
tsilochr
Wow! Terabyte level
Wow! Terabyte level
Posts: 3246
Joined: Tue Mar 16, 2004 2:47 pm
Academic status: PhD
Gender:
Location: mm.aueb.gr
Contact:

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

Post by tsilochr » Wed Mar 30, 2011 3:15 pm

Τα 25 πράγματα που έχεις μπορούν να αναπαρασταθούν ως γράφος; Ο γράφος πως σχηματίζεται; Είσαι σίγουρος ότι ο bfs/dfs σε καλύπτει; Τι ακριβώς ψάχνεις;
deleted_0001
Buffer underflow exception
Buffer underflow exception
Posts: 3
Joined: Tue Mar 29, 2011 11:54 am
Academic status: N>4
Gender:

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

Post by deleted_0001 » Tue Apr 12, 2011 12:28 pm

Συγνωμη για την καθυστέρηση. Ειχα ενα μικρο προβλημα και δεν ειχα προσβαση σε ιντερνετ.

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

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

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

Return to “Προγραμματισμός”