Visual Basic.NET - Recursividad

 
Vista:

Recursividad

Publicado por Daniel Esteban (4 intervenciones) el 18/08/2004 00:50:39
Hola
NECESITO AYUDA, ACERCA DE PROGRAMAS RECURSIVOS, NECESITO EJERCICIOS, OJALA ME COLABOREN CON UNA BUENA PAGINA DE EJERCICIOS Y SI TENE LAS RESPUESTAS MEJOR.
CHAO
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Recursividad

Publicado por LUIS (1 intervención) el 19/08/2004 14:47:26
Una función recursiva es una función que se llama a sí misma en el caso de que se cumpla una condición.
La mejor forma de comrender la recursividad es imaginarse un árbol con sus ramas y hojas. Dibujate un árbol y sigue los pasos de la función recursiva.
En el ejemplo que está más abajo si llamas a la funcion CallRecursive y la pasas un árbol llamará a la funcion recursiva PrintRecursive pasándole como parámetro un nodo (una rama). Si este nodo tiene otros nodos (ramas u hojas) se llamará a sí mismá pasádole como parámetro el primer nodo que contenga hasta llegar a un nodo sin hojas (esta es la condicion que debe cumplir la recursividad), terminando la llamada a la función. Al terminar esta llamada vuelve a la linea siguiente a la llamada anterior y busca si este nodo tiene nodos hermanos y llama de nuevo a la función recursiva así hasta que recorre todos los nodos.

Private Sub PrintRecursive(ByVal n As TreeNode)
System.Diagnostics.Debug.WriteLine(n.Text)
MessageBox.Show(n.Text)
Dim aNode As TreeNode
For Each aNode In n.Nodes
PrintRecursive(aNode)
Next
End Sub

' Call the procedure using the top nodes of the treeview.
Private Sub CallRecursive(ByVal aTreeView As TreeView)
Dim n As TreeNode
For Each n In aTreeView.Nodes
PrintRecursive(n)
Next
End Sub

Espero que consigas entenderlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar