Category: Estrutura de Dados

Jul 01 2009

Árvore B, Estrutura de Dados.


Boa noite,

Neste post vou publicar uma árvore B em C++ desenvolvida por mim e pelo meu colega Olav, como trabalho da aula de estrutura de dados. A mesma le um arquivo de ceps e insere os mesmos em uma árvore e calcula o tempo de inserção para cada item. Infelizmente, me parece que o medidor de tempo não está correto, porém com a árvore está.

Caso você descubra algo errado por favor, reporte-me

Árvore B

Matheus Bratfisch

May 06 2009

Lista encadeada, Estrutura de dados.


Saudações,

Para não perder o costume, irei postar outro exercicio resolvido em uma aula. Dessa vez o exercicio é o seguinte:
- Implemenetar o sistema de contabilidade de um mafioso. (outros detalhes continue lendo o post)

O enunciado do mesmo se encontra no "read the rest of this entry" para não deixar o post muito extenso devido ao longo enunciado.

A resolução do mesmo você pode baixar aqui.

Read more »

Apr 29 2009

Lista com ponteiros, Estrutura de Dados.


Boa noite a todos,

Como ainda não produzi nada muito bom hoje em casa (no lab produzi algo relaciona a xml-rpc que pretendo postar em breve), resolvi postar mais um dos 198578951 exercicios que estou tendo que fazer para estrutura de dados. O Exercicio de hoje é nada mais nada menos que uma implementação de uma Lista com Ponteiros, ou seja, ela não tem limite de elementos (é claro, se a memoria for infinita).

Como no exercicio anterior, o enunciado fica para a pagina inteira pois é muito grande.

O exercicio resolvido você encontra aqui.

Read more »

Apr 28 2009

Pilha, com ponteiros, Estrutura de Dados.


Então, hoje vou demonstrar um dos outros exercicios que fizemos na aula de estrutura de dados, lembrando mais uma vez que estes são exercicios que eu faço rapidamente e não me importo muito com várias coisas pela falta de tempo. O que irei mostrar hoje é uma Pilha com vetores porém em vez de ele ter um inteiro indicando o ultimo elemento, o ultimo será um ponteiro para o ultimo elemento da pilha.

Para ver o enunciado inteiro continue lendo (enunciado grande).

Para baixar o arquivo, clique aqui!

Read more »

Apr 25 2009

Lista, Estrutura de dados


Boa tarde,

Como estou tendo aula de estrutura de dados estou tentando colocar aqui, alguns dos conceitos que aprendemos em sala, junto ao seu exercicio e uma implementação de um exercicio (desenvolvido rapidamente, muitas vezes). A estrutura apresentada hoje é Lista, uma estrutura de dados linear. Existe também a lista ligada, ou encadeada que também é conhecida por linear e dinamica (fica pra outro post) e a lista duplamente ligada, ou duplamente encadeada (fica pra outro post também). A pilha e a fila são implementações especiais de listas. A Lista, não possue restrições como suas implementações especiais, e pode receber elementos em qualquer posição, remover de qualquer posição, remover especifico, adicionar em ordem entre outras.

O enunciado do exercicio que foi proposto para lista é o seguinte:

1. Crie o seu tipo de dados tLista em um headerfile;
2. esta deverá ser uma lista de elementos do tipo tAgenda;
3. O tipo tAgenda é um tipo que representa um nome de 30 posições e um número de telefone;
4. crie uma função maior(a,b) que compare os nomes de duas entradas;
5. programe todas as funções documentando cada função, inclusive com dicionário de dados;
6. crie um programa principal que execute todas as funções de lista a partir de um menu. A função procurar específico deverá basear-se no nome em uma Agenda;
7. além dessas funções, o programa deverá ser capaz de listar a lista em ordem alfabética.

Resolução do mesmo aqui.

Até mais,
Matheus

Apr 15 2009

Fila, Estrutura de dados


Boa Noite,

