kaliakman Δημοσ. 15 Ιανουαρίου 2016 Δημοσ. 15 Ιανουαρίου 2016 Καλησπέρα, αρχικά να πω πως ο σκοπός είναι να βρεθεί ο πιο γρήγορος τρόπος γιατί θα τρέξει Πολλές φορες. Έχουμε έναν πίνακα 9χ9 και ξεκινάμε από την 1 γραμμή. Θέλουμε να δούμε αν μπορεί να φτάσει απέναντι ο παίχτης (σε κάποια τετράγωνα δεν μπορεί να πάει για αυτό και ο ελεγχος). Αφού το εψαξα αρκετά έχω βρει τον djikstra και την bfs. Με αυτά που διάβασα προτίμησα το δεύτερο λόγω της πολυπλοκοτητας χρόνου Ο(E + V). Το θέμα είναι ότι δεν μπόρεσα να βρω χρόνο για τον πρώτο εκτός από το worst case performance της Wikipedia το οποίο όμως δεν είναι καθαρά για θέμα χρόνου. Η ερώτηση: Είναι η επιλογή μου η βελτιστη ή χάνω κάτι? Υ.Γ. Σε C ειναι και δεν μπορώ να δώσω κώδικα εδώ αν κάποιος θέλει, πμ. Ευχαριστώ!!
gon1332 Δημοσ. 15 Ιανουαρίου 2016 Δημοσ. 15 Ιανουαρίου 2016 Όταν λες BFS εννοείς τη Breadth First Search (αναζήτηση κατά πλάτος); Αν ναι, τότε αυτό είναι απλά ένας τρόπος διαπέρασης ενός γράφου. Ένας άλλος είναι ο Depth First Search (αναζήτηση κατά βάθος). Τι γράφο έχεις; Κατευθυνόμενος, μη; Με βάρη, χωρίς; Δεν κατάλαβα τι ακριβώς ζητάς. Τι σημαίνει το "απέναντι"; Τον BFS θα τον χρησιμοποιήσεις μόνο αν ο γράφος σου δεν έχει βάρη στις ακμές. Όταν φτάσεις στον προορισμό σου, το μονοπάτι που έφτασε πρώτο είναι και το συντομότερο (όχι ότι δε θα υπάρχουν κι άλλα το ιδιο σύντομα). Πάντως, αναλόγως με το πρόβλημά σου, επιλέγεις έναν από αυτούς: https://en.wikipedia.org/wiki/Shortest_path_problem#Algorithms
kaliakman Δημοσ. 15 Ιανουαρίου 2016 Μέλος Δημοσ. 15 Ιανουαρίου 2016 Γράφους δεν έχω κάνει οπότε δεν μπορώ να σου απαντήσω.. Ότι βρήκα το βρήκα ψάχνοντας αυτό που ήθελα. Οι κινήσεις είναι να πάμε μπροστά πίσω δεξιά αριστερά σε κελί που επιτρέπεται οπότε η κάθε κίνηση έχει βάρος 1.από ότι διάβασα η bfs (breadth first search) είναι καλή όταν το node που θέλουμε είναι μακριά οπότε είναι και η καταλληλότερη όπως το βλέπω. Δεν με νοιάζει ποιο είναι το μονοπατι μου αρκεί αρχικά να μπορεί να φτάσει στο προορισμό του (άμα ξεκινάμε στο row 1 προορισμός είναι οποιοδήποτε κελί του rows -1)και μετά η απόσταση του από το αρχικό κελί που θα χρησιμοποιηθει για evaluation αλλού.
groot Δημοσ. 15 Ιανουαρίου 2016 Δημοσ. 15 Ιανουαρίου 2016 Εάν έχεις συγκεκριμένες μεταβάσεις από ένα κελί σε ένα άλλο, τότε έχεις έναν κατευθυνόμενο γράφο (directed graph). Καλύτερα να ψάξεις για αλγόριθμους διάσχησης γράφων.
gon1332 Δημοσ. 15 Ιανουαρίου 2016 Δημοσ. 15 Ιανουαρίου 2016 Για να καταλάβω, αυτός ο πίνακας, δεν είναι πίνακας γειτνίασης, ε; Αν όχι τότε έχεις κάτι σαν ένα χάρτη, που σε κάθε κελί περιέχεται πληροφορία για το αν μπορείς να πατήσεις πάνω στο κελί ή όχι. Σωστά;
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα