Algoritmia - pseudocodigo de arbol bb

 
Vista:

pseudocodigo de arbol bb

Publicado por Dilson (1 intervención) el 21/04/2003 00:07:31
Hola un favor necesito el pseudodicg del tad arbol bb
espero que ayuden bueno que contengan los metodos principalñes
ok
gracias por tu ayuda
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
Imágen de perfil de Alejandro

Pseudocódigo para TAD árbol binario de búsqueda (ABB)

Publicado por Alejandro (307 intervenciones) el 28/02/2024 20:25:50
Claro, Dilson, aquí te presento un pseudocódigo simple para un TAD (tipo abstracto de datos) de un árbol binario de búsqueda (ABB). Este pseudocódigo incluirá los métodos principales como inserción, búsqueda y eliminación:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
TAD ArbolBinarioBusqueda:
    Estructura Nodo:
        Valor
        Nodo Izquierdo
        Nodo Derecho
 
    Método CrearNodo(valor):
        nuevoNodo = Nuevo Nodo
        nuevoNodo.Valor = valor
        nuevoNodo.Izquierdo = Nulo
        nuevoNodo.Derecho = Nulo
        Devolver nuevoNodo
 
    Método Insertar(arbol, valor):
        Si arbol es Nulo:
            Devolver CrearNodo(valor)
        Si valor < arbol.Valor:
            arbol.Izquierdo = Insertar(arbol.Izquierdo, valor)
        Sino si valor > arbol.Valor:
            arbol.Derecho = Insertar(arbol.Derecho, valor)
        // Si el valor ya existe, no hacer nada (no duplicados en ABB)
        Devolver arbol
 
    Método Buscar(arbol, valor):
        Si arbol es Nulo o arbol.Valor es igual a valor:
            Devolver arbol
        Si valor < arbol.Valor:
            Devolver Buscar(arbol.Izquierdo, valor)
        Sino:
            Devolver Buscar(arbol.Derecho, valor)
 
    Método Eliminar(arbol, valor):
        Si arbol es Nulo:
            Devolver arbol
        Si valor < arbol.Valor:
            arbol.Izquierdo = Eliminar(arbol.Izquierdo, valor)
        Sino si valor > arbol.Valor:
            arbol.Derecho = Eliminar(arbol.Derecho, valor)
        Sino:
            // Caso 1: Nodo con un solo hijo o sin hijos
            Si arbol.Izquierdo es Nulo:
                temp = arbol.Derecho
                Liberar(arbol)
                Devolver temp
            Sino si arbol.Derecho es Nulo:
                temp = arbol.Izquierdo
                Liberar(arbol)
                Devolver temp
            // Caso 2: Nodo con dos hijos
            temp = ObtenerMinimo(arbol.Derecho)
            arbol.Valor = temp.Valor
            arbol.Derecho = Eliminar(arbol.Derecho, temp.Valor)
        Devolver arbol
 
    Método ObtenerMinimo(arbol):
        Mientras arbol.Izquierdo no sea Nulo:
            arbol = arbol.Izquierdo
        Devolver arbol
 
Fin TAD ArbolBinarioBusqueda

Este pseudocódigo implementa un árbol binario de búsqueda con operaciones de inserción, búsqueda, y eliminación. Asegúrate de adaptarlo según el lenguaje de programación que estés utilizando y añadir funcionalidades adicionales si es necesario.
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