trellapedia Δημοσ. 31 Μαρτίου 2012 Δημοσ. 31 Μαρτίου 2012 void dfs(int start){ int w; v[start]=1; for (w=0;w<size;w++) if ((b[start][w]==1) && (v[w]==0)) dfs(w);} Όπου b o πίνακας γειτνίασης, v ο πίνακας visited, size το μέγεθος του πίνακα γειτνίασης. Αν θέλουμε να επισκεφτούμε όλους τους κόμβους ενός γράφου μπορούμε να χρησιμοποιήσουμε έναν από πολλούς τρόπους, οι οποίοι διαφέρουν στη σειρά με την οποία εξετάζουν τους κόμβους(ο dfs είναι ένας από αυτούς). Διαδικασίες διάσχισης χρησιμοποιούνται για τη διακρίβωση ύπαρξης μονοπατιού μεταξύ δύο κόμβων κ.α. Αυτός είναι ο γράφος Αυτός είναι ο πίνακας γειτνίασης Αυτή είναι η λύση αν μπει ο dfs μέσα σε for μέχρι οι κορυφές του v να γίνουν όλες 1
bokarinho Δημοσ. 1 Απριλίου 2012 Δημοσ. 1 Απριλίου 2012 void dfs(int start){ int w; v[start]=1; for (w=0;w<size;w++) if ((b[start][w]==1) && (v[w]==0)) dfs(w);} Όπου b o πίνακας γειτνίασης, v ο πίνακας visited, size το μέγεθος του πίνακα γειτνίασης. Αν θέλουμε να επισκεφτούμε όλους τους κόμβους ενός γράφου μπορούμε να χρησιμοποιήσουμε έναν από πολλούς τρόπους, οι οποίοι διαφέρουν στη σειρά με την οποία εξετάζουν τους κόμβους(ο dfs είναι ένας από αυτούς). Διαδικασίες διάσχισης χρησιμοποιούνται για τη διακρίβωση ύπαρξης μονοπατιού μεταξύ δύο κόμβων κ.α. Αυτός είναι ο γράφος Αυτός είναι ο πίνακας γειτνίασης Αυτή είναι η λύση αν μπει ο dfs μέσα σε for μέχρι οι κορυφές του v να γίνουν όλες 1 Δεν κατάλαβα ποια είναι η ερώτηση... Αλήθεια.
trellapedia Δημοσ. 2 Απριλίου 2012 Μέλος Δημοσ. 2 Απριλίου 2012 Φίλε δεν το έβαλα ως ερώτηση. Το έβαλα επιμορφωτικα
Star_Light Δημοσ. 2 Απριλίου 2012 Δημοσ. 2 Απριλίου 2012 Φίλε δεν το έβαλα ως ερώτηση. Το έβαλα επιμορφωτικα Καλα το καταλαβα
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα