Pular para o conteúdo

Ordenação Binaria

Esse script pega um número pela linha de comando e gera uma string de 1 a 'n' e organiza pela notação "pré-ordenada" (como se fosse uma árvore binária). Bem interessante pra entender pesquisa binária.

Espero que seja útil pra álguem.

[]'s
Enzo de Brito Ferber EnzoFerber
Hits: 5.699 Categoria: C/C++ Subcategoria: Metodologias
  • Download
  • Nova versão
  • Indicar
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Descrição

Esse script pega um número pela linha de comando e gera uma string de 1 a 'n' e organiza pela notação "pré-ordenada" (como se fosse uma árvore binária). Bem interessante pra entender pesquisa binária.

Espero que seja útil pra álguem.

[]'s
Download bin_order.c Enviar nova versão
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Esconder código-fonte

// bin_order.c

#include <stdio.h>
#include <stdlib.h>

static int *matrix;
static int *nmatrix;
static int matrix_size;
static int matrix_pos;

void bin_order (int low, int high)
{
        int mid = (low + high) / 2;
        
        nmatrix[matrix_pos] = matrix[mid];
        matrix_pos++;
        if (low >= high) return ;
               
        bin_order (low, mid - 1);
        bin_order (mid + 1, high); 
}

int main (int argc, char **argv)
{
        register int i;
        
        matrix_pos = 0;
        
        if (argc < 2)
        {
                printf("Uso: %s <numero>\n", argv[0]);
                return 0;
        }
        
        matrix_size = atoi(argv[1]);
    
        matrix  = (int *) malloc (matrix_size * sizeof (int));
        nmatrix = (int *) malloc (matrix_size * sizeof (int));
    
        if ( (!matrix) || (!nmatrix))
        {
                perror("malloc()");
                return 0;
        }
    
        for (i = 0; i < matrix_size; i++)matrix[i] = (i + 1);
        
        printf("Ordem Binaria: ");
        bin_order (0, matrix_size - 1);
        for (i = 0; i < matrix_size; i++) printf("%d ", nmatrix[i]);
        puts("");
    
        return 0;
}
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Função Hash básica

Algoritmo do método de Newton

merge sort

Bublbubblesort

Pilha Encadeada

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.