HTML Tutorials |
|
XML Tutorials |
|
Browser Scripting |
|
Server Scripting |
|
.NET (dotnet) |
|
Multimedia |
|
Web Building |
|
Java Tutorials |
|
Programming Langauges |
|
Soft Skills |
|
Database Tutorials |
|
Operating System |
|
Software Testing |
|
SAP Module |
|
Networking Programming |
|
Microsoft Office |
|
Accounting |
|
|
Estruturas de dados lineares |
|
|
Estruturas de dados lineares
|
N�s vimos que � muito simples criar as estruturas de dados que s�o similares organizado � maneira que a mem�ria de computador � organizada. Por exemplo, a lista do empregado da companhia do ABC � uma estrutura de dados linear. Desde que a mem�ria de computador � tamb�m linear, � muito f�cil ver como n�s podemos representar esta lista com a mem�ria de computador. Alguma estrutura de dados que organizar os elementos de dados um depois que o outro � sabido enquanto estrutura de dados linear. Assim distante n�s vimos dois exemplos de estruturas de dados lineares: a estrutura de dados da corda e a companhia do ABC alistam.
Voc� pode ter observado que estes dois exemplos de estruturas de dados lineares sese assemelham. Isto � porque ambos s�o tipos realmente diferentes das listas. No general, todas as estruturas de dados lineares olham como a lista. Entretanto, isto n�o significa que todas as estruturas de dados lineares s�o exatamente as mesmas. Sup�r que eu quero projetar uma lista armazenar os nomes dos empregados do ABC no computador. Um projeto poss�vel � organizar acima os nomes similares ao retrato do exemplo. Um outro projeto poss�vel � usar os ponteiros que n�s aprendemos aproximadamente na �ltima li��o. Quando estes dois projetos fornecerem a mesma funcionalidade a maneira est�o executados no computador s�o muito diferentes. Isto significa que h� uma vista abstrata de uma lista que seja distinta de toda a execu��o particular do computador
Voc� pode tamb�m ter observado que o retrato dos empregados do ABC n�o � t�o exatamente o mesmo quanto a lista original. Quando n�s fazemos uma lista dos nomes, n�s tendemos a organizar esta lista em uma coluna melhor que uma fileira. Neste caso, a respresenta��o conceptual ou l�gica de uma lista � a coluna dos nomes. Entretanto, a respresenta��o f�sica da lista na mem�ria de computador � a fileira das cordas. Para a maioria de estruturas de dados, a maneira de que n�s pensamos sobre elas somos distante diferentes da maneira s�o executados no computador. Ou seja a respresenta��o f�sica � muito diferente daquela da respresenta��o l�gica, especialmente nas estruturas de dados que usam ponteiros.
|
Lista requisitada: A vista abstrata |
A estrutura de dados linear a mais comum usada � a lista. Agora por voc� s�o j� o familiar bonito com a id�ia de uma lista e pelo menos o one-way de representar uma lista no computador. Agora n�s estamos indo olhar um tipo particular da lista: uma lista requisitada. As listas requisitadas s�o muito similares � lista alfab�tica de nomes do empregado para a companhia do ABC. Estas listas mant�m artigos em uma ordem espec�fica tal como a ordem alfab�tica ou num�rica. Sempre que um artigo � adicionado � lista, � colocado na posi��o classificada correta de modo que a lista inteira seja classificada sempre.
Antes que n�s consideremos como executar tal lista, n�s necessitamos considerar a vista abstrata de uma lista requisitada. Desde que a id�ia de uma vista abstrata de uma lista pode ser uma pouco desconcertante, vamos pensar sobre um exemplo mais familiar. Considerar a vista abstrata de uma televis�o. N�o obstante quem faz uma televis�o, n�s todos esperamos determinadas coisas b�sicas como a abilidade de mudar as canaletas e ajustar o volume. Contanto que estas opera��es estiverem dispon�veis e a tev� indicar as mostras que n�s queremos ver, n�s realmente n�o nos importamos com quem fizeram a tev� ou como eles escolheu a construir. Os circuitos dentro do jogo de tev� podem ser muito diferentes de um tipo ao mesmo seguinte, mas da funcionalidade do remains. Similarmente, quando n�s consideramos a vista abstrata de uma lista requisitada, n�s n�o nos preocupamos sobre os detalhes da execu��o. N�s somos concernidos somente com o que a lista faz, n�o como o faz.
Sup�r que n�s queremos uma lista que possa prender o seguinte grupo de n�meros classificados: [2 4 6 7]. Que s�o algumas coisas que n�s pudemos querer fazer com nossa lista? Bem, desde que nossa lista est� em ordem, n�s necessitaremos alguma maneira de adicionar n�meros � lista no lugar apropriado, e n�s necessitaremos alguma maneira de suprimir n�meros que n�s n�o queremos da lista. Para representar estas opera��es, n�s usaremos a seguinte nota��o:
|
AddListItem(List, Item)
RemoveListItem(List, Item)
|
|
Cada opera��o tem o nome e a lista dos par�metros as necessidades da opera��o. A lista do par�metro para a opera��o de AddListItem inclui uma lista e um artigo. A opera��o de RemoveListItem � muito similar exceto este tempo onde n�s especificaremos o artigo n�s queremos remover. Estas opera��es s�o parte da vista abstrata de uma lista requisitada. S�o o que n�s esperamos de toda a lista requisitada n�o obstante como � executada na mem�ria de computador.
|
Execu��o da disposi��o
|
Uma aproxima��o a criar uma lista � simplesmente reservar um bloco de pilhas de mem�ria adjacentes a grande bastante para prender a lista inteira. Tal bloco da mem�ria � chamado como a disposi��o. Naturalmente, desde que n�s queremos adicionar artigos a nossa lista, n�s necessitamos reservar mais do que apenas quatro pilhas de mem�ria. Para agora, n�s faremos nossa disposi��o grande bastante para prender tanto quanto seis n�meros.
|
Execu��o do ponteiro
|
Uma segunda aproxima��o a criar uma lista � ligar grupos das pilhas de mem�ria que usam junto os ponteiros. Cada grupo de pilhas de mem�ria � chamado como um n�. Com esta execu��o cada n� contem o artigo de dados e o ponteiro ao artigo seguinte na lista. Voc� pode retratar esta estrutura enquanto uma corrente dos n�s ligou junto pelos ponteiros. Contanto que n�s soubermos onde a corrente come�a, n�s podemos seguir as liga��es para alcan�ar todo o artigo na lista. Esta estrutura � chamada frequentemente como uma lista ligada.
Observar que a �ltima pilha de mem�ria em nossa corrente contem o s�mbolo chamado �nulo�. Este s�mbolo � um valor especial que nos diga que n�s alcan�amos a extremidade de nossa lista. Voc� pode pensar de que este s�mbolo como um ponteiro esse aponta a nada. Desde que n�s estamos usando os ponteiros executar nossa lista, as opera��es AddListItem e o RemoveListItem da lista trabalhar�o diferentemente do que fizeram para listas seq�enciais.
|
|
|
Keywords: estrutura de dados linear, estruturas de c++, estruturas de dados de java, fun��o linear, estruturas de dados das �rvores, estruturas de dados do gr�fico, estruturas de dados da �rvore, fun��es lineares
|
|
HTML Quizes |
|
XML Quizes |
|
Browser Scripting Quizes |
|
Server Scripting Quizes |
|
.NET (dotnet) Quizes |
|
Multimedia Quizes |
|
Web Building Quizes |
|
Java Quizes |
|
Programming Langauges Quizes |
|
Soft Skills Quizes |
|
Database Quizes |
|
Operating System Quizes |
|
Software Testing Quizes |
|
SAP Module Quizes |
|
Networking Programming Quizes |
|
Microsoft Office Quizes |
|
Accounting Quizes |
|
|