elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda con un arbol binario
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con un arbol binario  (Leído 2,696 veces)
freshhprince

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Ayuda con un arbol binario
« en: 1 Noviembre 2021, 04:03 am »

Hola necesito ayuda con este programa, funciona bien pero necesito insertarle la función de eliminar nodo, pero no se como hacerlo, soy principiante por favor ayuda;(
O algún programa de búsqueda binaria que puedan pasarme estaría cool

Código:

#include <stdio.h>
#define MAX 1023
#include <conio.h>
#include <stdlib.h>

int arbolBusquedaBinaria[MAX];



int buscar(int arbolBusquedaBinaria[], int x, int i){
    if(arbolBusquedaBinaria[i] == 0){
        //Busqueda sin exito: en arbolBusquedaBinaria[0]...
        //...se guarda la posicion donde no se encontro x...
        //Lo anterior con el ojbjeto que la funcion insertar...
        //...sepa donde insertar...
        arbolBusquedaBinaria[0] = i;
        return 0;
    }
    if(arbolBusquedaBinaria[i] < x)
        return buscar(arbolBusquedaBinaria, x, 2*i + 1);
    else if(arbolBusquedaBinaria[i] > x)
        return buscar(arbolBusquedaBinaria, x, 2*i);
        else return i;
}


int buscarMin(int arbolBusquedaBinaria[]){
    int i = 1, j;
    while(arbolBusquedaBinaria[i] != 0){
        j = arbolBusquedaBinaria[i];
        i = 2 * i;
    }
    return j;
}
int buscarMax(int arbolBusquedaBinaria[]){
    int i = 1, j;
    while(arbolBusquedaBinaria[i] != 0){
        j = arbolBusquedaBinaria[i];
        i = 2 * i + 1;
    }
    return j;
}


void insertar(int arbolBusquedaBinaria[],int x){
int posicion;
posicion = buscar(arbolBusquedaBinaria,x,1);
if(posicion != 0)
printf("\n El %i ya esta insertado", x);
else
arbolBusquedaBinaria[arbolBusquedaBinaria[0]]=x;
}

int main()
{
    int i, bandera = 1, n;
    printf("\t\t\t\tBienvenido,puedes generar un arbol de busqueda binario");
    printf("\n\n\nCuantos nodos tiene tu arbol binario?: ");
    scanf("%i", &n);
    printf("\nDame el arbol: ");
    for(i = 1; i <= n; i++)
        scanf("%i", &arbolBusquedaBinaria[i]);
    printf("\nElemento minimo: %i", buscarMin(arbolBusquedaBinaria));
    printf("\nElemento maximo: %i", buscarMax(arbolBusquedaBinaria));
    while(bandera){
        printf("\n\n1.- Buscar un numero:");
        printf("\n\n2.- Insertar un numero:");
        printf("\n\n3.- Eliminar un numero:\n");
        printf("\n\n4.- Salir");
        printf("Opcion?: "); scanf("%i", &n);
        if(n == 1){
            printf("\nDame el numero a buscar: ");
            scanf("%i", &n);
            if(n = buscar(arbolBusquedaBinaria, n, 1))
                printf("\nEl numero que buscas esta en la posicion: %i\n\n", n);
            else
                printf("\nEl numero no esta y deberia estar en la posicion %i", arbolBusquedaBinaria[0]);
        }
        else if(n == 2){
            printf("\nDame el numero a insertar: ");
            scanf("%i", &i);
            if(n = buscar(arbolBusquedaBinaria, i, 1))
                printf("\nEl numero ya se encuentra en la posicion %i: ", n);
            else
                arbolBusquedaBinaria[arbolBusquedaBinaria[0]] = i;
        }
            else bandera = 0;
      
    }
    getchar();
    return 0;
}


« Última modificación: 1 Noviembre 2021, 04:09 am por freshhprince » En línea

.xAk.


Desconectado Desconectado

Mensajes: 397


F0r3v3R NeWbI3


Ver Perfil WWW
Re: Ayuda con un arbol binario
« Respuesta #1 en: 20 Noviembre 2021, 03:34 am »

conio.h?

si tienes la función de buscar, empieza por ahí ... o a ver, cómo emiezas la función. Por mi parte necesito ver lo que te falla o esto no es tuyo.


« Última modificación: 20 Noviembre 2021, 03:37 am por .xAk. » En línea


Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda Impresion de Arbol Binario
Programación C/C++
negux 2 4,243 Último mensaje 25 Noviembre 2010, 09:28 am
por Akai
Ayuda, no puedo borrar nodos de un Arbol Binario de Busqueda (Solucionado) [C++]
Programación C/C++
DarkSorcerer 7 12,751 Último mensaje 8 Marzo 2014, 02:47 am
por DarkSorcerer
Urgenteeeeee!!! Ayuda con arbol binario de busqueda
Programación C/C++
mathias_vg 2 2,072 Último mensaje 20 Noviembre 2015, 18:54 pm
por 0xFer
ayuda con un arbol binario
Java
Pipe99 2 2,383 Último mensaje 27 Abril 2018, 02:31 am
por Serapis
MOVIDO: ayuda con un arbol binario
Foro Libre
Eleкtro 0 1,120 Último mensaje 25 Abril 2018, 08:03 am
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines