Computação - (listas - pilhas, filas, árvores, ) em C

    Autor Mensagem
    xxxagilianxxx
    Veterano
    # out/11


    Eu estou começando agora em Listas.
    A minha dúvida é como se organiza essas matérias.
    Eu precisava de alguém que me explicasse O QUE está dentro de O QUE (?que assunto pertence a que tópico?)(como os conjuntos da Matemática)
    vejam se está certo e completem: (em C (ñ sei se faz diferença)):

    _Listas:
    ->Listas Lineares:
    *Pilhas
    *Filas
    *Deque
    *Listas Encadeadas:
    .listas simplesmente encadeadas
    .listas duplamente encadeadas
    .
    *
    *
    ->Listas Não-Lineares:
    *Árvores
    *
    *
    *


    ____________________________________________________

    (e as listas Contíguas)
    (onde entram as Listas com cabeça e sem cabeça?)
    (e as listas circulares?)
    ____________________________________________________
    (Quando se diz 'lista simples' está referindo-se à 'listas simplesmente encadeadas'?)
    ('listas contíguas' são de alocação sequencial e listas encadeadas, não. O que quer dizer mesmo está informação?)

    russobass
    Veterano
    # out/11
    · votar


    estudei tudo isso.

    dica: use o www.google.com

    Bob Mauley
    Veterano
    # out/11
    · votar


    nao estudei nada disso

    dica: use o www.google.com.br

    russobass
    Veterano
    # out/11
    · votar


    Bob Mauley

    o loco!!

    será que este site que se passo tem??

    Bob Mauley
    Veterano
    # out/11
    · votar


    russobass
    claro que sim
    minha dica foi muito melhor que a sua!

    russobass
    Veterano
    # out/11
    · votar


    xxxagilianxxx

    ou não vai na onda do Bob Mauley ele esta te enrrolando!!

    Eric Clapton
    Veterano
    # out/11
    · votar


    Prefiro em F#

    fgr
    Veterano
    # out/11
    · votar


    russobass
    A dica do Bob Mauley é melhor porque é um site daqui do Brasil, o seu é só pra quem sabe inglês.

    Eric Clapton
    Prefiro em F#

    Meu fã, F#gr..

    rafael_ab
    Veterano
    # out/11 · Editado por: rafael_ab
    · votar


    xxxagilianxxx
    É quase isso... na verdade não seria "listas lineares", seria "estruturas lineares" e "estruturas não-lineares".

    As listas encadeadas (tanto faz se simplesmente encadeadas, duplamente encadeadas, circularmente encadeadas...), as pilhas, as filas, os deques (double-ended queues) são exemplos de estruturas lineares. O que faz uma estrutura ser linear (no fim das contas) é o fato de existir alguma uma ordem entre os elementos. Não se esqueça dos vetores (ou arranjos, ou arrays), que também são estruturas lineares.

    Já árvores (tem muuuuitos tipos de árvores... binária, n-ária, vermelha-preta, B, trie, patricia...) são um exemplo de estruturas não-lineares. Obviamente os elementos não possuem uma ordem definida pela estrutura em si. Vc pode andar em uma árvore indo primeiro para os elementos mais à esquerda e vai ter uma ordem. Ou indo primeiro para os elementos mais à direita, e vai ter outra ordem.

    Heaps são outro exemplo de estrutura não-linear muito usada.

    Sobre a linguagem, não faz diferença não. Os conceitos permanecem os mesmos em qualquer linguagem =D

    fgr
    F# também é uma linguagem de programação! C e C# também são xD rs

    xxxagilianxxx
    Veterano
    # out/11
    · votar


    Então ficamos assim:

    _____________________________________________________
    "O que faz uma estrutura ser linear é o fato de existir alguma ordem entre os seus elementos"


    _ E S T R U T U R A S :

    ->ESTRUTURAS LINEARES:
    *****Pilhas
    *****Filas
    *****Deque (double-ended queues)
    *****Listas Encadeadas:
    .................listas simplesmente encadeadas
    .................listas duplamente encadeadas
    .................circulamente encadeadas

    ->ESTRUTURA NÃO-LINEARES:
    *****Árvores
    .................binária;
    .................n-ária;
    .................vermelha-preta;
    .................B;
    .................trie;
    .................patricia
    *****Heaps

    _____________________________________________________
    (Só pra confirmar : ... então a PILHA e a FILA não são um tipo de LISTA?
    Isto é, então eu nuca vou ter uma PILHA (ou uma FILA) duplamente encadeada?)

    alguém acrescenta mais alguma coisa???
    _____________________________________________________
    obrigado Rafael_ab

    victorhb
    Veterano
    # out/11
    · votar


    então a PILHA e a FILA não são um tipo de LISTA?

    não.

    Você pode até fazer uma pilha/fila duplamente encadeada, mas não vejo motivo.

    rafael_ab
    Veterano
    # out/11
    · votar


    xxxagilianxxx
    É mais ou menos isso aí sim... veja esse link para uma lista mais completa: http://en.wikipedia.org/wiki/List_of_data_structures

    Sobre o fato de pilha e fila não serem um tipo de lista: é verdade que à primeira vista essas coisas podem se parecer bastante. O que vai diferenciá-las, principalmente, é como vc acessa os elementos:

    - Em uma pilha, o elemento que foi mais recentemente inserido é o primeiro a sair (LIFO: Last In, First Out). Pense em uma pilha de pratos: vc não vai tirar o prato de baixo antes de tirar o de cima. Pilhas são muito importantes em computação, por exemplo em registros de ativação de funções.

    - Em uma fila, o elemento que está na fila há mais tempo é o primeiro a sair (FIFO: First In, First Out). Pense em uma fila de supermercado mesmo... os elementos chegam pelo final da fila e saem pelo começo.

    - Já a lista não tem essa restrição. Vc pode usá-la simplesmente para guardar um monte de números que precisam ser somados, por exemplo. Dica: veja que vc pode facilmente implementar pilhas e filas com uma lista (duplamente, de preferência) encadeada, mas elas ainda são estruturas diferentes =D

    Guitar_L
    Veterano
    # out/11
    · votar


    xxxagilianxxx
    Tem as árvores AVL também, depois das binárias.
    Abraços

    xxxagilianxxx
    Veterano
    # out/11
    · votar


    uau ...

    era o link q eu precisava ... dá pra se extrair informações daí durante uns 2 anos.

    Foi pra minha página de favoritos: http://en.wikipedia.org/wiki/List_of_data_structures

    e graças à Deus pelo rafael_ab

    valeu

    fgr
    Veterano
    # out/11
    · votar


    rafael_ab
    F# também é uma linguagem de programação! C e C# também são xD rs

    Sério? Então é disso que se trata quando abro o VS2010??
    Silverlight tá falido!

    rafael_ab
    Veterano
    # out/11
    · votar


    fgr
    Sim sim... F# é como se fosse a "versão funcional" do C#... ou seja, F# está para C# mais ou menos como Scala está para Java rs...

    Tem mais duas linguagens com nomes de nota musical além dessas que já citamos (e das que eu me lembre rs):

    http://en.wikipedia.org/wiki/B_(programming_language)
    http://en.wikipedia.org/wiki/C_(programming_language)
    http://en.wikipedia.org/wiki/C_Sharp_(programming_language)
    http://en.wikipedia.org/wiki/D_(programming_language)
    http://en.wikipedia.org/wiki/F_Sharp_(programming_language)

    xxxagilianxxx
    Veterano
    # nov/11
    · votar


    ok ... pra quem gosta do assunto... achei um arsenal de vídeo-aulas sobre o assunto:

    http://edad.rnp.br/content.php?menu_id=content

    (parece q é uma união de algumas universidades investindo em educação a distância)

      Enviar sua resposta para este assunto
              Tablatura   
      Responder tópico na versão original
       

      Tópicos relacionados a Computação - (listas - pilhas, filas, árvores, ) em C