Documentos de Académico
Documentos de Profesional
Documentos de Cultura
02) Instituto TecnológzxczCXico de La Paz. (S.F.) - Estructura de Datos "Apuntes", Pp. 1-58
02) Instituto TecnológzxczCXico de La Paz. (S.F.) - Estructura de Datos "Apuntes", Pp. 1-58
(6758&785$'('$726
$3817(6
,1752'8&&,21
&RPR\DVDEHPRVODVFRPSXWDGRUDVIXHURQGLVHDGDVRLGHDGDVFRPRXQD
KHUUDPLHQWDPHGLDQWHODFXDOSRGHPRVUHDOL]DURSHUDFLRQHVGHFOFXOR
FRPSOLFDGDVHQXQODSVRGHPQLPRWLHPSR3HURODPD\RUDGHODV
DSOLFDFLRQHVGHHVWHIDQWVWLFRLQYHQWRGHOKRPEUHVRQODVGHDOPDFHQDPLHQWR
\DFFHVRGHJUDQGHVFDQWLGDGHVGHLQIRUPDFLQ
/DLQIRUPDFLQTXHVHSURFHVDHQODFRPSXWDGRUDHVXQFRQMXQWRGHGDWRVTXH
SXHGHQVHUVLPSOHVRHVWUXFWXUDGRV/RVGDWRVVLPSOHVVRQDTXHOORVTXH
RFXSDQVORXQORFDOLGDGGHPHPRULDPLHQWUDVTXHORVHVWUXFWXUDGRVVRQXQ
FRQMXQWRGHFDVLOODVGHPHPRULDDODVFXDOHVKDFHPRVUHIHUHQFLDPHGLDQWHXQ
LGHQWLILFDGRUQLFR
'HELGRDTXHSRUORJHQHUDOWHQHPRVTXHWUDWDUFRQFRQMXQWRVGHGDWRV\QR
FRQGDWRVVLPSOHVHQWHURVUHDOHVERROHDQRVHWFTXHSRUVVRORVQRQRV
GLFHQQDGDQLQRVVLUYHQGHPXFKRHVQHFHVDULRWUDWDUFRQHVWUXFWXUDVGH
GDWRVDGHFXDGDVDFDGDQHFHVLGDG
/DVHVWUXFWXUDVGHGDWRVVRQXQDFROHFFLQGHGDWRVFX\DRUJDQL]DFLQVH
FDUDFWHUL]DSRUODVIXQFLRQHVGHDFFHVRTXHVHXVDQSDUDDOPDFHQDU\DFFHGHU
DHOHPHQWRVLQGLYLGXDOHVGHGDWRV
8QDHVWUXFWXUDGHGDWRVVHFDUDFWHUL]DSRUORVLJXLHQWH
3XHGHQGHVFRPSRQHUVHHQORVHOHPHQWRVTXHODIRUPDQ
/DPDQHUDHQTXHVHFRORFDQORVHOHPHQWRVGHQWURGHODHVWUXFWXUDDIHFWDUOD
IRUPDHQTXHVHUHDOLFHQORVDFFHVRVDFDGDHOHPHQWR
/DFRORFDFLQGHORVHOHPHQWRV\ODPDQHUDHQTXHVHDFFHGHDHOORVSXHGH
VHUHQFDSVXODGD
81,'$',7,326'('$726
7,326'('$726
Definicin: El tipo de un dato es el conjunto de valores que puede tomar
durante el programa. Si se le intenta dar un valor fuera del conjunto se
producir un error.
La asignacin de tipos a los datos tiene dos objetivos principales:
x Por un lado, detectar errores en las operaciones
x Por el otro, determinar cmo ejecutar estas operaciones
Un lenguaje fuertemente tipeado es aquel en el que todos los datos deben
de tener un tipo declarado explcitamente, y adems que existen ciertas
restricciones en las expresiones en cuanto a los tipos de datos que en ellas
intervienen. Una ventaja de los lenguajes fuertemente tipeados es que se gasta
mucho menos esfuerzo en depurar (corregir) los programas gracias a la gran
cantidad de errores que detecta el compilador.
&ODVLILFDFLRQHVHQORVWLSRVGHGDWRV
Existen muchas clasificaciones para los tipos de datos. Una de estas es la
siguiente:
x
x
Dinmicos
Estticos
o El tipo cadena
o Estructurados
o Simples
Ordinales
No-ordinales
Tipos estticos
Casi todos los tipos de datos son estticos, la excepcin son los
punteros. Que un tipo de datos sea esttico quiere decir que el tamao que
ocupa en memoria no puede variar durante la ejecucin del programa. Es decir,
una vez declarada una variable de un tipo determinado, a sta se le asigna un
trozo de memoria fijo, y este trozo no se podr aumentar ni disminur.
Tipos dinmicos.
Dentro de esta categora entra slamente el tipo puntero. Este tipo te permite
tener un mayor control sobre la gestin de memoria en tus programas. Con
Tipos simples
Como su nombre indica son los tipos bsicos. Son los ms sencillos y los ms
fciles de aprender. Los tipos simples ms bsicos son: entero, lgico, carcter
y real. Y la mayora de los lenguajes de programacin los soportan, no como
ocurre con los estructurados que pueden variar de un lenguaje a otro.
Tipos estructurados
Mientras que una variable de un tipo simple slo referencia a un elemento, los
estructurados se refieren a colecciones de elementos.
Las colecciones de elementos que aparecen al hablar de tipos estructurados
son muy variadas: tenemos colecciones ordenadas que se representan
mediante el tipo array, colecciones sin orden mediante el tipo conjunto, e
incluso colecciones que contienen otros tipos, son los llamados registros.
Tipos ordinales
Dentro de los tipos simples, los ordinales son los ms abundantes. De un tipo
se dice que es ordinal porque el conjunto de valores que representa se puede
contar, es decir, podemos establecer una relacin uno a uno entre sus
elementos y el conjunto de los nmeros naturales.
Dentro de los tipos simples ordinales, los ms importantes son:
x
x
x
El tipo entero.
El tipo lgico.
El tipo carcter.
Tipos no-ordinales
Simplificando, podramos reducir los tipos simples no-ordinales al tipo real. Este
tipo nos sirve para declarar variables que pueden tomar valores dentro del
conjunto de los nmeros reales. A diferencia de los tipos ordinales, los noordinales no se pueden contar. No se puede establecer una relacin uno a uno
entre ellos y los nmero naturales. Dicho de otra forma, para que un conjunto
se considere ordinal se tiene que poder calcular la posicin, el anterior
elemento y el siguiente de un elemento cualquiera del conjunto.Cul es el
sucesor de 5.12? Ser 5.13, o 5.120, o 5.121, ...
81,'$',,(6758&785$66(&8(1&,$/(6
,1752'8&&,21
6XSRQJDPRVTXHQRVHQIUHQWDPRVDXQSUREOHPDFRPRHVWH8QDHPSUHVD
TXHFXHQWDFRQHPSOHDGRVGHVHDHVWDEOHFHUXQDHVWDGVWLFDVREUHORV
VDODULRVGHVXVHPSOHDGRV\TXLHUHVDEHUFXDOHVHOVDODULRSURPHGLR\
WDPELQFXDQWRVGHVXVHPSOHDGRVJDQDHQWUH\
6LWRPDPRVODGHFLVLQGHWUDWDUHVWHWLSRGHSUREOHPDVFRQGDWRVVLPSOHV
SURQWRQRVSHUFDWDUDPRVGHOHQRUPHGHVSHUGLFLRGHWLHPSRDOPDFHQDPLHQWR\
YHORFLGDG(VSRUHVRTXHSDUDVLWXDFLRQHVGHHVWHWLSRODPHMRUVROXFLQVRQ
ORVGDWRVHVWUXFWXUDGRV
8QDUUHJORSXHGHGHILQLUVHFRPRXQJUXSRRXQDFROHFFLQILQLWDKRPRJQHD\
RUGHQDGDGHHOHPHQWRV/RVDUUHJORVSXHGHQVHUGHORVVLJXLHQWHVWLSRV
x
x
x
De una dimensin.
De dos dimensiones.
De tres o ms dimensiones.
$UUHJORV8QLGLPHQVLRQDOHV
8QDUUHJORXQLGLPHQVLRQDOHVXQWLSRGHGDWRVHVWUXFWXUDGRTXHHVWIRUPDGR
GHXQDFROHFFLQILQLWD\RUGHQDGDGHGDWRVGHOPLVPRWLSR(VODHVWUXFWXUD
QDWXUDOSDUDPRGHODUOLVWDVGHHOHPHQWRVLJXDOHV
(OWLSRGHDFFHVRDORVDUUHJORVXQLGLPHQVLRQDOHVHVHODFFHVRGLUHFWRHVGHFLU
SRGHPRVDFFHGHUDFXDOTXLHUHOHPHQWRGHODUUHJORVLQWHQHUTXHFRQVXOWDUD
HOHPHQWRVDQWHULRUHVRSRVWHULRUHVHVWRPHGLDQWHHOXVRGHXQQGLFHSDUD
FDGDHOHPHQWRGHODUUHJORTXHQRVGDVXSRVLFLQUHODWLYD
3DUDLPSOHPHQWDUDUUHJORVXQLGLPHQVLRQDOHVVHGHEHUHVHUYDUHVSDFLRHQ
PHPRULD\VHGHEHSURSRUFLRQDUODGLUHFFLQEDVHGHODUUHJORODFRWDVXSHULRU
\ODLQIHULRU
5(35(6(17$&,21(10(025,$
Los arreglos se representan en memoria de la forma siguiente:
[
[DUUD\>@RILQWHJHU
donde:
OV /PLWHVXSHULRUGHODUUHJOR
OL /PLWHLQIHULRUGHODUUHJOR
3DUDFDOFXODUODGLUHFFLQGHPHPRULDGHXQHOHPHQWRGHQWURGHXQDUUHJORVH
XVDODVLJXLHQWHIRUPXOD
$>L@ EDVH$>LOL
Z@
donde :
$ ,GHQWLILFDGRUQLFRGHODUUHJOR
L ,QGLFHGHOHOHPHQWR
OL /PLWHLQIHULRU
Z 1PHURGHE\WHVWLSRFRPSRQHQWH
6LHODUUHJORHQHOFXDOHVWDPRVWUDEDMDQGRWLHQHXQQGLFHQXPHUDWLYR
XWLOL]DUHPRVODVVLJXLHQWHVIUPXODV
5$1*2 RUGOVRUGOL
$>L@ EDVH$>RUGLRUGOL
Z@
$UUHJORV%LGLPHQVLRQDOHV
(VWHWLSRGHDUUHJORVDOLJXDOTXHORVDQWHULRUHVHVXQWLSRGHGDWRHVWUXFWXUDGR
ILQLWRRUGHQDGR\KRPRJQHR(ODFFHVRDHOORVWDPELQHVHQIRUPDGLUHFWDSRU
PHGLRGHXQSDUGHQGLFHV
/RVDUUHJORVELGLPHQVLRQDOHVVHXVDQSDUDUHSUHVHQWDUGDWRVTXHSXHGHQYHUVH
FRPRXQDWDEODFRQILODV\FROXPQDV/DSULPHUDGLPHQVLQGHODUUHJOR
UHSUHVHQWDODVFROXPQDVFDGDHOHPHQWRFRQWLHQHXQYDORU\FDGDGLPHQVLQ
UHSUHVHQWDXQDUHODFLQ
/DUHSUHVHQWDFLQHQPHPRULDVHUHDOL]DGHGRVIRUPDVDOPDFHQDPLHQWRSRU
FROXPQDVRSRUUHQJORQHV
3DUDGHWHUPLQDUHOQPHURWRWDOGHHOHPHQWRVHQXQDUUHJORELGLPHQVLRQDO
XVDUHPRVODVVLJXLHQWHVIUPXODV
5(35(6(17$&,21(10(025,$325&2/801$6
[DUUD\>@RILQWHJHU
3DUDFDOFXODUODGLUHFFLQGHPHPRULDGHXQHOHPHQWRVHXVDQODVLJXLHQWH
IRUPXOD
5(35(6(17$&,21(10(025,$3255(1*/21(6
[DUUD\>@RILQWHJHU
3DUDFDOFXODUODGLUHFFLQGHPHPRULDGHXQHOHPHQWRVHXVDQODVLJXLHQWH
IRUPXOD
$>LM@ EDVH$>LOL5MOL
Z@
GRQGH
L ,QGLFHGHOUHQJOQDFDOFXODU
M ,QGLFHGHODFROXPQDDFDOFXODU
OL /PLWHLQIHULRUGHUHQJORQHV
OL /PLWHLQIHULRUGHFROXPQDV
Z 1PHURGHE\WHVWLSRFRPSRQHQWH
$UUHJORV0XOWLGLPHQVLRQDOHV
(VWHWDPELQHVXQWLSRGHGDWRHVWUXFWXUDGRTXHHVWFRPSXHVWRSRUQ
GLPHQVLRQHV3DUDKDFHUUHIHUHQFLDDFDGDFRPSRQHQWHGHODUUHJORHV
QHFHVDULRXWLOL]DUQQGLFHVXQRSDUDFDGDGLPHQVLQ
3DUDGHWHUPLQDUHOQPHURGHHOHPHQWRVHQHVWHWLSRGHDUUHJORVVHXVDQODV
VLJXLHQWHVIUPXODV
GRQGH
L Q
Q 1RWRWDOGHGLPHQVLRQHV
3DUDGHWHUPLQDUODGLUHFFLQGHPHPRULDVHXVDODVLJXLHQWHIRUPXOD
2SHUDFLRQHV&RQ$UUHJORV
/DVRSHUDFLRQHVHQDUUHJORVSXHGHQFODVLILFDUVHGHODVLJXLHQWHIRUPD
/HFWXUD
(VFULWXUD
$VLJQDFLQ
$FWXDOL]DFLQ
2UGHQDFLQ
%VTXHGD
D/(&785$
(VWHSURFHVRFRQVLVWHHQOHHUXQGDWRGHXQDUUHJOR\DVLJQDUXQYDORUDFDGD
XQRGHVXVFRPSRQHQWHV
/DOHFWXUDVHUHDOL]DGHODVLJXLHQWHPDQHUD
SDUDLGHVGHKDVWD1KD]
[DUUHJOR>L@
E(6&5,785$
&RQVLVWHHQDVLJQDUOHXQYDORUDFDGDHOHPHQWRGHODUUHJOR
/DHVFULWXUDVHUHDOL]DGHODVLJXLHQWHPDQHUD
SDUDLGHVGHKDVWD1KD]
DUUHJOR>L@[
F$6,*1$&,21
1RHVSRVLEOHDVLJQDUGLUHFWDPHQWHXQYDORUDWRGRHODUUHJORSRUORTXHVH
UHDOL]DGHODPDQHUDVLJXLHQWH
SDUDLGHVGHKDVWD1KD]
DUUHJOR>L@DOJQBYDORU
G$&78$/,=$&,21
'HQWURGHHVWDRSHUDFLQVHHQFXHQWUDQODVRSHUDFLRQHVGHHOLPLQDULQVHUWDU\
PRGLILFDUGDWRV3DUDUHDOL]DUHVWHWLSRGHRSHUDFLRQHVVHGHEHWRPDUHQ
FXHQWDVLHODUUHJORHVWRQRRUGHQDGR
3DUDDUUHJORVRUGHQDGRVORVDOJRULWPRVGHLQVHUFLQERUUDGR\PRGLILFDFLQ
VRQORVVLJXLHQWHV
,QVHUWDU
6LLPHQVDMHDUUHJORFRQWUDULRFDVR(QDUUHJOR>L@YDORULLHQWRQFHV!
%RUUDU
6L1! HQWRQFHV
LQLFLR
L
HQFRQWUDGRIDOVR
LQLFLR
VLDUUHJOR>L@ YDORUBDBERUUDUHQWRQFHV
LQLFLR
HQFRQWUDGRYHUGDGHUR
11
SDUDNGHVGHLKDVWD1KD]
ILQ
HQFDVRFRQWUDULR
ILQ
ILQ
6LHQFRQWUDGR IDOVRHQWRQFHV
DUUHJOR>N@DUUHJOR>N@
LL
PHQVDMHYDORUQRHQFRQWUDGR
0RGLILFDU
6L1! HQWRQFHV
LQLFLR
L
HQFRQWUDGRIDOVR
LQLFLR
6LDUUHJOR>L@ YDORUHQWRQFHV
DUUHJOR>L@YDORUBQXHYR
HQFRQWUDGRYHUGDGHUR
(QFDVRFRQWUDULR
LL
ILQ
ILQ
0DWU]3RFR'HQVD5HJXODU
8QDPDWU]SRFRGHQVDHVDTXHOODTXHHVWIRUPDGDSRUHOHPHQWRVTXHHQVX
PD\RUDVRQFHURV(VWHWLSRGHPDWULFHVVRQPDWULFHVFXDGUDGDVTXHVH
GLYLGHQHQORVVLJXLHQWHVWLSRV
x
0DWU]WULDQJXODUVXSHULRU
0DWU]WULDQJXODULQIHULRU
0DWU]WULGLDJRQDO
0$75,=75,$1*8/$5683(5,25
(QHVWHWLSRGHPDWU]ORVHOHPHQWRVLJXDOHVDFHURVHHQFXHQWUDQGHEDMRGHOD
GLDJRQDOSULQFLSDO(MHPSOR
3DUDHYLWDUHOGHVSHUGLFLRGHPHPRULDTXHVHRFDVLRQDUDDODOPDFHQDUXQD
PDWU]HQGRQGHODPD\RUDGHORVHOHPHQWRVVRQFHURVHVFRQYHQLHQWH
WUDVSDVDUDXQDUUHJORXQLGLPHQVLRQDOWRGRVORVHOHPHQWRVGLIHUHQWHVGHFHUR
(ODUUHJORFRQORVHOHPHQWRVGLVWLQWRVGHFHURGHODPDWU]DQWHULRUHVHO
VLJXLHQWH
8QDYH]TXHKDOODPRVYDFLDGRODPDWU]HVLQGLVSHQVDEOHFRQRFHUHOOXJDU
GHQWURGHODUUHJORXQLGLPHQVLRQDOHQHOFXDOTXHGDURQVLWXDGRVORVHOHPHQWRV\
HVWRVHORJUDFRQODVLJXLHQWHIRUPXOD
/2&$>LM@ EDVH$Q
LL
LM
GRQGH
$ 0DWU]WULDQJXODUVXSHULRU
Q 1RWRWDOGHHOHPHQWRV
M UHQJORQHV
L FROXPQDV
0$75,=75,$1*8/$5,1)(5,25
(QHVWHWLSRGHPDWULFHVORVHOHPHQWRVLJXDOHVDFHURVHHQFXHQWUDQSRU
HQFLPDGHODGLDJRQDOSULQFLSDO(MHPSOR
8QDYH]TXHYDFLDPRVODPDWU]HQXQDUUHJORXQLGLPHQVLRQDOODIRUPXODSDUD
REWHQHUODVSRVLFLRQHVGHORVHOHPHQWRVHVODVLJXLHQWH
0$75,=75,',$*21$/
(QVWDORVHOHPHQWRVGLIHUHQWHVGHFHURVHHQFXHQWUDQHQODGLDJRQDO
SULQFLSDOHQODVGLDJRQDOHVSRUGHEDMRHQFLPDGHVWD(MHPSOR
<HODUUHJORFRQORVHOHPHQWRVGLIHUHQWHVGHFHURFRUUHVSRQGLHQWHDHVWDPDWU]
HVHOVLJXLHQWH
/DORFDOL]DFLQGHORVHOHPHQWRVGLVWLQWRVGHFHURHQHODUUHJORXQLGLPHQVLRQDO
VHUHDOL]DDSOLFDQGRODVLJXLHQWHIRUPXOD
/2&$>LM@ EDVH$
LM
2UGHQDFLRQHVHQ$UUHJORV
/DLPSRUWDQFLDGHPDQWHQHUQXHVWURVDUUHJORVRUGHQDGRVUDGLFDHQTXHHV
PXFKRPVUSLGRWHQHUDFFHVRDXQGDWRHQXQDUUHJORRUGHQDGRTXHHQXQR
GHVRUGHQDGR
([LVWHQPXFKRVDOJRULWPRVSDUDODRUGHQDFLQGHHOHPHQWRVHQDUUHJORV
HQVHJXLGDYHUHPRVDOJXQRVGHHOORV
D6HOHFFLQ'LUHFWD
Este mtodo consiste en seleccionar el elemento ms pequeo de nuestra lista para
colocarlo al inicio y as excluirlo de la lista.
3DUDDKRUUDUHVSDFLRVLHPSUHTXHYD\DPRVDFRORFDUXQHOHPHQWRHQVX
SRVLFLQFRUUHFWDORLQWHUFDPELDUHPRVSRUDTXHOTXHODHVWRFXSDQGRHQHVH
PRPHQWR
(ODOJRULWPRGHVHOHFFLQGLUHFWDHVHOVLJXLHQWH
L
PLHQWUDVL 1KD]
PLQL
ML
PLHQWUDVM 1KD]
VLDUUHJOR>M@>PLQ@HQWRQFHV
PLQM
MM
LQWHUFDPELDDUUHJOR>PLQ@DUUHJOR>L@
LL
E2UGHQDFLQSRU%XUEXMD
Es el mtodo de ordenacin ms utilizado por su fcil comprensin y programacin,
pero es importante sealar que es el ms ineficiente de todos los mtodos .
(VWHPWRGRFRQVLVWHHQOOHYDUORVHOHPHQWRVPHQRUHVDODL]TXLHUGDGHO
DUUHJORORVPD\RUHVDODGHUHFKDGHOPLVPR/DLGHDEVLFDGHODOJRULWPRHV
FRPSDUDUSDUHVGHHOHPHQWRVDG\DFHQWHVHLQWHUFDPELDUORVHQWUHVKDVWDTXH
WRGRVVHHQFXHQWUHQRUGHQDGRV
L
PLHQWUDVL1KD]
M1
PLHQWUDVM!LKD]
VLDUUHJOR>M@DUUHJOR>M@HQWRQFHV
LQWHUFDPELDDUUHJOR>M@DUUHJOR>M@
MM
LL
F2UGHQDFLQSRU0H]FOD
Este algoritmo consiste en partir el arreglo por la mitad, ordenar la mitad izquierda,
ordenar la mitad derecha y mezclar las dos mitades ordenadas en un array ordenado.
Este ltimo paso consiste en ir comparando pares sucesivos de elementos (uno de cada
mitad) y poniendo el valor ms pequeo en el siguiente hueco.
SURFHGLPLHQWRPH]FODUGDWL]TSL]TXGHUSGHUX
LQLFLR
L]TDL]TS
GHUDGHUS
LQGL]TS
PLHQWUDVL]TD L]TX\GHUD GHUXKD]
VLDUUHJOR>L]TD@GDW>GHUD@HQWRQFHV
WHPSRUDO>LQG@DUUHJOR>L]TD@
L]TDL]TD
HQFDVRFRQWUDULR
WHPSRUDO>LQG@DUUHJOR>GHUD@
GHUDGHUD
LQGLQG
PLHQWUDVL]TD L]TXKD]
WHPSRUDO>LQG@DUUHJOR>L]TD@
L]TDL]TD
LQGLQG
PLHQWUDVGHUD GHUXKD]
WHPSRUDO>LQG@ GDW>GHUD@
GHUDGHUD
LQGLQG
SDUDLQGL]TSKDVWDGHUXKD]
DUUHJOR>LQG@WHPSRUDO>LQG@
ILQ
%VTXHGDVHQ$UUHJORV
8QDEVTXHGDHVHOSURFHVRPHGLDQWHHOFXDOSRGHPRVORFDOL]DUXQHOHPHQWR
FRQXQYDORUHVSHFLILFRGHQWURGHXQFRQMXQWRGHGDWRV7HUPLQDPRVFRQ[LWR
ODEVTXHGDFXDQGRHOHOHPHQWRHVHQFRQWUDGR
$FRQWLQXDFLQYHUHPRVDOJXQRVGHORVDOJRULWPRVGHEVTXHGDTXHH[LVWHQ
D%VTXHGD6HFXHQFLDO
$HVWHPWRGRWDPELHQVHOHFRQRFHFRPREVTXHGDOLQHDO\FRQVLVWHHQ
HPSH]DUDOLQLFLRGHOFRQMXQWRGHHOHPHQWRVHLUDWUDYH]GHHOORVKDVWD
HQFRQWUDUHOHOHPHQWRLQGLFDGRKDVWDOOHJDUDOILQDOGHDUUHJOR
(VWHHVHOPWRGRGHEVTXHGDPVOHQWRSHURVLQXHVWURDUUHJORVHHQFXHQWUD
FRPSOHWDPHQWHGHVRUGHQDGRHVHOQLFRTXHQRVSRGUD\XGDUDHQFRQWUDUHO
GDWRTXHEXVFDPRV
LQG
HQFRQWUDGRIDOVR
PLHQWUDVQRHQFRQWUDGR\LQG1KD]
VLDUUHJOR>LQG@ YDORUBEXVFDGRHQWRQFHV
HQFDVRFRQWUDULR
HQFRQWUDGRYHUGDGHUR
LQGLQG
E%VTXHGD%LQDULD
/DVFRQGLFLRQHVTXHGHEHFXPSOLUHODUUHJORSDUDSRGHUXVDUEVTXHGDELQDULD
VRQTXHHODUUHJORHVWHRUGHQDGR\TXHVHFRQR]FDHOQXPHURGHHOHPHQWRV
(VWHPWRGRFRQVLVWHHQORVLJXLHQWHFRPSDUDUHOHOHPHQWREXVFDGRFRQHO
HOHPHQWRVLWXDGRHQODPLWDGGHODUUHJORVLWHQHPRVVXHUWH\ORVGRVYDORUHV
FRLQFLGHQHQHVHPRPHQWRODEVTXHGDWHUPLQD3HURFRPRH[LVWHXQDOWR
SRUFHQWDMHGHTXHHVWRQRRFXUUDUHSHWLUHPRVORVSDVRVDQWHULRUHVHQODPLWDG
LQIHULRUGHODUUHJORVLHOHOHPHQWRTXHEXVFDPRVUHVXOWRPHQRUTXHHOGHOD
PLWDGGHODUUHJORRHQODPLWDGVXSHULRUVLHOHOHPHQWREXVFDGRIXHPD\RU
/DEVTXHGDWHUPLQDFXDQGRHQFRQWUDPRVHOHOHPHQWRRFXDQGRHOWDPDRGHO
DUUHJORDH[DPLQDUVHDFHUR
HQFRQWUDGRIDOVR
SULPHUR
XOWLPR1
PLHQWUDVSULPHUR XOWLPR\QRHQFRQWUDGRKD]
VLDUUHJOR>PLWDG@ YDORUBEXVFDGRHQWRQFHV
HQFDVRFRQWUDULR
VLDUUHJOR>PLWDG@!YDORUBEXVFDGRHQWRQFHV
HQFDVRFRQWUDULR
HQFQWUDGRYHUGDGHUR
XOWLPRPLWDG
SULPHURPLWDG
F%VTXHGDSRU+DVK
/DLGHDSULQFLSDOGHHVWHPWRGRFRQVLVWHHQDSOLFDUXQDIXQFLQTXHWUDGXFHHO
YDORUGHOHOHPHQWREXVFDGRHQXQUDQJRGHGLUHFFLRQHVUHODWLYDV8QD
GHVYHQWDMDLPSRUWDQWHGHHVWHPWRGRHVTXHSXHGHRFDVLRQDUFROLVLRQHV
IXQFLRQKDVKYDORUBEXVFDGR
LQLFLR
ILQ
KDVKYDORUBEXVFDGRPRGQXPHURBSULPR
LQLFLRKDVKYDORU
LOLQLFLR
HQFRQWUDGRIDOVR
UHSLWH
VLDUUHJOR>LO@ YDORUHQWRQFHV
HQFDVRFRQWUDULR
HQFRQWUDGRYHUGDGHUR
LOLOPRG1
KDVWDHQFRQWUDGRRLO LQLFLR
&2/$6
8QDFRODHVXQDHVWUXFWXUDGHDOPDFHQDPLHQWRGRQGHODSRGHPRVFRQVLGHUDU
FRPRXQDOLVWDGHHOHPHQWRVHQODTXHVWRVYDQDVHULQVHUWDGRVSRUXQ
H[WUHPR\VHUQH[WUDGRVSRURWUR
/DVFRODVVRQHVWUXFWXUDVGHWLSR),)2ILUVWLQILUVWRXW\DTXHHOSULPHU
HOHPHQWRHQHQWUDUDODFRODVHUHOSULPHURHQVDOLUGHHOOD
([LVWHQPXFKVLPRVHMHPSORVGHFRODVHQODYLGDUHDOFRPRSRUHMHPSOR
SHUVRQDVHVSHUDQGRHQXQWHOIRQRSEOLFRQLRVHVSHUDQGRSDUDVXELUDXQ
MXHJRPHFQLFRHVWXGLDQWHVHVSHUDQGRSDUDVXELUDXQFDPLQHVFRODUHWF
5HSUHVHQWDFLQHQ0HPRULD
3RGHPRVUHSUHVHQWDUDODVFRODVGHGRVIRUPDV
x
&RPRDUUHJORV
&RPROLVWDVRUGHQDGDV
(QHVWDXQLGDGWUDWDUHPRVDODVFRODVFRPRDUUHJORVGHHOHPHQWRVHQGRQGH
GHEHPRVGHILQLUHOWDPDRGHODFROD\GRVDSXQWDGRUHVXQRSDUDDFFHVDUHO
SULPHUHOHPHQWRGHODOLVWD\RWURTXHJXDUGHHOOWLPR(QORVXFHVLYRDO
DSXQWDGRUGHOSULPHUHOHPHQWROROODPDUHPRV)DOGHHOOWLPRHOHPHQWR$\
0$;,02SDUDGHILQLUHOQPHURP[LPRGHHOHPHQWRVHQODFROD
&ROD/LQHDO
/DFRODOLQHDOHVXQWLSRGHDOPDFHQDPLHQWRFUHDGRSRUHOXVXDULRTXHWUDEDMD
EDMRODWFQLFD),)2SULPHURHQHQWUDUSULPHURHQVDOLU/DVFRODVOLQHDOHVVH
UHSUHVHQWDQJUILFDPHQWHGHODVLJXLHQWHPDQHUD
/DVRSHUDFLRQHVTXHSRGHPRVUHDOL]DUHQXQDFRODVRQODVGHLQLFLDOL]DFLQ
LQVHUFLQ\H[WUDFFLQ/RVDOJRULWPRVSDUDOOHYDUDFDERGLFKDVRSHUDFLRQHVVH
HVSHFLILFDQPVDGHODQWH
/DVFRQGLFLRQHVDFRQVLGHUDUHQHOWUDWDPLHQWRGHFRODVOLQHDOHVVRQODV
VLJXLHQWHV
x
9DFR
$/*25,702'(,1,&,$/,=$&,1
)
$
$/*25,7023$5$,16(57$5
6L$ P[LPRHQWRQFHV
PHQVDMHRYHUIORZ
HQFDVRFRQWUDULR
$$
FROD>$@YDORU
$/*25,7023$5$(;75$(5
6L$ OW)HQWRQFHV
PHQVDMHXQGHUIORZ
HQFDVRFRQWUDULR
))
[FROD>)@
&ROD&LUFXODU
/DVFRODVOLQHDOHVWLHQHQXQJUDYHSUREOHPDFRPRODVH[WUDFFLRQHVVOR
SXHGHQUHDOL]DUVHSRUXQH[WUHPRSXHGHOOHJDUXQPRPHQWRHQTXHHO
DSXQWDGRU$VHDLJXDODOP[LPRQPHURGHHOHPHQWRVHQODFRODVLHQGRTXH
DOIUHQWHGHODPLVPDH[LVWDQOXJDUHVYDFRV\DOLQVHUWDUXQQXHYRHOHPHQWR
QRVPDQGDUXQHUURUGHRYHUIORZFRODOOHQD
3DUDVROXFLRQDUHOSUREOHPDGHGHVSHUGLFLRGHPHPRULDVHLPSOHPHQWDURQODV
FRODVFLUFXODUHVHQODVFXDOHVH[LVWHXQDSXQWDGRUGHVGHHOOWLPRHOHPHQWRDO
SULPHURGHODFROD
/DUHSUHVHQWDFLQJUILFDGHHVWDHVWUXFWXUDHVODVLJXLHQWH
/DFRQGLFLQGHYDFRHQHVWHWLSRGHFRODHVTXHHODSXQWDGRU)VHDLJXDOD
FHUR
/DVFRQGLFLRQHVTXHGHEHPRVWHQHUSUHVHQWHVDOWUDEDMDUFRQHVWHWLSRGH
HVWUXFWXUDVRQODVVLJXLHQWHV
x
2YHUIORZFXDQGRVHUHDOLFHXQDLQVHUFLQ
8QGHUIORZFXDQGRVHUHTXLHUDGHXQDH[WUDFFLQHQODFROD
9DFLR
$/*25,702'(,1,&,$/,=$&,1
)
$
$/*25,7023$5$,16(57$5
PHQVDMHRYHUIORZ
HQFDVRFRQWUDULR
LQLFLR
VL$ P[LPRHQWRQFHV
$
FROD>$@YDORU
HQFDVRFRQWUDULR
$$
FROD>$@YDORU
VL) HQWRQFHV
)
ILQ
$/*25,7023$5$(;75$(5
6L) HQWRQFHV
PHQVDMHXQGHUIORZ
HQFDVRFRQWUDULR
[FROD>)@
VL) $HQWRQFHV
)
$
HQFDVRFRQWUDULR
VL) P[LPRHQWRQFHV
)HQFDVRFRQWUDULR))
'REOH&ROD
(VWDHVWUXFWXUDHVXQDFRODELGLPHQVLRQDOHQTXHODVLQVHUFLRQHV\
HOLPLQDFLRQHVVHSXHGHQUHDOL]DUHQFXDOTXLHUDGHORVGRVH[WUHPRVGHOD
ELFROD*UILFDPHQWHUHSUHVHQWDPRVXQDELFRODGHODVLJXLHQWHPDQHUD
([LVWHQGRVYDULDQWHVGHODGREOHFROD
x
'REOHFRODGHHQWUDGDUHVWULQJLGD
'REOHFRODGHVDOLGDUHVWULQJLGD
/DSULPHUYDULDQWHVORDFHSWDLQVHUFLRQHVDOILQDOGHODFROD\ODVHJXQGD
DFHSWDHOLPLQDFLRQHVVORDOIUHQWHGHODFROD
$/*25,7026'((175$'$5(675,1*,'$
$OJRULWPRGH,QLFLDOL]DFLQ
)
$
$OJRULWPRSDUD,QVHUWDU
6L$ P[LPRHQWRQFHV
PHQVDMHRYHUIORZ
HQFDVRFRQWUDULR
$$
FROD>$@YDORU
$OJRULWPRSDUD([WUDHU
6L) JW$HQWRQFHV
PHQVDMHXQGHUIORZ
HQFDVRFRQWUDULR
PHQVDMHIUHQWHDWUV
VLIUHQWHHQWRQFHV
[FROD>)@
))
HQFDVRFRQWUDULR
[FROD>$@
$$
$/*25,7026'(6$/,'$5(675,1*,'$
$OJRULWPRGH,QLFLDOL]DFLQ
)
$
$OJRULWPRSDUD,QVHUWDU
6L) JW$HQWRQFHV
PHQVDMHRYHUIORZ
HQFDVRFRQWUDULR
PHQVDMH)UHQWH$WUV
VL)UHQWHHQWRQFHV
HQFDVRFRQWUDULR
$$
FROD>$@YDORU
FROD>)@YDORU
$OJRULWPRSDUD([WUDHU
6L) HQWRQFHV
PHQVDMHXQGHUIORZ
HQFDVRFRQWUDULR
[FROD>)@
))
&RODGH3ULRULGDGHV
(VWDHVWUXFWXUDHVXQFRQMXQWRGHHOHPHQWRVGRQGHDFDGDXQRGHHOORVVHOHV
DVLJQDXQDSULRULGDG\ODIRUPDHQTXHVRQSURFHVDGRVHVODVLJXLHQWH
8QHOHPHQWRGHPD\RUSULRULGDGHVSURFHVDGRDOSULQFLSLR
'RVHOHPHQWRVFRQODPLVPDSULRULGDGVRQSURFHVDGRVGHDFXHUGRDO
RUGHQHQTXHIXHURQLQVHUWDGRVHQODFROD
$OJRULWPRSDUD,QVHUWDU
[
ILQDOYHUGDGHUR
SDUDLGHVGHKDVWDQKD]
6LFROD>L@ JWSULRULGDGHQWRQFHV
[L
ILQDOIDOVR
VDOLU
VLILQDOHQWRQFHV
[Q
SDUDLGHVGHQKDVWD[
FROD>L@SULRULGDG
$OJRULWPRSDUD([WUDHU
6LFROD>@ HQWRQFHV
PHQVDMHRYHUIORZ
HQFDVRFRQWUDULR
SURFHVDUFROD>@
SDUDLGHVGHKDVWDQKD]
FROD>L@FROD>@
2SHUDFLRQHVHQ&RODV
/DVRSHUDFLRQHVTXHQRVRWURVSRGHPRVUHDOL]DUVREUHXQDFRODVRQODV
VLJXLHQWHV
x
,QVHUFLQ
([WUDFFLQ
/DVLQVHUFLRQHVHQODFRODVHOOHYDUQDFDERSRUDWUVGHODFRODPLHQWUDVTXH
ODVHOLPLQDFLRQHVVHUHDOL]DUQSRUHOIUHQWHGHODFRODKD\TXHUHFRUGDUTXHHO
SULPHURHQHQWUDUHVHOSULPHURHQVDOLU
3,/$6
/DVSLODVVRQRWURWLSRGHHVWUXFWXUDGHGDWRVOLQHDOHVODVFXDOHVSUHVHQWDQ
UHVWULFFLRQHVHQFXDQWRDODSRVLFLQHQODFXDOSXHGHQUHDOL]DUVHODV
LQVHUFLRQHV\ODVH[WUDFFLRQHVGHHOHPHQWRV
8QDSLODHVXQDOLVWDGHHOHPHQWRVHQODTXHVHSXHGHQLQVHUWDU\HOLPLQDU
HOHPHQWRVVORSRUXQRGHORVH[WUHPRV&RPRFRQVHFXHQFLDORVHOHPHQWRV
GHXQDSLODVHUQHOLPLQDGRVHQRUGHQLQYHUVRDOTXHVHLQVHUWDURQ(VGHFLUHO
OWLPRHOHPHQWRTXHVHPHWLDODSLODVHUHOSULPHURHQVDOLUGHHOOD
(QODYLGDFRWLGLDQDH[LVWHQPXFKRVHMHPSORVGHSLODVXQDSLODGHSODWRVHQ
XQDDODFHQDXQDSLODGHODWDVHQXQVXSHUPHUFDGRXQDSLODGHSDSHOHVVREUH
XQHVFULWRULRHWF
'HELGRDORUGHQHQTXHVHLQVHUWDQ\HOLPLQDQORVHOHPHQWRVHQXQDSLOD
WDPELQVHOHFRQRFHFRPRHVWUXFWXUD/,)2/DVW,Q)LUVW2XWOWLPRHQHQWUDU
SULPHURHQVDOLU
5HSUHVHQWDFLQHQ0HPRULD
/DVSLODVQRVRQHVWUXFWXUDVGHGDWRVIXQGDPHQWDOHVHVGHFLUQRHVWQ
GHILQLGDVFRPRWDOHVHQORVOHQJXDMHVGHSURJUDPDFLQ/DVSLODVSXHGHQ
UHSUHVHQWDUVHPHGLDQWHHOXVRGH
x
$UUHJORV
/LVWDVHQOD]DGDV
1RVRWURVDKRUDXVDUHPRVORVDUUHJORV3RUORWDQWRGHEHPRVGHILQLUHOWDPDR
P[LPRGHODSLODDGHPVGHXQDSXQWDGRUDOOWLPRHOHPHQWRLQVHUWDGRHQOD
SLODHOFXDOGHQRPLQDUHPRV63/DUHSUHVHQWDFLQJUILFDGHXQDSLODHVOD
VLJXLHQWH
&RPRXWLOL]DPRVDUUHJORVSDUDLPSOHPHQWDUSLODVWHQHPRVODOLPLWDQWHGH
HVSDFLRGHPHPRULDUHVHUYDGD8QDYH]HVWDEOHFLGRXQP[LPRGHFDSDFLGDG
SDUDODSLOD\DQRHVSRVLEOHLQVHUWDUPVHOHPHQWRV
8QDSRVLEOHVROXFLQDHVWHSUREOHPDHVHOXVRGHHVSDFLRVFRPSDUWLGRVGH
PHPRULD6XSRQJDVHTXHVHQHFHVLWDQGRVSLODVFDGDXQDFRQXQWDPDR
P[LPRGHQHOHPHQWRV(QHVWHFDVRVHGHILQLUXQVRORDUUHJORGH
Q
HOHPHQWRVHQOXJDUTXHGRVDUUHJORVGHQHOHPHQWRV
(QHVWHFDVRXWLOL]DUHPRVGRVDSXQWDGRUHV63SDUDDSXQWDUDOOWLPR
HOHPHQWRLQVHUWDGRHQODSLOD\63SDUDDSXQWDUDOOWLPRHOHPHQWRLQVHUWDGR
HQODSLOD&DGDXQDGHODVSLODVLQVHUWDUVXVHOHPHQWRVSRUORVH[WUHPRV
RSXHVWRVHVGHFLUODSLODLQLFLDUDSDUWLUGHODORFDOLGDGGHODUUHJOR\ODSLOD
LQLFLDUHQODORFDOLGDGQ'HHVWHPRGRVLODSLODQHFHVLWDPVGHQ
HVSDFLRVKD\TXHUHFRUGDUTXHDFDGDSLODVHOHDVLJQDURQQORFDOLGDGHV\OD
SLODQRWLHQHRFXSDGRVVXVQOXJDUHVHQWRQFHVVHSRGUQVHJXLULQVHUWDQGR
HOHPHQWRVHQODSLODVLQFDHUHQXQHUURUGHGHVERUGDPLHQWR
1RWDFLQ,QILMD3RVWILMD\3UHILMD
/DVSLODVVRQHVWUXFWXUDVGHGDWRVPX\XVDGDVSDUDODVROXFLQGHGLYHUVRV
WLSRVGHSUREOHPDV3HURWDOYH]HOSULQFLSDOXVRGHHVWDVHVWUXFWXUDVHVHO
WUDWDPLHQWRGHH[SUHVLRQHVPDWHPWLFDV
$/*25,7023$5$&219(57,5(;35(6,21(6,1),-$6(13267),-$6
531
1. Incrementar la pila
2. Inicializar el conjunto de operaciones
3. Mientras no ocurra error y no sea fin de la expresin infija haz
o Si el carcter es:
1. PARENTESIS IZQUIERDO. Colocarlo en la pila
2. PARENTESIS DERECHO. Extraer y desplegar los valores hasta
encontrar parntesis izquierdo. Pero NO desplegarlo.
3. UN OPERADOR.
Si la pila esta vaca o el carcter tiene ms alta prioridad
que el elemento del tope de la pila insertar el carcter en
la pila.
En caso contrario extraer y desplegar el elemento del tope
de la pila y repetir la comparacin con el nuevo tope.
4. OPERANDO. Desplegarlo.
4. Al final de la expresin extraer y desplegar los elementos de la pila hasta que se
vace.
$/*25,7023$5$(9$/8$581$(;35(6,21531
1. Incrementar la pila
2. Repetir
o Tomar un caracter.
o Si el caracter es un operando colocarlo en la pila.
o Si el caracter es un operador entonces tomar los dos valores del tope de
la pila, aplicar el operador y colocar el resultado en el nuevo tope de la
pila. (Se produce un error en caso de no tener los 2 valores)
3. Hasta encontrar el fin de la expresin RPN.
5HFXUVLQ
3RGHPRVGHILQLUODUHFXUVLYLGDGFRPRXQSURFHVRTXHVHGHILQHHQWUPLQRVGH
VPLVPR
(OFRQFHSWRGHUHFXUVLQHVGLIFLOGHSUHFLVDUSHURH[LVWHQHMHPSORVGHODYLGD
FRWLGLDQDTXHQRVSXHGHQVHUYLUSDUDGDUQRVXQDPHMRULGHDDFHUFDGHORTXH
HVUHFXUVLYLGDG8QHMHPSORGHHVWRHVFXDQGRVHWRPDXQDIRWRJUDIDGHXQD
IRWRJUDIDRFXDQGRHQXQSURJUDPDGHWHOHYLVLQXQSHULRGLVWDWUDQVILHUHHO
FRQWURODRWURSHULRGLVWDTXHVHHQFXHQWUDHQRWUDFLXGDG\HVWHDVXYH]OH
WUDQVILHUHHOFRQWURODRWUR
&DVRVWSLFRVGHHVWUXFWXUDVGHGDWRVGHILQLGDVGHPDQHUDUHFXUVLYDVRQORV
UEROHVELQDULRV\ODVOLVWDVHQOD]DGDV
/DUHFXUVLQVHSXHGHGDUGHGRVIRUPDV
x
x
,PSOHPHQWDU5HFXUVLQ8VDQGR3LODV
2WUDGHODVDSOLFDFLRQHVHQODVTXHSRGHPRVXWLOL]DUODVSLODVHVHQOD
LPSOHPHQWDFLQGHODUHFXUVLYLGDG$FRQWLQXDFLQVHPRVWUDUQDOJXQRV
HMHPSORV
_
_1
)DFWRULDO
_1
Q1 JW
_
VS
PLHQWUDVQ!KD]
SXVKSLODQ
QQ
PLHQWUDVVS!KD]
IDFWRULDOIDFWRULDO
SRSSLOD
_
_VLDE
4
_4DEEVLD E
_
VS
4
OHHDOHHE
PLHQWUDVD! EKD]
SXVKSLOD
DDE
PLHQWUDVVS!KD]
44SRSSLOD
2SHUDFLRQHVHQ3LODV
/DVSULQFLSDOHVRSHUDFLRQHVTXHSRGHPRVUHDOL]DUHQXQDSLODVRQ
x
x
/RVDOJRULWPRVSDUDUHDOL]DUFDGDXQDGHHVWDVRSHUDFLRQHVVHPXHVWUDQD
FRQWLQXDFLQ/DYDULDEOHP[LPRSDUDKDFHUUHIHUHQFLDDOP[LPRQPHURGH
HOHPHQWRVHQODSLOD
,QVHUFLQ3XVK
VLVS P[LPRHQWRQFHV
PHQVDMHRYHUIORZ
HQFDVRFRQWUDULR
VSVS
SLOD>VS@YDORU
(OLPLQDFLQ3RS
VLVS HQWRQFHV
PHQVDMHXQGHUIORZ
HQFDVRFRQWUDULR
[SLOD>VS@
VSVS
81,'$',,,/,67$6(1/$=$'$6
8QDOLVWDHQOD]DGDRHQFDGHQDGDHVXQDFROHFFLQGHHOHPHQWRVQRGRVHQ
GRQGHFDGDXQRFRQWLHQHGDWRV\XQHQODFHROLJD
8QQ
QRGRHVXQDVHFXHQFLDGHFDUDFWHUHVHQPHPRULDGLYLGLGDHQFDPSRVGH
FXDOTXLHUWLSR8QQRGRVLHPSUHFRQWLHQHODGLUHFFLQGHPHPRULDGHOVLJXLHQWH
QRGRGHLQIRUPDFLQVLHVWHH[LVWH
8QDSXQWDGRUHVODGLUHFFLQGHPHPRULDGHXQQRGR
/DILJXUDVLJXLHQWHPXHVWUDODHVWUXFWXUDGHXQQRGR
(OFDPSROLJDTXHHVGHWLSRSXQWHURHVHOTXHVHXVDSDUDHVWDEOHFHUODOLJD
FRQHOVLJXLHQWHQRGRGHODOLVWD6LHOQRGRIXHUDHOOWLPRHVWHFDPSRUHFLEH
FRPRYDORU1,/YDFR
$FRQWLQXDFLQVHPXHVWUDHOHVTXHPDGHXQDOLVWD
2SHUDFLRQHVHQ/LVWDV(QOD]DGDV
/DVRSHUDFLRQHVTXHSRGHPRVUHDOL]DUVREUHXQDOLVWDHQOD]DGDVRQODV
VLJXLHQWHV
x
Recorrido. Esta operacin consiste en visitar cada uno de los nodos que forman
la lista . Para recorrer todos los nodos de la lista, se comienza con el primero, se
toma el valor del campo liga para avanzar al segundo nodo, el campo liga de este
nodo nos dar la direccin del tercer nodo, y as sucesivamente.
Insercin. Esta operacin consiste en agregar un nuevo nodo a la lista. Para esta
operacin se pueden considerar tres casos:
o Insertar un nodo al inicio.
o Insertar un nodo antes o despus de cierto nodo.
o Insertar un nodo al final.
Borrado. La operacin de borrado consiste en quitar un nodo de la lista,
redefiniendo las ligas que correspondan. Se pueden presentar cuatro casos:
o Eliminar el primer nodo.
o Eliminar el ltimo nodo.
o Eliminar un nodo con cierta informacin.
o Eliminar el nodo anterior o posterior al nodo cierta con informacin.
Bsqueda. Esta operacin consiste en visitar cada uno de los nodos, tomando al
campo liga como puntero al siguiente nodo a visitar.
/LVWDV/LQHDOHV
(QHVWDVHFFLQVHPRVWUDUQDOJXQRVDOJRULWPRVVREUHOLVWDVOLQHDOHVVLQQRGR
GHFDEHFHUD\FRQQRGRGHFDEHFHUD
8QDOLVWDFRQQRGRGHFDEHFHUDHVDTXHOODHQODTXHHOSULPHUQRGRGHODOLVWD
FRQWHQGUHQVXFDPSRGDWRDOJQYDORUTXHORGLIHUHQFHGHORVGHPVQRGRV
FRPR
HWF8QHMHPSORGHOLVWDFRQQRGRGHFDEHFHUDHVHOVLJXLHQWH
(QHOFDVRGHXWLOL]DUOLVWDVFRQQRGRGHFDEHFHUDXVDUHPRVHODSXQWDGRU&$%
SDUDKDFHUUHIHUHQFLDDODFDEH]DGHODOLVWD
3DUDHOFDVRGHODVOLVWDVVLQQRGRGHFDEHFHUDVHXVDUODH[SUHVLQ723
SDUDUHIHUHQFLDUDOSULPHUQRGRGHODOLVWD\723GDWR723OLJDSDUDKDFHU
UHIHUHQFLDDOGDWRDOPDFHQDGR\DODOLJDDOVLJXLHQWHQRGRUHVSHFWLYDPHQWH
$OJRULWPRGH&UHDFLQ
WRS1,/
UHSLWH
QHZS
OHHUSGDWR
VLWRS 1,/HQWRQFHV
WRSS
HQFDVRFRQWUDULR
TOLJDS
SOLJD1,/
TS
PHQVDMH
RWURQRGR"
OHHUUHVSXHVWD
KDVWDUHVSXHVWD QR
$OJRULWPRSDUD5HFRUULGR
SWRS
PLHQWUDVS!1,/KD]
HVFULEHSGDWR
SSOLJD
$OJRULWPRSDUDLQVHUWDUDOILQDO
SWRS
PLHQWUDVSOLJD!1,/KD]
SSOLJD
QHZT
SOLJDT
TOLJD1,/
$OJRULWPRSDUDLQVHUWDUDQWHVGHVSXVGH
;
LQIRUPDFLQ
SWRS
PHQVDMHDQWHVGHVSXHV
OHHUHVSXHVWD
VLDQWHVHQWRQFHV
PLHQWUDVS!1,/KD]
VLSGDWR
[
HQWRQFHV
QHZT
OHHUTGDWR
TOLJDS
VLS WRSHQWRQFHV
WRST
HQFDVRFRQWUDULR
UOLJDT
SQLO
HQFDVRFRQWUDULR
US
SSOLQN
VLGHVSXHVHQWRQFHV
SWRS
PLHQWUDVS!1,/KD]
VLSGDWR
[
HQWRQFHV
QHZT
OHHUTGDWR
TOLJDSOLJD
SOLJDT
S1,/
HQFDVRFRQWUDULR
SSOLJD
SWRS
PLHQWUDVSOLJD!1,/KD]
SSOLJD
QHZT
SOLJDT
TOLJD1,/
$OJRULWPRSDUDERUUDUXQQRGR
SWRS
OHHUYDORUBDBERUUDU
PLHQWUDVS!1,/KD]
VLSGDWR YDORUBDBERUUDUHQWRQFHV
VLS WRSHQWRQFHV
VLSOLJD 1,/HQWRQFHV
WRS1,/
HQFDVRFRQWUDULR
WRSOLJDWRSOLJD
HQFDVRFRQWUDULR
TOLJDSOLJD
GLVSRVHS
S1,/
HQFDVRFRQWUDULR
TS
SSOLJD
$OJRULWPRGHFUHDFLQGHXQDOLVWDFRQQRGRGHFDEHFHUD
QHZFDE
FDEGDWR
FDEOLJD1,/
TFDE
UHSLWH
QHZS
OHHUSGDWR
SOLJD1,/
TS
PHQVDMHRWURQRGR"
OHHUUHVSXHVWD
KDVWDUHVSXHVWD QR
$OJRULWPRGHH[WUDFFLQHQXQDOLVWDFRQQRGRGHFDEHFHUD
OHHUYDORUBDBERUUDU
SFDE
TFDEOLJD
PLHQWUDVT!1,/KD]
VLTGDWR YDORUBDBERUUDUHQWRQFHV
STOLJD
GLVSRVHT
T1,/
HQFDVRFRQWUDULR
ST
TTOLJD
/LVWDV'REOHV
8QDOLVWDGREOHGREOHPHQWHOLJDGDHVXQDFROHFFLQGHQRGRVHQODFXDO
FDGDQRGRWLHQHGRVSXQWHURVXQRGHHOORVDSXQWDQGRDVXSUHGHFHVRUOL\
RWURDVXVXFHVRUOG3RUPHGLRGHHVWRVSXQWHURVVHSRGUDYDQ]DUR
UHWURFHGHUDWUDYVGHODOLVWDVHJQVHWRPHQODVGLUHFFLRQHVGHXQRXRWUR
SXQWHUR
/DHVWUXFWXUDGHXQQRGRHQXQDOLVWDGREOHHVODVLJXLHQWH
([LVWHQGRVWLSRVGHOLVWDVGREOHPHQWHOLJDGDV
x
x
Listas dobles lineales. En este tipo de lista doble, tanto el puntero izquierdo del
primer nodo como el derecho del ltimo nodo apuntan a NIL.
Listas dobles circulares. En este tipo de lista doble, el puntero izquierdo del
primer nodo apunta al ltimo nodo de la lista, y el puntero derecho del ltimo
nodo apunta al primer nodo de la lista.
'HELGRDTXHODVOLVWDVGREOHVFLUFXODUHVVRQPVHILFLHQWHVORVDOJRULWPRVTXH
HQHVWDVHFFLQVHWUDWHQVHUQVREUHOLVWDVGREOHVFLUFXODUHV
(QODILJXUDVLJXLHQWHVHPXHVWUDXQHMHPSORGHXQDOLVWDGREOHPHQWHOLJDGD
OLQHDOTXHDOPDFHQDQPHURV
(QODILJXUDVLJXLHQWHVHPXHVWUDXQHMHPSORGHXQDOLVWDGREOHPHQWHOLJDGD
FLUFXODUTXHDOPDFHQDQPHURV
$FRQWLQXDFLQPRVWUDUHPRVDOJXQRVDOJRULWPRVVREUHOLVWDVHQOD]DGDV&RPR
\DVHPHQFLRQOODPDUHPRVOLDOSXQWHURL]TXLHUGR\OGDOSXQWHURGHUHFKR
WDPELQXVDUHPRVHODSXQWDGRUWRSSDUDKDFHUUHIHUHQFLDDOSULPHUQRGRHQOD
OLVWD\SSDUDUHIHUHQFLDUDOQRGRSUHVHQWH
$OJRULWPRGHFUHDFLQ
WRS1,/
UHSLWH
VLWRS 1,/HQWRQFHV
QHZS
OHHSGDWR
SOGS
SOLS
WRSS
HQFDVRFRQWUDULR
QHZS
OHHSGDWR
SOGWRS
SOLS
SOGOLS
PHQVDMHRWURQRGR"
OHHUHVSXHVWD
KDVWDUHVSXHVWD QR
$OJRULWPRSDUDUHFRUUHUODOLVWD
5(&255,'2$/$'(5(&+$
SWRS
UHSLWH
HVFULEHSGDWR
SSOG
KDVWDS WRS
5(&255,'2$/$,=48,(5'$
SWRS
UHSLWH
HVFULEHSGDWR
SSOL
KDVWDS WRSOL
$OJRULWPRSDUDLQVHUWDUDQWHVGH
;
LQIRUPDFLQ
SWRS
PHQVDMHDQWHVGH"
OHH[
UHSLWH
VLSGDWR [HQWRQFHV
QHZT
OHHUTGDWR
VLS WRSHQWRQFHV
TOGS
TOLSOL
SOGOLT
SOLT
SWRS
WRST
HQFDVRFRQWUDULR
SSOG
KDVWDS WRS
$OJRULWPRSDUDLQVHUWDUGHVSXHVGH
;
LQIRUPDFLQ
SWRS
PHQVDMHGHVSXHVGH"
OHH[
UHSLWH
VLSGDWR [HQWRQFHV
QHZT
OHHTGDWR
TOGSOG
TOLS
SOLOGT
SOGT
SWRS
HQFDVRFRQWUDULR
SSOG
KDVWDS WRS
$OJRULWPRSDUDERUUDUXQQRGR
SWRS
PHQVDMH9DORUDERUUDU
OHHYDORUBDBERUUDU
UHSLWH
VLSGDWR YDORUBDBERUUDUHQWRQFHV
SOGOLSOG
SOLOGSOL
VLS WRSHQWRQFHV
VLSOG SOLHQWRQFHV
HQFDVRFRQWUDULR
GLVSRVHS
SWRS
HQFDVRFRQWUDULR
SSOG
KDVWDS WRS
WRSQLO
WRSWRSOG
/LVWDV&LUFXODUHV
/DVOLVWDVFLUFXODUHVWLHQHQODFDUDFWHUVWLFDGHTXHHOOWLPRHOHPHQWRGHOD
PLVPDDSXQWDDOSULPHUR
/DVLJXLHQWHILJXUDHVXQDUHSUHVHQWDFLQJUILFDGHXQDOLVWDFLUFXODU
(QVHJXLGDVHPRVWUDUQORVDOJRULWPRVPVFRPXQHVHQOLVWDVFLUFXODUHV$O
LJXDOTXHHQODVVHFFLRQHVDQWHULRUHVXWLOL]DUHPRVHODSXQWDGRUWRSSDUDKDFHU
UHIHUHQFLDDOSULPHUQRGRHQODOLVWD
$OJRULWPRGHFUHDFLQ
UHSLWH
QHZS
OHHSGDWR
VLWRS QLOHQWRQFHV
WRSS
TS
HQFDVRFRQWUDULR
TOLJDS
TS
SOLJDWRS
PHQVDMHRWURQRGR"
OHHUHVSXHVWD
KDVWDUHVSXHVWD QR
$OJRULWPRSDUDUHFRUUHUODOLVWD
SWRS
UHSLWH
HVFULEHSGDWR
SSOLJD
KDVWDS WRS
$OJRULWPRSDUDLQVHUWDUDQWHVGH
;
LQIRUPDFLQ
QHZS
OHHSGDWR
VLWRS QLOHQWRQFHV
WRSS
SOLJDWRS
HQFDVRFRQWUDULR
PHQVDMHDQWHVGH"
OHH[
TWRS
UWRSOLJD
UHSLWH
VLTGDWR [HQWRQFHV
SOLJDT
UOLJDS
VLSOLJD WRSHQWRQFHV
WRSS
TTOLJD
UUOLJD
KDVWDT WRS
$OJRULWPRSDUDLQVHUWDUGHVSXVGH
;
LQIRUPDFLQ
QHZS
OHHSGDWR
PHQVDMHGHVSXVGH"
OHH[
TWRS
UWRSOLJD
UHSLWH
VLTGDWR [HQWRQFHV
TOLJDS
SOLJDU
TTOLJD
UUOLJD
KDVWDT WRS
$OJRULWPRSDUDERUUDU
PHQVDMHYDORUDERUUDU
OHHYDORUBDBERUUDU
TWRS
UWRS
SWRS
PLHQWUDVTOLJD!WRSKD]
TTOLJD
UHSLWH
VLSGDWR YDORUBDBERUUDUHQWRQFHV
VLS WRSHQWRQFHV
VLWRSOLJD WRSHQWRQFHV
WRS1,/
HQFDVRFRQWUDULR
WRSWRSOLJD
TOLJDWRS
HQFDVRFRQWUDULR
UOLJDSOLJD
GLVSRVHS
SWRS
HQFDVRFRQWUDULR
US
SSOLJD
KDVWDS WRS
/LVWDV2UWRJRQDOHV
(QHVWHWLSRGHOLVWDVHXWLOL]DSDUDUHSUHVHQWDUPDWULFHV/RVQRGRVFRQWLHQHQ
FXDWURDSXQWDGRUHV8QRSDUDDSXQWDUDOQRGRL]TXLHUGROLRWURSDUDDSXQWDUDO
GHUHFKROGRWURDOQRGRLQIHULRUOE\SRUOWLPRXQDSXQWDGRUDOQRGR
VXSHULRUOD
&UHDFLQGHXQDOLVWDRUWRJRQDO
WRSQLO
PHQVDMHQPHURGHUHQJORQHV
OHHQPUHRBUHQJORQHV
PHQVDMHQPHURGHFROXPQDV
OHHQPHURBFROXPQDV
GHVGH\ KDVWDQPHURBUHQJORQHVKD]
QHZS
OHHSGDWR
SOLS
SOGS
VLWRS 1,/HQWRQFHV
WRSS
WRSOES
HQFDVRFRQWUDULR
SODWRSOD
SOEODS
SOEWRS
WRSODS
TWRS
GHVGH\ KDVWDQPHURBFROXPQDVKD]
V1,/
GHVGHM KDVWDQPHURBUHQJORQHVKD]
QHZT
SOGT
SOLTOL
SOGOLS
TOLS
VLV 1,/HQWRQFHV
VS
SODS
SOES
HQFDVRFRQWUDULR
SODVOD
SOEODS
SOEV
VODS
TTOE
$OJRULWPRSDUDUHFRUUHUXQDOLVWDRUWRJRQDO
TWRS
UHSLWH
ST
UHSLWH
HVFULEHSGDWR
SSOG
KDVWDS T
TTOE
KDVWDT WRS
%RUUDGRHQOLVWDVRUWRJRQDOHV
TWRS
PHQVDMHYDORUDERUUDU
OHHYDORUBDBERUUDU
UHSLWH
ST
UHSLWH
VLSGDWR YDORUBDBERUUDUHQWRQFHV
VLS WRSHQWRQFHV
HQFDVRFRQWUDULR
DX[S
SOGOLSOG
SOLOGSOL
SODOESOD
SOEODSOE
GLVSRVHDX[
ST
HQFDVRFRQWUDULR
KDVWDS T
TTOE
KDVWDT WRS
SSOG
SGDWR
81,'$',9(6758&785$612/,1($/(6
$ORVDUEROHVRUGHQDGRVGHJUDGRGRVVHOHVFRQRFHFRPRDUEROHVELQDULRV\D
TXHFDGDQRGRGHOUEROQRWHQGUPVGHGRVGHVFHQGLHQWHVGLUHFWRV/DV
DSOLFDFLRQHVGHORVDUEROHVELQDULRVVRQPX\YDULDGDV\DTXHVHOHVSXHGH
XWLOL]DUSDUDUHSUHVHQWDUXQDHVWUXFWXUDHQODFXDOHVSRVLEOHWRPDUGHFLVLRQHV
FRQGRVRSFLRQHVHQGLVWLQWRVSXQWRV
/DUHSUHVHQWDFLQJUILFDGHXQUEROELQDULRHVODVLJXLHQWH
5HSUHVHQWDFLQHQ0HPRULD
+D\GRVIRUPDVWUDGLFLRQDOHVGHUHSUHVHQWDUXQUEROELQDULRHQPHPRULD
x
x
Por medio de datos tipo punteros tambin conocidos como variables dinmicas o
listas.
Por medio de arreglos.
6LQHPEDUJRODPVXWLOL]DGDHVODSULPHUDSXHVWRTXHHVODPVQDWXUDOSDUD
WUDWDUHVWHWLSRGHHVWUXFWXUDV
/RVQRGRVGHOUEROELQDULRVHUQUHSUHVHQWDGRVFRPRUHJLVWURVTXH
FRQWHQGUQFRPRPQLPRWUHVFDPSRV(QXQFDPSRVHDOPDFHQDUOD
LQIRUPDFLQGHOQRGR/RVGRVUHVWDQWHVVHXWLOL]DUQSDUDDSXQWDUDOVXEDUERO
L]TXLHUGR\GHUHFKRGHOVXEDUEROHQFXHVWLQ
&DGDQRGRVHUHSUHVHQWDJUILFDPHQWHGHODVLJXLHQWHPDQHUD
(ODOJRULWPRGHFUHDFLQGHXQUEROELQDULRHVHOVLJXLHQWH
3URFHGLPLHQWRFUHDUTQRGR
LQLFLR
PHQVDMH5DPDL]TXLHUGD"
OHHUHVSXHVWD
VLUHVSXHVWD VLHQWRQFHV
QHZS
TOLQLO
FUHDUS
HQFDVRFRQWUDULR
PHQVDMH5DPDGHUHFKD"
OHHUHVSXHVWD
VLUHVSXHVWD VLHQWRQFHV
QHZS
TOGS
FUHDUS
HQFDVRFRQWUDULR
TOLQLO
TOGQLO
ILQ
,1,&,2
QHZS
UDL]S
FUHDUS
),1
&ODVLILFDFLQGH$UEROHV%LQDULRV
([LVWHQFXDWURWLSRVGHUEROELQDULR
x
x
x
x
A. B. Distinto.
A. B. Similares.
A. B. Equivalentes.
A. B. Completos.
$FRQWLQXDFLQVHKDUXQDEUHYHGHVFULSFLQGHORVGLIHUHQWHVWLSRVGHUERO
ELQDULRDVFRPRXQHMHPSORGHFDGDXQRGHHOORV
$%',67,172
Se dice que dos rboles binarios son distintos cuando sus estructuras son diferentes.
Ejemplo:
$%6,0,/$5(6
Dos arboles binarios son similares cuando sus estructuras son idnticas, pero la
informacin que contienen sus nodos es diferente. Ejemplo:
$%(48,9$/(17(6
Son aquellos arboles que son similares y que adems los nodos contienen la misma
informacin. Ejemplo:
$%&203/(726
Son aquellos arboles en los que todos sus nodos excepto los del ultimo nivel, tiene dos
hijos; el subarbol izquierdo y el subarbol derecho.
5HFRUULGRGHXQ$UERO%LQDULR
+D\WUHVPDQHUDGHUHFRUUHUXQUEROHQLQRUGHQSUHRUGHQ\SRVWRUGHQ&DGD
XQDGHHOODVWLHQHXQDVHFXHQFLDGLVWLQWDSDUDDQDOL]DUHOUEROFRPRVHSXHGH
YHUDFRQWLQXDFLQ
1. INORDEN
o Recorrer el subarbol izquierdo en inorden.
o Examinar la raz.
o Recorrer el subarbol derecho en inorden.
2. PREORDEN
o Examinar la raz.
o Recorrer el subarbol izquierdo en preorden.
o recorrer el subarbol derecho en preorden.
3. POSTORDEN
o Recorrer el subarbol izquierdo en postorden.
o Recorrer el subarbol derecho en postorden.
o Examinar la raz.
$FRQWLQXDFLQVHPXHVWUDXQHMHPSORGHORVGLIHUHQWHVUHFRUULGRVHQXQUERO
ELQDULR
Inorden: GDBHEIACJKF
3UHRUGHQ$%'*(+,&)-.
3RVWRUGHQ*'+,(%.-)&$
$UEROHV(QKHEUDGRV
([LVWHXQWLSRHVSHFLDOGHUEROELQDULROODPDGRHQKHEUDGRHOFXDOFRQWLHQH
KHEUDVTXHSXHGHQHVWDUDODGHUHFKDRDODL]TXLHUGD(OVLJXLHQWHHMHPSORHV
XQUEROELQDULRHQKHEUDGRDODGHUHFKD
x
x
&RQWUROGH$FFHVRDORV(OHPHQWRVGHXQ$UUHJOR
(Q&HODFFHVRDORVHOHPHQWRVGHXQDUUHJORWLHQHTXHVHUFRQWURODGRSRUHO
SURJUDPDGRU\DTXHHOOHQJXDMHQRUHVWULQJHODSRVLELOLGDGGHDFFHVDUD
SRVLFLRQHVGHPHPRULDTXHHVWQPVDEDMRGHODOWLPDSRVLFLQUHVHUYDGD
SDUDHODUUHJOR/RPLVPRVXFHGHFXDQGRVHPDQHMDQFDGHQDVGRQGHHO
SURJUDPDGRUWLHQHODUHVSRQVDELOLGDGGHFRQWURODUHODFFHVRDORVFDUDFWHUHVGH
ODFDGHQDWRPDQGRFRPROPLWHHOWHUPLQDGRUQXOR(QHOOLVWDGRVH
SUHVHQWDXQHMHPSORGHDFFHVRDORVE\WHVFRORFDGRVDEDMRGHOWHUPLQDGRU
QXORGHXQDFDGHQDGDGDSRUHOXVXDULR
&RORFDFLQGHORVHOHPHQWRVGHXQDFDGHQDHQPHPRULD5$0
$UEROHVHQ0RQWQ
(VWDVHFFLQFRQVLVWHHQWUDQVIRUPDUXQERVTXHHQXQUEROELQDULR
(QWHQGHUHPRVFRPRERVTXHDXQFRQMXQWRQRUPDOPHQWHRUGHQDGRGHGRVR
PVUEROHVJHQHUDOHV
/DVHULHGHSDVRVTXHGHEHPRVVHJXLUSDUDORJUDUODFRQYHUVLQGHXQERVTXH
HQXQUEROELQDULRHVODVLJXLHQWH
1. Enlazar horizontalmente las races de los distintos rboles generales.
2. Enlazar los hijos de cada nodo en forma horizontal (los hermanos).
3. Enlazar verticalmente el nodo padre con el hijo que se encuentra ms a la
izquierda. Adems debe eliminarse el vnculo de ese padre con el resto de sus
hijos.
4. Debe rotarse el diagrama resultante aproximadamente 45 grados hacia la
izquierda y as se obtendr el rbol binario correspondiente.
$UEROHVELQDULRVGHEXVTXHGD
8QUEROGHEVTXHGDELQDULDHVXQDHVWUXFWXUDDSURSLDGDSDUDPXFKDVGHODV
DSOLFDFLRQHVTXHVHKDQGLVFXWLGRDQWHULRUPHQWHFRQOLVWDV/DYHQWDMDHVSHFLDO
GHXWLOL]DUXQDUEROHVTXHVHIDFLOLWDODEVTXHGD
8QUEROELQDULRGHEVTXHGDHVDTXHOHQHOTXHHOKLMRGHODL]TXLHUGDVL
H[LVWHGHFXDOTXLHUQRGRFRQWLHQHXQYDORUPVSHTXHRTXHHOQRGRSDGUH\
HOKLMRGHODGHUHFKDVLH[LVWHFRQWLHQHXQYDORUPVJUDQGHTXHHOQRGR
SDGUH
8QHMHPSORGHDUEROELQDULRGHEVTXHGDHVHOVLJXLHQWH
/RVDUEROHVUHSUHVHQWDQODVHVWUXFWXUDVQROLQHDOHV\GLQPLFDVGHGDWRVPV
LPSRUWDQWHVHQFRPSXWDFLQ'LQPLFDVSRUTXHODVHVWUXFWXUDVGHUERO
SXHGHQFDPELDUGXUDQWHODHMHFXFLQGHXQSURJUDPD1ROLQHDOHVSXHVWRTXH
DFDGDHOHPHQWRGHOUEROSXHGHQVHJXLUOHYDULRVHOHPHQWRV
/RVDUEROHVSXHGHQVHUFRQVWUXLGRVFRQHVWUXFWXUDVHVWWLFDV\GLQPLFDV/DV
HVWWLFDVVRQDUUHJORVUHJLVWURV\FRQMXQWRVPLHQWUDVTXHODVGLQPLFDVHVWQ
UHSUHVHQWDGDVSRUOLVWDV
La definicin de rbol es la siguiente: es una estructura jerrquica aplicada sobre una
coleccin de elementos u objetos llamados nodos; uno de los cuales es conocido como
raz. adems se crea una relacin o parentesco entre los nodos dando lugar a trminos
como padre, hijo, hermano, antecesor, sucesor, ansestro, etc.. Formalmente se define un
rbol de tipo T como una estructura homognea que es la concatenacin de un elemento
de tipo T junto con un nmero finito de arboles disjuntos, llamados subarboles. Una
forma particular de rbol puede ser la estructura vaca.
/DILJXUDVLJXLHQWHUHSUHVHQWDDXQUEROJHQHUDO
6HXWLOL]DODUHFXUVLQSDUDGHILQLUXQUEROSRUTXHUHSUHVHQWDODIRUPDPV
DSURSLDGD\SRUTXHDGHPVHVXQDFDUDFWHUVWLFDLQKHUHQWHGHORVPLVPRV
/RVDUEROHVWLHQHQXQDJUDQYDULHGDGGHDSOLFDFLRQHV3RUHMHPSORVHSXHGHQ
XWLOL]DUSDUDUHSUHVHQWDUIUPXODVPDWHPWLFDVSDUDRUJDQL]DUDGHFXDGDPHQWH
ODLQIRUPDFLQSDUDFRQVWUXLUXQUEROJHQHDOJLFRSDUDHODQOLVLVGHFLUFXLWRV
HOFWULFRV\SDUDQXPHUDUORVFDSWXORV\VHFFLRQHVGHXQOLEUR
/DWHUPLQRORJDTXHSRUORUHJXODUVHXWLOL]DSDUDHOPDQHMRGHDUEROHVHVOD
VLJXLHQWH
x
x
x
x
x
x
x
x
x
x
x
7UDQVIRUPDFLQGHXQ$UERO*HQHUDOHQXQ$UERO
%LQDULR
(QHVWDVHFFLQHVWDEOHFHUHPRVORVPHFDQLVPRVQHFHVDULRVSDUDFRQYHUWLUXQ
UEROJHQHUDOHQXQUEROELQDULR3DUDHVWRGHEHPRVVHJXLUORVSDVRVTXHVH
GHVFULEHQDFRQWLQXDFLQ
1. Enlazar los hijos de cada nodo en forma horizontal (los hermanos).
2. Enlazar en forma vertical el nodo padre con el nodo hijo que se encuentra ms a
la izquierda. Adems, debe eliminarse el vnculo de ese padre con el resto de sus
hijos.
3. Rotar el diagrama resultante aproximadamente 45 grados hacia la izquierda, y
as se obtendr el rbol binario correspondiente.
*5$)26
8QJUDIRGLULJLGR*FRQVLVWHHQXQFRQMXQWRGHYUWLFHV9\XQFRQMXQWRGH
DUFRVRDULVWDV$/RVYHUWLFHVHGHQRPLQDQWDPELQQRGRVRSXQWRV
8QDUFRHVXQSDURUGHQDGRGHYUWLFHV9:GRQGH9HVHOYUWLFHLQLFLDO\:
HVHOYUWLFHWHUPLQDOGHODUFR8QDUFRVHH[SUHVDFRPR9!:\VH
UHSUHVHQWDGHODVLJXLHQWHPDQHUD
/RVYUWLFHGHXQJUDIRSXHGHQXVDUVHSDUDUHSUHVHQWDUREMHWRV/RVDUFRVVH
XWLOL]DQSDUDUHSUHVHQWDUUHODFLRQHVHQWUHHVWRVREMHWRV
/DVDSOLFDFLRQHVPVLPSRUWDQWHVGHORVJUDIRVVRQODVVLJXLHQWHV
x
x
x
/DWHUPLQRORJDTXHPDQHMDUHPRVUHJXODUPHQWHSDUDHOXVRGHJUDIRVHVOD
VLJXLHQWH
x
x
x
x
x
x
x
x
x
x
x
x
x
CAMINO.Es una secuencia de vrtices V1, V2, V3, ... , Vn, tal que cada uno de estos V1>V2, V2->V3, V1->V3.
LONGITUD DE CAMINO. Es el nmero de arcos en ese camino.
CAMINO SIMPLE. Es cuando todos sus vrtices, excepto tal vez el primero y el ltimo son
distintos.
CICLO SIMPLE. Es un camino simple de longitud por lo menos de uno que empieza y termina
en el mismo vrtice.
ARISTAS PARALELAS. Es cuando hay ms de una arista con un vrtice inicial y uno terminal
dados.
GRAFO CICLICO. Se dice que un grafo es cclico cuando contiene por lo menos un ciclo.
GRAFO ACICLICO. Se dice que un grafo es aciclco cuando no contiene ciclos.
GRAFO CONEXO. Un grafo G es conexo, si y solo si existe un camino simple en cualesquiera
dos nodos de G.
GRAFO COMPLETO FUERTEMENTE CONEXO.Un grafo dirigido G es completo si
para cada par de nodos (V,W) existe un camino de V a W y de W a V (forzosamente tendrn que
cumplirse ambas condiciones), es decir que cada nodo G es adyacente a todos los dems nodos
de G.
GRAFO UNILATERALMENTE CONEXO.Un grafo G es unilateralmente conexo si para
cada par de nodos (V,W) de G hay un camino de V a W o un camino de W a V.
GRAFO PESADO ETIQUETADO. Un grafo es pesado cuando sus aristas contienen datos
(etiquetas). Una etiqueta puede ser un nombre, costo un valor de cualquier tipo de dato.
Tambin a este grafo se le denomina red de actividades, y el nmero asociado al arco se le
denomina factor de peso.
VERTICE ADYACENTE. Un nodo o vrtice V es adyacente al nodo W si existe un arco de m
a n.
GRADO DE SALIDA.El grado de salida de un nodo V de un grafo G, es el nmero de arcos o
aristas que empiezan en V.
x
x
x
5HSUHVHQWDFLQ(Q0HPRULD6HFXHQFLDO
/RVJUDIRVVHUHSUHVHQWDQHQPHPRULDVHFXHQFLDOPHGLDQWHPDWULFHVGH
DG\DFHQFLD
8QDPDWU]GHDG\DFHQFLDHVXQDPDWU]GHGLPHQVLQQ
QHQGRQGHQHVHO
QPHURGHYUWLFHVTXHDOPDFHQDYDORUHVERROHDQRVGRQGHPDWU]0>LM@HV
YHUGDGHURVL\VRORVLH[LVWHXQDUFRTXHYD\DGHOYUWLFH\DOYUWLFHM
9HDPRVHOVLJXLHQWHJUDIRGLULJLGR
/DPDWU]GHDG\DFHQFLDTXHVHREWXYRDSDUWLUGHOJUDIRDQWHULRUHVOD
VLJXLHQWH
5HSUHVHQWDFLQHQ0HPRULD(QOD]DGD
/RVJUDIRVVHUHSUHVHQWDQHQPHPRULDHQOD]DGDPHGLDQWHOLVWDVGH
DG\DFHQFLD
8QDOLVWDGHDG\DFHQFLDVHGHILQHGHODVLJXLHQWHPDQHUD3DUDXQYUWLFHLHV
XQDOLVWDHQFLHUWRRUGHQIRUPDGDSRUWRGRVORVYUWLFHVDG\DFHQWHV>DL@6H
SXHGHUHSUHVHQWDUXQJUDIRSRUPHGLRGHXQDUUHJORGRQGHFDEH]DGHLHVXQ
DSXQWDGRUDODOLVWDGHDG\DFHQFLDDOYUWLFHL
9HDPRVHOVLJXLHQWHJUDIRGLULJLGR
/DOLVWDGHDG\DFHQFLDTXHVHREWXYRDSDUWLUGHOJUDIRDQWHULRUHVODVLJXLHQWH
2SHUDFLRQHV6REUH*UDIRV
(QHVWDVHFFLQDQDOL]DUHPRVDOJXQDVGHODVRSHUDFLRQHVVREUHJUDIRVFRPR
x
x
x
x
Creacin.
Insercin.
Bsqueda.
Eliminacin.
$/*25,702'(&5($&,21
UHSLWH
VLWRS 1,/HQWRQFHV
QHZWRS
WRSOD1,/
WRSOG1,/
OHHWRSGDWR
TWRS
HQFDVRFRQWUDULR
QHZS
SOG1,/
SOD1,/
TODS
OHHSGDWR
TS
PHQVDMHRWURYHUWLFH"
OHHUHVSXHVWD
KDVWDUHSXHVWD QR
SWRS
PLHQWUDVS!1,/KD]
PHQVDMHWLHQHYUWLFHVDG\DFHQWHVSGDWR"
OHHUHVSXHVWD
VLUHVSXHWD VLHQWRQFHV
UHSLWH
QHZT
OHHTGDWR
TOGSOG
SOGT
PHQVDMHRWURYUWLFH"
OHHUHVSXHVWD
KDVWDUHVSXHVWD QR
SSOD
$/*25,702'(,16(5&,21
PHQVDMHYDORUDLQVHUWDU"
OHHYDORUBDBLQVHUWDU
VLWRS!1,/HQWRQFHV
SWRS
PLHQWUDVSOD!1,/KD]
SSOD
QHZT
OHHTGDWR
SODT
TOD1,/
PHQVDMH+D\YUWLFHVDG\DFHQWHV"
OHHUHVSXHVWD
VLUHVSXHVWD VLHQWRQFHV
PHQVDMH&XDQWRVYUWLFHV"
OHHQPHURBYUWLFHV
GHVGHL KDVWDQPHURBYUWLFHVKD]
QHZS
OHHSGDWR
TOGS
TTOG
HQFDVRFRQWUDULR
PHQVDMHQRH[LVWHOLVWD
$/*25,702'(%8648('$
PHQVDMHYUWLFHDEXVFDU
OHHYUWLFHBDBEXVFDU
SWRS
UHSLWH
VLSGDWR YUWLFHBDBEXVFDUHQWRQFHV
UHSLWH
SSOG
HVFULEHSGDWR
KDVWDSOG 1,/
HQFDVRFRQWUDULR
SOD
KDVWDS 1,/
$/*25,702'(%255$'2
PHQVDMHYUWLFHDERUUDU"
OHHYUWLFHBDBERUUDU
S /WWRS
US
TS
VZIDOVR
UHSLWH
VLSGDWR YUWLFHBDBERUUDUHQWRQFHV
VLS WRSHQWRQFHV
WRSWRSOD
UWRS
VZYHUGDGHUR
HQFDVRFRQWUDULR
UODSOD
UHSLWH
SSOG
GLVSRVHT
TS
KDVWDS 1,/
VLVZ YHUGDGHURHQWRQFHV
SU
TS
HQFDVRFRQWUDULR
SUOD
TS
HQFDVRFRQWUDULR
US
UHSLWH
TSOG
VLTGDWR YUWLFHBDBERUUDUHQWRQFHV
SOGTOG
GLVSRVHT
TS
HQFDVRFRQWUDULR
SSOG
KDVWDS 1,/
&DPLQR0QLPR
6HGHQRPLQDFDPLQRPQLPRHQWUHGRVYUWLFHV9\:DOFDPLQRSWLPRHQWUH
DPERVYUWLFHV3DUDGHWHUPLQDUHOFDPLQRPQLPRHQWUHGRVYUWLFHVVHXWLOL]D
HOVLJXLHQWHDOJRULWPR
GHVGHL KDVWDQPHURBYUWLFHVKD]
GHVGHM KDVWDQPHURBYUWLFHVKD]
VLZ>LM@ HQWRQFHV
T>>LM@LQILQLWR
HQFDVRFRQWUDULR
T>LM@Z>LM@
GHVGHN KDVWDQPHURBYUWLFHVKD]
GHVGHL KDVWDQPHURBYUWLFHVKD]
GHVGHM KDVWDQPHURBYUWLFHVKD]
T>LM@PLQT>LM@T>LN@T>NM@