capítulo 2 - wordpress.comserem manipulados por logarítmos, de diferentes formas. esse tipo de...

4
Lista encadeada Lista circular Lista duplamente encadeada Pilhas Filas Árvores Estrutura de dados Capítulo 2

Upload: others

Post on 17-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Capítulo 2 - WordPress.comserem manipulados por logarítmos, de diferentes formas. Esse tipo de estrutura pode sofrer alterações (MARCONDES, 2002). Na teoria, refere-se à identifi

• Lista encadeada

• Lista circular

• Lista duplamente encadeada

• Pilhas

• Filas

• Árvores

Estrutura de dados

Capítulo 2

Page 2: Capítulo 2 - WordPress.comserem manipulados por logarítmos, de diferentes formas. Esse tipo de estrutura pode sofrer alterações (MARCONDES, 2002). Na teoria, refere-se à identifi

estrutura de dados define de que maneira os tipos primitivosserãoorganizados(FORBELLONE,2005):pormeiode lista,pilhas,filasouárvores.Essasopçõesrepresentamosconjuntosa

seremmanipuladosporlogarítmos,dediferentesformas.Essetipodeestruturapodesofreralterações(MARCONDES,2002).Nateoria,refere-seàidentifica-çãoeaodesenvolvimentodemodelosparaaresoluçãodeproblemas.Naprática,significacriarrepresentaçõesconcretasquepodematuarsobremodelos.

2.1. lista encadeadaUmespaçodememóriaéreservadoparaosdados,quandosãoinseridosemumalistaencadeada.Então,oespaçoocupadoporumalista,namemória,éexpressopelaquantidadedeelementoscontidosalidentro.Paraquesepossapercorrertodososelementos,deve-searmazenar–juntoacadaumdeles–umponteiroqueindiqueoelementoseguinte(figura15).

A Cadaelementodalistaéidentificadocomoumnó.Utilizam-seosponteirosparapercorrertodososnósdalista.OúltimoelementodeveráapontarparaNULL(emlinguagemdeprogramaçãodecomputador,éapalavrausadaparasereferiraumdispositivonulo).Paraacriaçãodeumalista,considera-seoprimeiropon-teiroexistente.UmalistavaziadevesercriadacomoponteiroindicandoNULL,permitindo inserçõesnofinal.Essa listadeve ser alocada emumaposiçãodememória,comencadeamentoparaopróximoelemento(figura16).

Retirarumelementoda lista éumprocessoumpoucomais complexo,poispodemosencontrardiferentessituações,comoeliminaroprimeiroelementodalistaouumelementointermediário(figura17).

Outras funçõesagregadasàs listas são:buscadeelementoseverificaçãoparasaberseelaestávaziaounão.

Figura 15 Lista encadeada.

Figura 17 Eliminação de um elemento.

Figura 16Inserção de elemento.

início

INFO 001 II posição 01

INFO 002 II posição 02

INFO 003 II posição 03

início vazio II NULL

início INFO 001 II posição 01

vazio II NULL

início

INFO 001 II posição 01

INFO 002 II posição 02

INFO 003 II posição 03

início

INFO 001 II posição 01

INFO 002 II posição 02

INFO 003 II posição 03

InFoRmátICa 4

50

CaPítulo 2

51

Page 3: Capítulo 2 - WordPress.comserem manipulados por logarítmos, de diferentes formas. Esse tipo de estrutura pode sofrer alterações (MARCONDES, 2002). Na teoria, refere-se à identifi

2.4. PilhasApilhaéumaestruturabemsimples,muitasvezesencontradadentrodohard-ware.Aideiaéacessaroprimeiroelementoapartirdotopodapilha.Assim,umnovoelementoinseridonapilhavaidiretoparaotopoe,logicamente,éoúnicoquepodeserretirado.Portanto,oprimeiroquesaiéoúltimoqueentrou.Te-mos,nessecaso,oLIFO(doinglêslastin,firstout,ouúltimodentro,primeirofora).Háduasoperaçõesbásicas,paratrabalharcomaspilhas:push(empilhar)epop(desempilhar)(tabela8).

2.5. FilasOutra estrutura é a fila, que apresenta a ordem de saída dos elementos deformadiferentedoqueaconteceemumapilha.Nafila,oprimeiroelementoqueentraéoprimeiroasair:FIFO(firstin,firstout,ouseja,primeirodentro,primeirofora).Épossívelinserirumnovoelementonofinaldafilaeretiraroprimeiro(tabela9).

2.2. lista circularEmumalistacircularoúltimoelementodeveráapontarparaoprimeiro(figura18).Parapercorreralistaéprecisovisitartodososseuselementos,apartirdeumponteiroinicial,atéchegaraelenovamente.CasooponteiroinicialsejaNULL,alistaseráconsideradavazia.

2.3. lista duplamente encadeadaNalistaencadeadaháumponteiroindicandoopróximoelemento.Jánadu-plamenteencadeadasãodoisponteiros:ummostrandooelementoseguinteeoutro, o anterior.Apartir deum elementopodemos acessar ambos os lados(figura19).

Figura 18 Lista circular.

tabela 8Push e pop em uma pilha.

Figura 19Lista duplamente

encadeada.tabela 9Entrada e saída de uma fi la.

252525 404040151515 151515 151515

101010

101010202020 353535 101010

202020 101010101010 151515 151515 151515 202020 353535

INFO 001 II posição 01

INFO 002 II posição 02

INFO 003 II posição 03

INFO 001 II posição 01

II posição 02

INFO 001 II posição 01

II posição 02

INFO 001 II posição 01

II posição 02

InFoRmátICa 4

52

CaPítulo 2

53

Page 4: Capítulo 2 - WordPress.comserem manipulados por logarítmos, de diferentes formas. Esse tipo de estrutura pode sofrer alterações (MARCONDES, 2002). Na teoria, refere-se à identifi

Naárvorebináriacadanótemzero,umou,nomáximo,dois“filhos”.Então,épossíveldefinirumaárvorebináriacomovaziaouumnóraizcomduassubár-vores–umanadireita(sad)eoutranaesquerda(sae)(figura22).

• árvore genérica

Naárvorebináriahárestriçãoquantoaonúmerodenós:nomáximodois.Esselimitenãoacontecenasárvoresgenéricas(figura23).

2.6. árvoresOstópicosanterioresrepresentamadisposiçãodedadoslineares.Asárvores,porsuavez,permitemqueosdadossejamdispostosdeformahierárquica,comoumaestruturadediretórios.Todaárvorepossuiumnó“r”,denominadoraiz.Osdemaisnóssãoidentificadoscomointernosou“filhos”(figura20).

• árvores binárias

Umbomexemplodeárvorebináriasãoasexpressõesmatemáticas,asquaisnospermitem distribuir os operadores e os operandos. Por exemplo, a expressão((1+2)*(5*3))-2(figura21).

Figura 20Árvore e seus nós.

Figura 22 Esquema da Árvore Binária.

Figura 21 Árvore binária.

Figura 23Árvore genérica.

R

A CB D E

raiz

sae sad

+

1 2

*

5 3

-

* 2

InFoRmátICa 4

54

CaPítulo 2

55