Como estou tendo aula de estrutura de dados estou tentando colocar aqui, alguns dos conceitos que aprendemos em sala, junto ao seu exercicio e uma implementação de um exercicio (desenvolvido rapidamente, muitas vezes). A estrutura apresentada hoje é Fila, uma estrutura de dados baseada no principio FIFO (first in, first out) ou seja, primeiro a entrar é o primeiro a sair. Ela, como a pilha possui duas funções básicas, que é adiciona e remove. Uma adicionando no fim, como uma fila (sem furos, é claro!) e a outra retirando do inicio.

Já faz alguns dias que resolvemos esse exercicio e pra ser sincero não tenho certeza se estou postando a ultima versão que tenho do mesmo, mas acredito que sim. O enunciado do exercicio resolvido foi o seguinte:

* Implemente todas as operações vistas sobre fila;
* implemente um programa principal que utilize a fila através de um menu com os seguintes itens: enfileirar, desenfileirar, limpar, mostrar fila, sair do programa. Use a estrutura de programação switch do "C" para isto;
* a fila possuirá tamanho máximo 100, definido como uma constante chamada MAXFILA. Utilize esta constante para a definição da estrutura de dados que será a fila;
* a fila será referenciada por uma variável global;
* para implementar a estrutura de dados defina um tipo elementoDaFila que será char[40] e defina a sua fila como um vetor de 100 elementoDaFila .

Aqui está a implementação da mesma que acredito ser a ultima.

Abraços,
Matheus

PS: Com o tempo eu pretendo (não sei se consigo) fazer algumas mudanças nas mesmas assim que for aprendendo novas tecnicas e conceitos relacionados ao assunto, mas como a faculdade ta muito corrida não sei se vai ser possivel.

Apr 02 2009

Pilha, Estrutura de dados.


Boa Noite,

Hoje vou ensinar um conceito bem básico de estrutura de dados, que vimos a algumas aulas atrás. PILHA, é uma estrutura de dados abstratos amplamente utilizada na informatica e é baseada no principio LIFO (Last in, first out), ou seja ultimo a entrar, primeiro a sair. Ela possue 2 funções que todas devem possuir, push (adicionar) e pop (remover), outros metodos que podem existir, podem ser considerados como privados, pois só mechem na estrutura interna da pilha.

O enunciado do exercicio que tivemos que resolver foi o seguinte:

* Implemente todas as operações vistas sobre pilha;
* implemente um programa principal que utilize a pilha através de um menu com os seguintes itens: empilhar, desempilhar, limpar, mostrar pilha, sair do programa. Use a estrutura de programação switch do "C" para isto;
* ao mostrar a pilha, o programa deve colocar embaixo de cada dado, a sua posição no vetor. Utilize as opções de definição de tamanho de campo de impressão do printf() para isto;
* a pilha possuirá tamanho máximo 30, definido como uma constante chamada MAXPILHA. Utilize esta constante para a definição da estrutura de dados que será a pilha;
* a pilha será referenciada por uma variável global.

Aqui está a primeira implementação que fizemos.

Abraços,
Matheus

PS: Com o tempo vou postar reformulações desse exercicio e os novos codigos desenvolvidos.

Mar 21 2009

Estrutura de dados, C


Boa tarde galera,

Então, neste semestre estou tendo aula de estrutura de dados, o meu professor Aldo von Wangenheim, resolveu utilizar C na parte inicial da aula, e posteriormente C++. Um curso para linguagem C, que ele passou para os alunos que não tinham conhecimento na linguagem é este. Na segunda ou terceira aula, também já passou uma lista de 5 exercicios sobre C pra galera resolver e ir pegando a manha. Eu e o Olav, resolvemos os mesmos e vamos disponibilizar aqui, junto com a lista de exercicios. Assim você que quer pode aprender por conta propria, ou você que precisa dos trabalhos e não quer faze-los pode copiar (recomendo fazer, pra aprender).

Lista de exercicio (5) para iniciantes
Os 5 exercicios resolvidos

PS: O link levara a uma outra pagina com descrição dos arquivos, onde você deve fazer o download dos mesmos.

Até a próxima,
Matheus