RESUMO DA AULA, CRIBS
Информатика и информационные технологии. Древовидные структуры данных (конспект лекций) Diretório / Notas de aula, folhas de dicas Índice (expandir) PALESTRA № 8. Estruturas de dados abstratas 1. Estruturas de dados abstratas Tipos de dados estruturados, como arrays, conjuntos e registros, são estruturas estáticas porque seus tamanhos não mudam durante toda a execução do programa. Muitas vezes, é necessário que as estruturas de dados mudem seus tamanhos no decorrer da resolução de um problema. Essas estruturas de dados são chamadas de dinâmicas. Estes incluem pilhas, filas, listas, árvores, etc. A descrição de estruturas dinâmicas com a ajuda de arrays, registros e arquivos leva ao desperdício de memória do computador e aumenta o tempo de resolução de problemas. Cada componente de qualquer estrutura dinâmica é um registro contendo pelo menos dois campos: um campo do tipo "ponteiro" e o segundo - para posicionamento de dados. Em geral, um registro pode conter não um, mas vários ponteiros e vários campos de dados. Um campo de dados pode ser uma variável, uma matriz, um conjunto ou um registro. Se a parte indicadora contiver o endereço de um elemento da lista, a lista será chamada de unidirecional (ou vinculada individualmente). Se contiver dois componentes, estará duplamente conectado. Você pode realizar várias operações em listas, por exemplo: 1) adicionar um elemento à lista; 2) remover um elemento da lista com uma determinada chave; 3) procurar um elemento com um determinado valor do campo chave; 4) ordenação dos elementos da lista; 5) divisão da lista em duas ou mais listas; 6) combinar duas ou mais listas em uma; 7) outras operações. No entanto, como regra, não surge a necessidade de todas as operações na resolução de vários problemas. Portanto, dependendo das operações básicas que precisam ser aplicadas, existem diferentes tipos de listas. Os mais populares são pilha e fila. 2. Pilhas Uma pilha é uma estrutura de dados dinâmica, a adição de um componente ao qual e a remoção de um componente do qual são feitas de uma extremidade, chamada de topo da pilha. A pilha funciona com o princípio LIFO (Last-In, First-Out) - "Last in, first out". Geralmente, há três operações executadas em pilhas: 1) formação inicial da pilha (registro do primeiro componente); 2) adicionar um componente à pilha; 3) seleção do componente (exclusão). Para formar uma pilha e trabalhar com ela, você deve ter duas variáveis do tipo "ponteiro", sendo que a primeira determina o topo da pilha e a segunda é auxiliar. Exemplo. Escreva um programa que forme uma pilha, adicione um número arbitrário de componentes a ela e, em seguida, leia todos os componentes e os exiba na tela de exibição. Tome uma cadeia de caracteres como dados. Entrada de dados - do teclado, um sinal do fim da entrada - uma seqüência de caracteres END. Programa PILHA; usa Crt; tipo Alfa = Cadeia[10]; PComp = ^Comp; Comp = registro SD: Alfa; pPróximo: PComp end; var pTop: PComp; sc: Alfa; Create ProcedureStack(var pTop : PComp; var sC : Alfa); começar Novo(pTop); pTopo^.pPróximo := NIL; pTop^.sD := sC; end; Adicione ProcedureComp(var pTop : PComp; var sC : Alfa); var pAux : PComp; começar NOVO(pAux); pAux^.pNext := pTop; pTop := pAux; pTop^.sD := sC; end; Procedimento DelComp(var pTop : PComp; var sC : ALFA); começar sC := pTop^.sD; pTopo := pTopo^.pPróximo; end; começar Clrscr; writeln('DIGITE UMA STRING'); readln(sc); CreateStack(pTop, sc); repetir writeln('DIGITE UMA STRING'); readln(sc); AddComp(pTop, sc); até sC = 'FIM'; writeln('******* SAÍDA *****'); repetir DelComp(pTop, sc); escrever(sC); até pTop = NIL; final. 3. Filas Uma fila é uma estrutura de dados dinâmica onde um componente é adicionado em uma extremidade e recuperado na outra extremidade. A fila funciona segundo o princípio FIFO (First-In, First-Out) - "Primeiro a entrar, primeiro a ser servido". Para formar uma fila e trabalhar com ela, é necessário ter três variáveis do tipo ponteiro, a primeira das quais determina o início da fila, a segunda - o fim da fila, a terceira - auxiliar. Exemplo. Escreva um programa que forme uma fila, adicione um número arbitrário de componentes a ela e, em seguida, leia todos os componentes e os exiba na tela de exibição. Tome uma cadeia de caracteres como dados. Entrada de dados - a partir do teclado, o sinal do fim da entrada - uma seqüência de caracteres END. Programa FILA; usa Crt; tipo Alfa = Cadeia[10]; PComp = ^Comp; Comp = registro SD: Alfa; pNext: PComp; end; var pBegin, pEnd: PComp; sc: Alfa; Create ProcedureQueue(var pBegin,pEnd:PComp; var sC:Alfa); começar Novo(pBegin); pBegin^.pNext := NIL; pBegin^.sD := sC; pFim := pInício; end; Procedimento AddQueue(var pEnd : PComp; var sC : Alfa); var pAux : PComp; começar Novo(pAux); pAux^.pPróximo := NIL; pEnd^.pNext := pAux; pEnd := pAux; pEnd^.sD := sC; end; Procedimento DelQueue(var pBegin : PComp; var sC : Alfa); começar sC := pBegin^.sD; pBegin := pBegin^.pNext; end; começar Clrscr; writeln('DIGITE UMA STRING'); readln(sc); CreateQueue(pBegin, pEnd, sc); repetir writeln('DIGITE UMA STRING'); readln(sc); AddQueue(pEnd, sc); até sC = 'FIM'; writeln(' ***** EXIBIR RESULTADOS *****'); repetir DelQueue(pBegin, sc); escrever(sC); até pInício = NIL; final. Autor: Tsvetkova A.V. << Voltar: Estruturas de dados abstratas (Estruturas de dados abstratas. Pilhas. Filas) >> Encaminhar: Contagens (O conceito de gráfico. Métodos de representação de um gráfico. Representação de um gráfico por uma lista de incidências. Algoritmo de travessia em profundidade para um gráfico. Representação de um gráfico como uma lista de listas. Algoritmo de travessia em largura para um gráfico ) Recomendamos artigos interessantes seção Notas de aula, folhas de dicas: ▪ Psicologia Jurídica. Notas de aula ▪ Comportamento do consumidor. Berço ▪ História do Estado interno e do direito. Berço Veja outros artigos seção Notas de aula, folhas de dicas. Leia e escreva útil comentários sobre este artigo. Últimas notícias de ciência e tecnologia, nova eletrônica: A existência de uma regra de entropia para o emaranhamento quântico foi comprovada
09.05.2024 Mini ar condicionado Sony Reon Pocket 5
09.05.2024 Energia do espaço para Starship
08.05.2024
Outras notícias interessantes: ▪ Grilos jurássicos cantando baixo ▪ Leões marinhos treinados para jogar videogame ▪ Ânodos de nanotubos de silício triplicam a capacidade das baterias de íons de lítio ▪ Novo recorde mundial de velocidade para carros Feed de notícias de ciência e tecnologia, nova eletrônica
Materiais interessantes da Biblioteca Técnica Gratuita: ▪ seção do site Sistemas acústicos. Seleção de artigos ▪ artigo Chore com uma grande voz. expressão popular ▪ artigo O que é necessário para a produção de vidro? Resposta detalhada ▪ artigo Catamaran Princess Frog. transporte pessoal ▪ artigo Poderoso IF 38 MHz. Enciclopédia de rádio eletrônica e engenharia elétrica
Deixe seu comentário neste artigo: Todos os idiomas desta página Página principal | Biblioteca | Artigos | Mapa do Site | Revisões do site www.diagrama.com.ua |