Está en la página 1de 482

%3425#452!

3
$%$!4/3
4ERCERAEDICIØN

$2/36!,$/#!)2¼
0ROFESOR )NVESTIGADORDEL
)NSTITUTO4ECNOLØGICO!UTØNOMODE-ÏXICO)4!-
-IEMBRODEL3ISTEMA.ACIONAL
DE)NVESTIGADORES3.) .IVEL

-#3),6)!'5!2$!4)
0ROFESOR.UMERARIODEL
)NSTITUTO4ECNOLØGICO!UTØNOMODE-ÏXICO)4!-

-²8)#/s!5#+,!.$s"/'/4«s"5%./3!)2%3s#!2!#!3s'5!4%-!,!
,)3"/!s,/.$2%3s-!$2)$s-),«.s-/.42%!,s.5%6!$%,()s.5%6!9/2+
3!.&2!.#)3#/s3!.*5!.s3!.,5)3s3!.4)!'/
3°/0!5,/s3)$.%9s3).'!052s4/2/.4/
$IRECTOR(IGHER%DUCATION-IGUEL«NGEL4OLEDO#ASTELLANOS
$IRECTOREDITORIAL2ICARDO!DEL"OSQUE!LAYØN
%DITORSPONSOR0ABLO%2OIG6ÈZQUEZ
%DITORADEDESARROLLO$IANA+AREN-ONTA×O'ONZÈLEZ
3UPERVISORDEPRODUCCIØN:EFERINO'ARCÓA'ARCÓA

%3425#452!3$%$!4/3
4ERCERAEDICIØN

0ROHIBIDALAREPRODUCCIØNTOTALOPARCIALDEESTAOBRA
PORCUALQUIERMEDIO SINLAAUTORIZACIØNESCRITADELEDITOR

$%2%#(/32%3%26!$/3© RESPECTOALATERCERAEDICIØNPOR
-C'2!7 (),,).4%2!-%2)#!.!%$)4/2%3 3!$%#6
!3UBSIDIARYOF4HE-C'RAW (ILL#OMPANIES )NC
0ROLONGACIØN0ASEODELA2EFORMA 4ORRE!
0ISO #OLONIA$ESARROLLO3ANTA&E
$ELEGACIØN«LVARO/BREGØN
#0 -ÏXICO $&
-IEMBRODELA#ÈMARA.ACIONALDELA)NDUSTRIA%DITORIAL-EXICANA 2EG.ÞM

)3".   
)3".   SEGUNDAEDICIØN
)3".   8PRIMERAEDICIØN

 

)MPRESOEN-ÏXICO 0RINTEDIN-EXICO
#/.4%.)$/
02%3%.4!#)». XIII

#!0¶45,/ %STRUCTURASFUNDAMENTALESDEDATOS 
 )NTRODUCCIØN 
 !RREGLOS 
$ECLARACIØNDEARREGLOSUNIDIMENSIONALES 
/PERACIONESCONARREGLOSUNIDIMENSIONALES 
 !RREGLOSBIDIMENSIONALES 
$ECLARACIØNDEARREGLOSBIDIMENSIONALES 
/PERACIONESCONARREGLOSBIDIMENSIONALES 
 !RREGLOSDEMÈSDEDOSDIMENSIONES 
 ,ACLASE!RREGLO 
 2EGISTROS 
$ECLARACIØNDEREGISTROS 
!CCESOALOSCAMPOSDEUNREGISTRO 
$IFERENCIASENTREREGISTROSYARREGLOS 
#OMBINACIONESENTREARREGLOSYREGISTROS 
!RREGLOSPARALELOS 
 2EGISTROSYCLASES 
%JERCICIOS 

#!0¶45,/ !RREGLOSMULTIDIMENSIONALESREPRESENTADOS
ENARREGLOSUNIDIMENSIONALES 
 )NTRODUCCIØN 
 !RREGLOSBIDIMENSIONALES 
 !RREGLOSDEMÈSDEDOSDIMENSIONES 
 -ATRICESPOCODENSAS 
-ATRICESCUADRADASPOCODENSAS 
-ATRIZTRIANGULARINFERIOR 
-ATRIZTRIANGULARSUPERIOR 
viii
œ˜Ìi˜ˆ`œ

 -ATRIZTRIDIAGONAL 
 -ATRICESSIMÏTRICASYANTISIMÏTRICAS 
%JERCICIOS 

#!0¶45,/ 0ILASYCOLAS 
 )NTRODUCCIØN 
 0ILAS 
 2EPRESENTACIØNDEPILAS 
 /PERACIONESCONPILAS 
 !PLICACIONESDEPILAS 
 ,ACLASE0ILA 
 #OLAS 
 2EPRESENTACIØNDECOLAS 
 /PERACIONESCONCOLAS 
 #OLASCIRCULARES 
 $OBLECOLA 
 !PLICACIONESDECOLAS 
 ,ACLASE#OLA 
%JERCICIOS 

#!0¶45,/ 2ECURSIØN 


 )NTRODUCCIØN 
 %LPROBLEMADELAS4ORRESDE(ANOI 
 2ECURSIVIDADENÈRBOLES 
 2ECURSIVIDADENORDENACIØNYBÞSQUEDA 
%JERCICIOS 

#!0¶45,/ ,ISTAS 


 )NTRODUCCIØN 
 ,ISTASSIMPLEMENTELIGADAS 
 /PERACIONESCONLISTASSIMPLEMENTELIGADAS 
 2ECORRIDODEUNALISTASIMPLEMENTELIGADA 
 )NSERCIØNENLISTASSIMPLEMENTELIGADAS 
 %LIMINACIØNENLISTASSIMPLEMENTELIGADAS 
 "ÞSQUEDAENLISTASSIMPLEMENTELIGADAS 
 ,ISTASCIRCULARES 
 ,ISTASDOBLEMENTELIGADAS 
 /PERACIONESCONLISTASDOBLEMENTELIGADAS 
 2ECORRIDODEUNALISTADOBLEMENTELIGADA 
 )NSERCIØNENLISTASDOBLEMENTELIGADAS 
 %LIMINACIØNENLISTASDOBLEMENTELIGADAS 
 ,ISTASDOBLEMENTELIGADASCIRCULARES 
 !PLICACIONESDELISTAS 
$0/5&/*%0 ix

 2EPRESENTACIØNDEPOLINOMIOS 


 3OLUCIØNDECOLISIONESHASH 
 ,ACLASE,ISTA 
%JERCICIOS 

#!0¶45,/ «RBOLES 


 )NTRODUCCIØN 
 «RBOLESENGENERAL 
 #ARACTERÓSTICASYPROPIEDADESDELOSÈRBOLES 
 ,ONGITUDDECAMINOINTERNOYEXTERNO 
 «RBOLESBINARIOS 
 «RBOLESBINARIOSDISTINTOS SIMILARESYEQUIVALENTES 
 «RBOLESBINARIOSCOMPLETOS 
 2EPRESENTACIØNDEÈRBOLESGENERALESCOMOBINARIOS 
 2EPRESENTACIØNDEUNBOSQUECOMOÈRBOLBINARIO 
 2EPRESENTACIØNDEÈRBOLESBINARIOSENMEMORIA 
 /PERACIONESENÈRBOLESBINARIOS 
 «RBOLESBINARIOSDEBÞSQUEDA 
 «RBOLESBALANCEADOS 
 )NSERCIØNENÈRBOLESBALANCEADOS 
 2EESTRUCTURACIØNDELÈRBOLBALANCEADO 
 «RBOLESMULTICAMINOS 
 «RBOLES " 
 «RBOLES " 
 «RBOLES  
 ,ACLASE«RBOL 
%JERCICIOS 

#!0¶45,/ 'RÈlCAS 


 )NTRODUCCIØN 
 $ElNICIØNDEGRÈlCAS 
 #ONCEPTOSBÈSICOSDEGRÈlCAS 
 'RÈlCASDIRIGIDAS 
 2EPRESENTACIØNDEGRÈlCASDIRIGIDAS 
 /BTENCIØNDECAMINOSDENTRODEUNADIGRÈlCA 
 !LGORITMODE$IJKSTRA 
 !LGORITMODE&LOYD 
 !LGORITMODE-ARSHALL 
 'RÈlCASNODIRIGIDAS 
 2EPRESENTACIØNDEGRÈlCASNODIRIGIDAS 
 #ONSTRUCCIØNDELÈRBOLABARCADORDECOSTOMÓNIMO 
 !LGORITMODE0RIM 
 !LGORITMODE+RUSKAL 
 2ESOLUCIØNDEPROBLEMAS 
x
œ˜Ìi˜ˆ`œ

 %SPACIO ESTADO 


 -ÏTODOSDEBÞSQUEDAENESPACIO ESTADO 
 -ÏTODOSDEBÞSQUEDABREADTH lRST 
 -ÏTODODEBÞSQUEDADEPTH lRST 
 ,ACLASEGRÈlCA 
%JERCICIOS 

#!0¶45,/ -ÏTODOSDEORDENACIØN 


 )NTRODUCCIØN 
 /RDENACIØNINTERNA 
 /RDENACIØNPORINTERCAMBIODIRECTOBURBUJA 
 /RDENACIØNPORELMÏTODODEINTERCAMBIODIRECTOCONSE×AL 
 /RDENACIØNPORELMÏTODODELASACUDIDASHAKERSORT 
 /RDENACIØNPORINSERCIØNDIRECTA 
 /RDENACIØNPORELMÏTODODEINSERCIØNBINARIA 
 /RDENACIØNPORSELECCIØNDIRECTA 
 !NÈLISISDEElCIENCIADELOSMÏTODOSDIRECTOS 
 /RDENACIØNPORELMÏTODODE3HELL 
 /RDENACIØNPORELMÏTODOQUICKSORT 
 /RDENACIØNPORELMÏTODOHEAPSORTMONTÓCULO 
 /RDENACIØNEXTERNA 
 )NTERCALACIØNDEARCHIVOS 
 /RDENACIØNDEARCHIVOS 
 /RDENACIØNPORMEZCLADIRECTA 
 /RDENACIØNPORELMÏTODODEMEZCLAEQUILIBRADA 
%JERCICIOS 

#!0¶45,/ -ÏTODOSDEBÞSQUEDA 


 )NTRODUCCIØN 
 "ÞSQUEDAINTERNA 
 "ÞSQUEDASECUENCIAL 
 "ÞSQUEDABINARIA 
 "ÞSQUEDAPORTRANSFORMACIØNDECLAVES 
 &UNCIØNHASHPORMØDULODIVISIØN 
 &UNCIØNHASHCUADRADO 
 &UNCIØNHASHPORPLEGAMIENTO 
 &UNCIØNHASHPORTRUNCAMIENTO 
 3OLUCIØNDECOLISIONES 
 2EASIGNACIØN 
 !RREGLOSANIDADOS 
 %NCADENAMIENTO 
 «RBOLESDEBÞSQUEDA 
 "ÞSQUEDAEXTERNA 
 "ÞSQUEDAENARCHIVOSSECUENCIALES 
$0/5&/*%0 xi

 "ÞSQUEDASECUENCIAL 


 "ÞSQUEDASECUENCIALMEDIANTEBLOQUES 
 "ÞSQUEDASECUENCIALCONÓNDICES 
 "ÞSQUEDABINARIA 
 "ÞSQUEDAPORTRANSFORMACIØNDECLAVESHASH 
 3OLUCIØNDECOLISIONES 
 (ASHINGDINÈMICOBÞSQUEDADINÈMICAPORTRANSFORMACIØN
DECLAVES 
 -ÏTODODELASEXPANSIONESTOTALES 
 -ÏTODODELASEXPANSIONESPARCIALES 
 ,ISTASINVERTIDAS 
 -ULTILISTAS 
%JERCICIOS 

")",)/'2!&¶! 

',/3!2)/ 

¶.$)#%!.!,¶4)#/ 
02%3%.4!#)¼.
/"*%4)6/
%STELIBROTIENECOMOOBJETIVOPRESENTARLASESTRUCTURASDEDATOS ASÓCOMOLOSALGO
RITMOSNECESARIOSPARATRATARLAS%LLENGUAJEUTILIZADOESALGORÓTMICO ESCRITOENSEUDO
CØDIGO INDEPENDIENTEDECUALQUIERLENGUAJECOMERCIALDEPROGRAMACIØN%STACARACTE
RÓSTICAESMUYIMPORTANTE YAQUEPERMITEALLECTORCOMPRENDERLASESTRUCTURASDEDA
TOSYLOSALGORITMOSASOCIADOSAELLASSINRELACIONARLOSCONLENGUAJESDEPROGRAMACIØN
PARTICULARES3ECONSIDERAQUEUNAVEZQUEELLECTORDOMINEESTOSCONCEPTOS LOSPODRÈ
IMPLEMENTARFÈCILMENTEENCUALQUIERLENGUAJE
3I BIEN CADA UNO DE LOS TEMAS SON DESARROLLADOS DESDE NIVELES BÈSICOS A NIVELES
COMPLEJOS SESUPONEQUEELLECTORYACONOCECIERTOSCONCEPTOS POREJEMPLOELDEDATOS
SIMPLESˆENTEROS REALES BOOLEANOS CARÈCTERˆELDEINSTRUCCIØNˆDECLARATIVA ASIG
NACIØN ENTRADASALIDAˆ Y EL DE OPERADORES ˆARITMÏTICOS RELACIONALES Y LØGICOSˆ
!SIMISMOSEUTILIZA PERONOSEEXPLICA ELCONCEPTODEVARIABLESYCONSTANTES%NLOS
ALGORITMOSSEESCRIBENLOSNOMBRESDEVARIABLESCONMAYÞSCULASˆ35-! . ETCˆ LO
MISMOPARALASCONSTANTESBOOLEANASˆ6%2$!$%2/Y&!,3/ˆ
#ABEACLARARQUEENESTELIBRONOSEABORDANLOSTIPOSABSTRACTOSDEDATOSDEMANERA
EXPLÓCITA3INEMBARGO SETRATANALGUNOSDEELLOSSINPRESENTARLOSCOMOTALESPOREJEM
PLO LASPILASYCOLASENELCAPÓTULOTRES
#ADACAPÓTULOCUENTACONUNNÞMEROIMPORTANTEDEEJERCICIOS#ONÏSTOSSESIGUE
ELMISMOCRITERIOAPLICADOENELDESARROLLODELOSDISTINTOSTEMAS ESDECIR SEPROPONEN
EJERCICIOSENLOSQUESEAUMENTAGRADUALMENTEELNIVELDECOMPLEJIDAD

,%.'5!*%54),):!$/
%LLENGUAJEUTILIZADOPARADESCRIBIRLOSALGORITMOSESESTRUCTURADO,ASESTRUCTURASAL
GORÓTMICASSELECTIVASYREPETITIVASSEENUMERANYLASINSTRUCCIONESQUEFORMANPARTEDE
ELLASSEESCRIBENDEJANDOSANGRÓASPARAPROPORCIONARMAYORCLARIDAD!DEMÈS CONEL
OBJETODEAYUDARALENTENDIMIENTODELOSMISMOS SEESCRIBENCOMENTARIOSENCERRADOS
ENTRE[]!CONTINUACIØNSEPRESENTANLASESTRUCTURASALGORÓTMICASEMPLEADASENLOSAL
GORITMOS
xiv *ÀiÃi˜Ì>Vˆ˜

3ELECTIVASIMPLE
PI3ICONDICIØN ENTONCES
ACCIØN
PI  [&INDELCONDICIONALDELPASOPI]

$ONDECONDICIØNESCUALQUIEREXPRESIØNRELACIONALYOLØGICA YACCIØNESCUALQUIER
OPERACIØNOCONJUNTODEOPERACIONESˆLECTURA ESCRITURA ASIGNACIØNUOTRASˆ
%STAESTRUCTURAPERMITESELECCIONARUNAALTERNATIVADEPENDIENDODEQUELACONDICIØN
SEAVERDADERA%SDECIR ALSEREVALUADALACONDICIØN SIÏSTARESULTACONUNVALORIGUAL
A6%2$!$%2/ ENTONCESSEEJECUTARÈLAACCIØNINDICADA%NCASOCONTRARIOSESIGUE
CONELmUJOESTABLECIDO

3ELECTIVADOBLE
PI3ICONDICIØN
ENTONCES
ACCIØN
SINO
ACCIØN
PI  [&INDELCONDICIONALDELPASOPI]

$ONDECONDICIØNESUNAEXPRESIØNRELACIONALYOLØGICA YACCIØNYACCIØNSONCUAL
QUIEROPERACIØNOCONJUNTODEOPERACIONESˆLECTURA ESCRITURA ASIGNACIØNUOTRASˆ
%STAESTRUCTURAPERMITESELECCIONARUNADEDOSALTERNATIVAS SEGÞNLACONDICIØNSEA
VERDADERAOFALSA3ILACONDICIØNESVERDADERASEEJECUTARÈLAACCIØN ENCASOCONTRARIO
SEEJECUTARÈLAACCIØN

3ELECTIVAMÞLTIPLE
PI3IVARIABLE
VALORACCIØN
VALORACCIØN



VALORNACCIØNN
PI  [&INDELCONDICIONALDELPASOPI]

$ONDEVALORJ ≤J≤N SONLOSPOSIBLESVALORESQUEPUEDETOMARLAVARIABLEAC


CIØNJ ≤J≤N ESCUALQUIEROPERACIØNOCONJUNTODEOPERACIONESˆLECTURA ESCRITURA
ASIGNACIØNUOTRASˆ
%STE TIPO DE ESTRUCTURA SE UTILIZA PARA UNA SELECCIØN SOBRE MÞLTIPLES ALTERNATIVAS
3EGÞNELVALORDELAVARIABLESEEJECUTARÈLAACCIØNCORRESPONDIENTE$EESTAMANERA SI
VARIABLEESIGUALAVALORSEEJECUTARÈLAACCIØN SIVARIABLEESIGUALAVALORSEEJECUTARÈ
LAACCIØN YASÓENLOSDEMÈSCASOS
13&4&/5"$*Î/ xv

2EPETITIVACONDICIONADA
PI-IENTRASCONDICIØN 2EPETIR
ACCIØN
PI  [&INDELCICLODELPASOPI]

$ONDECONDICIØNESCUALQUIEREXPRESIØNRELACIONALYOLØGICA YACCIØNESCUALQUIER
OPERACIØNOCONJUNTODEOPERACIONESˆLECTURA ESCRITURA ASIGNACIØNUOTRASˆ
%STA ESTRUCTURA PERMITE REPETIR UNA O MÈS OPERACIONES MIENTRAS LA CONDICIØN SEA
VERDADERA

2EPETITIVAPREDElNIDA
PI2EPETIRCONVARIABLEDESDE6)HASTA6&
ACCIØN
PI  [&INDELCICLODELPASOPI]

$ONDEVARIABLEESCUALQUIERVARIABLE 6)ESUNVALORINICIALQUESELEASIGNAAVA
RIABLE 6&ESELVALORlNALQUEVAATOMARVARIABLEYACCIØNESCUALQUIEROPERACIØNO
CONJUNTO DE OPERACIONES ˆLECTURA ESCRITURA ASIGNACIØN U OTRASˆ 3E ASUME QUE EL
VALORDELAVARIABLESEINCREMENTADEUNOENUNO
%STAESTRUCTURAPERMITEREPETIRUNAOMÈSOPERACIONESUNNÞMEROlJODEVECES%L
NÞMERODEREPETICIONESQUEDADETERMINADOPORLADIFERENCIAENTRE6&Y6)MÈSUNO

/2'!.):!#)¼.
%LLIBROESTÈORGANIZADOENNUEVECAPÓTULOS CADAUNODEELLOSCUENTACONNUMEROSOS
EJEMPLOSYEJERCICIOSQUEILUSTRANYAYUDANAENTENDERLOSCONCEPTOSVERTIDOSENELLOS
3EUTILIZANTABLASCONSEGUIMIENTOSDELOSALGORITMOSPARAPRESENTARCØMOFUNCIONANY
DEQUÏMANERAAFECTANALASESTRUCTURASDEDATOSINVOLUCRADAS
!LGUNOSLECTORESQUIZÈSEPANQUEESTAOBRATIENEDOSEDICIONESANTERIORES PUBLICADA
PORPRIMERAVEZPORLAMISMACASAEDITORIALEN CONMÞLTIPLESREIMPRESIONES4RECE
A×OSESUNTIEMPOEXTENSOENCOMPUTACIØN UNÈREADONDELOSCAMBIOSSEPRESENTANVE
LOZMENTE%STAEDICIØNOFRECEUNACUIDADOSAREVISIØNDELOSTEMASTRATADOS ALGORITMOS
MEJORADOSYEJERCICIOSADICIONALES ENlN MUCHOSCAMBIOSPARA ALCANZARELOBJETIVO
PROPUESTODEESTANUEVAEDICIØN!DEMÈS ENLOSCAPÓTULOS   YSEINCLUYØUNA
BREVEINTRODUCCIØNALAPROGRAMACIØNORIENTADAAOBJETOS PRESENTANDOALASESTRUCTURAS
DEDATOSˆOBJETOSDEESTUDIOENDICHOSCAPÓTULOSˆCONESTEENFOQUE
%LLENGUAJEUTILIZADOENLOSPROGRAMASESPSEUDOCØDIGO ESDECIR INDEPENDIENTEDE
CUALQUIEROTROLENGUAJEDEPROGRAMACIØNCOMERCIAL%STACARACTERÓSTICAPERMITEALESTU
DIANTECONCENTRARSEENLASESTRUCTURASDEDATOSYENLOSALGORITMOSASOCIADOSAELLASSIN
TENERQUEATENDERLOSDETALLESDEIMPLEMENTACIØN5NAVEZQUEDOMINELOSCONCEPTOS
LOSPODRÈLLEVARALAPRÈCTICACONLAAYUDADECUALQUIERLENGUAJEDEPROGRAMACIØNCOMER
CIAL,AGENERALIDADCONLAQUESEEXPLICANLOSCONCEPTOSYPOSIBLESAPLICACIONESDELOS
MISMOSFACILITAN INCLUSO LAIMPLEMENTACIØNENLENGUAJESESTRUCTURADOSOENLENGUAJES
ORIENTADOSAOBJETOS
xvi *ÀiÃi˜Ì>Vˆ˜

#APÓTULO %STRUCTURASFUNDAMENTALES
%NESTECAPÓTULOSEPRESENTANLASESTRUCTURASFUNDAMENTALESDEDATOS3EESTUDIANLOS
ARREGLOSUNIDIMENSIONALES BIDIMENSIONALESYMULTIDIMENSIONALES!DEMÈS SEEXPLICAN
LOSREGISTROS0ORÞLTIMO SEINCLUYEUNABREVEINTRODUCCIØNALAPROGRAMACIØNORIENTADA
AOBJETOSCONELlNDEQUESIRVACOMOBASEPARAENTENDERLASPRINCIPALESESTRUCTURASDE
DATOSDESDEESTEENFOQUE4AMBIÏNSEDESCRIBELACLASEARREGLO

#APÓTULO !RREGLOSMULTIDIMENSIONALESREPRESENTADOS
ENARREGLOSUNIDIMENSIONALES
,AMAYORÓADELOSLENGUAJESDEPROGRAMACIØNDEALTONIVELPROPORCIONANMEDIOSElCA
CESPARAALMACENARYRECUPERARELEMENTOSDEARREGLOSBIDIMENSIONALESYMULTIDIMENSIO
NALES0ORELLO ELUSUARIONOSEPREOCUPAPORLOSDETALLESDELALMACENAMIENTOYELTRA
TAMIENTOFÓSICODELDATO SINOPORELTRATAMIENTOLØGICODELMISMO%STOREPRESENTAUNA
VENTAJA3INEMBARGO SILASESTRUCTURASSONMUYGRANDESYNOTODOSLOSCAMPOSESTÈN
LLENOS SEPRESENTAENTONCESUNADESVENTAJAGRANDESPERDICIODEESPACIO0UEDEOCURRIR
TAMBIÏNQUEELUSUARIONECESITEREPRESENTARDICHASESTRUCTURASDEFORMALINEAL0ORESTA
RAZØN ENESTECAPÓTULOSEESTUDIARÈLAREPRESENTACIØNLINEALDEARREGLOSBIDIMENSIONALES
YMULTIDIMENSIONALES3EANALIZARÈN ADEMÈS LASMATRICESPOCODENSAS LASTRIANGULARES
YTRIDIAGONALES LASSIMÏTRICASYANTISIMÏTRICAS

#APÓTULO 0ILASYCOLAS
%STECAPÓTULOSEDEDICARÈALASPILASYCOLAS LASCUALESSONESTRUCTURASDEDATOSLINEALES
ESTÈTICASODINÈMICAS⎯DEPENDIENDODESIÏSTASSEIMPLEMENTANCONARREGLOSOLISTAS⎯
4ALESESTRUCTURASDEDATOSTIENENLAPARTICULARIDADDEQUELAINSERCIØNYELIMINACIØNDE
LOSELEMENTOSSEHACESOLAMENTEPORALGUNODELOSEXTREMOSSEGÞNSUESTRUCTURA4AM
BIÏNSEPRESENTANESTASESTRUCTURASCONUNENFOQUEORIENTADOAOBJETOS

#APÓTULO 2ECURSIØN
,ARECURSIØNPERMITEDElNIRUNOBJETOENTÏRMINOSDESÓMISMO!PARECEENNUMEROSAS
ACTIVIDADESDELAVIDADIARIAPOREJEMPLO ENLAFOTOGRAFÓADEUNAFOTOGRAFÓA#ASOSTÓPI
COSDEESTRUCTURASDEDATOSDElNIDASDEMANERARECURSIVASONLASLISTASYLOSÈRBOLES QUE
SEESTUDIARÈNENLOSDOSSIGUIENTESCAPÓTULOS,ARECURSIVIDADESUNAPROPIEDADESENCIAL
ENELDESARROLLODESOFTWAREPORESTARAZØN SEANALIZANAQUÓLADESCRIPCIØNDELARECUR
SIVIDAD ASÓCOMOELUSODEALGORITMOSRECURSIVOSCLÈSICOSYCOMPLEJOS
13&4&/5"$*Î/ xvii

#APÓTULO ,ISTAS
,ASLISTASSONESTRUCTURASLINEALESYDINÈMICASDEDATOS,APRINCIPALVENTAJADELDINA
MISMO LO REPRESENTA EL HECHO DE QUE SE ADQUIEREN POSICIONES DE MEMORIA A MEDIDA
QUESENECESITANYSELIBERANCUANDOYANOSEREQUIEREN%SDECIR SELLEGANAEXPANDIR
OCONTRAER DEPENDIENDODELAAPLICACIØN%LDINAMISMODEESTASESTRUCTURASSOLUCIONA
ELPROBLEMADEDECIDIRCUÈNTOESPACIOSENECESITAAPRIORI POREJEMPLO ENUNAESTRUC
TURADEDATOSESTÈTICACOMOELARREGLO%NESTECAPÓTULOESTUDIAREMOSLASLISTASLINEALES
CIRCULARESYDOBLEMENTELIGADAS4AMBIÏNSEPRESENTANESTASESTRUCTURASCONUNENFOQUE
ORIENTADOAOBJETOS

#APÓTULO ­RBOLES
,OSÈRBOLESREPRESENTANLASESTRUCTURASDEDATOSNO LINEALESYLASDINÈMICASMÈSRELEVAN
TESENCOMPUTACIØN.OLINEALES PUESTOQUEACADAELEMENTODELÈRBOLPUEDENSEGUIRLE
VARIOS ELEMENTOS $INÈMICAS DADO QUE LA ESTRUCTURA DEL ÈRBOL SUELE CAMBIAR DURAN
TELAEJECUCIØNDELPROGRAMA,OSÈRBOLESBALANCEADOSSONLAESTRUCTURADEDATOSMÈS
IMPORTANTEPARATRABAJARENLAMEMORIAINTERNADELACOMPUTADORA0OROTRAPARTE LOS
ÈRBOLES " CONSTITUYENLAESTRUCTURADEDATOSMÈSÞTILPARATRABAJARCONALMACENAMIENTO
SECUNDARIO4AMBIÏNSEPRESENTAESTAESTRUCTURACONUNENFOQUEORIENTADOAOBJETOS

#APÓTULO 'RÉlCAS
%STECAPÓTULOSEDEDICAALASESTRUCTURASDEDATOSQUEPERMITENREPRESENTARDIFERENTESTI
POSDERELACIONESENTRELOSOBJETOSLASGRÈlCAS%STUDIAREMOSLASGRÈlCASDIRIGIDASYNO
DIRIGIDAS LOSCONCEPTOSMÈSIMPORTANTESYLOSALGORITMOSMÈSDESTACADOSPARATRABAJAR
CONELLAS TALESCOMO$IJKSTRA &LOYD 7ARSHALL 0RIMY+RUSKAL!DEMÈS SEINCLUYEUNA
INTRODUCCIØNALASOLUCIØNDEPROBLEMASˆTEMAMUYRELACIONADOCONLASGRÈlCASˆYSE
ESTUDIANLOSALGORITMOS"READTH &IRSTY$EPTH &IRST4AMBIÏNSEPRESENTAESTAESTRUCTURA
CONUNENFOQUEORIENTADOAOBJETOS

#APÓTULO -ÏTODOSDEORDENACIØN
/RDENARSIGNIlCACOLOCAROREORGANIZARUNCONJUNTODEDATOSUOBJETOSENUNASECUENCIA
ESPECÓlCA ,OS PROCESOS TANTO DE ORDENACIØN COMO DE BÞSQUEDA SON FRECUENTES EN
NUESTRAVIDA%NESTECAPÓTULOESTUDIAREMOSLOSMÏTODOSDEORDENACIØNINTERNAYEXTERNA
MÈSIMPORTANTESDELAACTUALIDAD3EPRESENTA ADEMÈS ELANÈLISISDEElCIENCIADECADA
UNODELOSMÏTODOS

#APÓTULO -ÏTODOSDEBÞSQUEDA
%STECAPÓTULOSEDEDICØAUNADELASOPERACIONESMÈSIMPORTANTESENELPROCESAMIENTO
DELAINFORMACIØNLABÞSQUEDA4ALOPERACIØNPERMITERECUPERARDATOSALMACENADOS,A
xviii *ÀiÃi˜Ì>Vˆ˜

BÞSQUEDAPUEDESERINTERNA CUANDOTODOSLOSELEMENTOSSEENCUENTRANENLAMEMORIA
PRINCIPAL OEXTERNA CUANDOESTÈNENLAMEMORIASECUNDARIA3EESTUDIANLOSMÏTODOSDE
BÞSQUEDAMÈSIMPORTANTESQUEEXISTEN3EPRESENTATAMBIÏNELANÈLISISDEElCIENCIADE
CADAUNODEESTOSMÏTODOS

!'2!$%#)-)%.4/3
%STAOBRAESFRUTODELACOLABORACIØNDEAMIGOS ESTUDIANTESYCOLEGASQUE DEALGUNAU
OTRAFORMA PARTICIPARONPARAQUEESTEPROYECTOSEAUNAREALIDAD%SPECIALMENTEQUERE
MOSAGRADECERALDOCTOR!RTURO&ERNÈNDEZ0ÏREZ RECTORDEL)4!- YALOSFUNCIONARIOS
DELA$IVISIØN!CADÏMICADE)NGENIERÓADEL)4!- QUIENESNOSAPOYARONPARALAREALI
ZACIØNDEESTELIBRO

/36!,$/#!)2»
3),6)!'5!2$!4)
#APÓTULO £
%3425#452!3
&5.$!-%.4!,%3
$%$!4/3
 ).42/$5##)¼.

,A IMPORTANCIA DE LAS COMPUTADORAS RADICA FUNDAMENTALMENTE EN SU CAPACIDAD PARA
PROCESARINFORMACIØN%STACARACTERÓSTICALESPERMITEREALIZARACTIVIDADESQUEANTESSØLO
LASREALIZABANLOSHUMANOS
#ONELPROPØSITODEQUELAINFORMACIØNSEAPROCESADA SEREQUIEREQUEÏSTASEAL
MACENEENLAMEMORIADELACOMPUTADORA$EACUERDOCONLAFORMAENQUELOSDATOSSE
ORGANIZAN SECLASIlCANEN

◗ 4IPOSDEDATOSSIMPLES
◗ 4IPOSDEDATOSESTRUCTURADOS

,APRINCIPALCARACTERÓSTICADELOSTIPOSDEDATOSSIMPLESCONSISTEENQUEOCUPANSØLO
UNACASILLADEMEMORIAlGA PORTANTO UNAVARIABLESIMPLEHACEREFERENCIAAUN
ÞNICOVALORALAVEZ%NESTEGRUPODEDATOSSEENCUENTRANNÞMEROSENTEROSYREALES
CARACTERES BOOLEANOS ENUMERADOSYSUBRANGOS#ABESE×ALARQUELOSDOSÞLTIMOSNO
EXISTENENALGUNOSLENGUAJESDEPROGRAMACIØN
0OROTRAPARTE LOSTIPOSDEDATOSESTRUCTURADOSSECARACTERIZANPORELHECHODEQUE
CONUNNOMBREˆIDENTIlCADORDEVARIABLEESTRUCTURADAˆSEHACEREFERENCIAAUNGRUPO
DECASILLASDEMEMORIAlGB %SDECIR UNTIPODEDATOESTRUCTURADOTIENEVARIOS
COMPONENTES#ADAUNODEÏSTOSPUEDESERUNTIPODEDATOSIMPLEOESTRUCTURADO3IN
EMBARGO LOSCOMPONENTESBÈSICOS LOSDELNIVELMÈSBAJO DECUALQUIERTIPODEDATOS
ESTRUCTURADOSONSIEMPRETIPOSDEDATOSSIMPLES
%LESTUDIODELASESTRUCTURASDEDATOSCONSTITUYEUNADELASPRINCIPALESACTIVIDADES
PARALLEGARALDESARROLLODEGRANDESSISTEMASDESOFTWARE%NESTECAPÓTULOSETRATARÈNLAS
ESTRUCTURASDEDATOSBÈSICOSQUESONÞTILESPARALAMAYORÓADELOSLENGUAJESDEPROGRA
MACIØN²STASSONARREGLOSYREGISTROS
2
>«‰ÌՏœÊ£Ê Ê Ê &4536$563"4'6/%".&/5"-&4%&%"504

&)'52!Ê
4IPOSDEDATOSSIMPLES
YESTRUCTURADOS
B $ATOSIMPLE
C $ATOESTRUCTURADO

 !22%',/3

#ONFRECUENCIASEPRESENTANENLAPRÈCTICAPROBLEMASCUYASOLUCIØNNORESULTAFÈCILˆA
VECESESIMPOSIBLEˆSISEUTILIZANTIPOSDEDATOSSIMPLES
#ONELPROPØSITODEILUSTRARESTADIlCULTAD ACONTINUACIØNSEPRESENTARÈNUNPRO
BLEMAYDOSDESUSPOSIBLESSOLUCIONESMEDIANTETIPOSSIMPLESDEDATOS%LOBJETIVODE
ESTEEJEMPLOESDEMOSTRARLOCOMPLEJOQUERESULTAUNALGORITMODESOLUCIØNPARACIERTOS
PROBLEMAS SINOSEUTILIZANTIPOSDEDATOSESTRUCTURADOS&INALMENTE YLUEGODEPRE
SENTARLOSARREGLOS SEOFRECERÈUNASOLUCIØNALPROBLEMAMENCIONADOENPRIMERTÏRMINO
USANDOARREGLOS

%JEMPLO #ONSIDEREMOSQUEENUNAUNIVERSIDADSECONOCENLASCALIlCACIONESDEUNGRUPODE
ALUMNOS3ENECESITASABERCUÈNTOSDEÏSTOSTIENENCALIlCACIØNSUPERIORALPROMEDIODEL
GRUPO
z#ØMORESOLVERESTEPROBLEMA

0RIMERASOLUCIØN
!LGORITMO $OBLE?LECTURA

$OBLE?LECTURA

[%STE ALGORITMO RESUELVE EL PROBLEMA PLANTEADO EN EL EJEMPLO  REALIZANDO DOS VECES LA
LECTURADELOSDATOS]

[)Y#/.4SONVARIABLESDETIPOENTERO!# 02/-Y#SONVARIABLESDETIPOREAL]

 (ACER!#←E)←
 -IENTRAS)≤ 2EPETIR
%SCRIBIRh)NGRESELACALIlCACIØNv )
,EER#
(ACER!#←!# #E)←)
 [&INDELCICLODELPASO]
 (ACER02/-←!#

[#OMOSENECESITAINDICARCUÈNTOSALUMNOSOBTUVIERONCALIlCACIØNSUPERIORALPROMEDIO SE
RELEERÈNLASCALIlCACIONESPARACOMPARARCADAUNADEELLASCONELPROMEDIOCALCULADOEN
ELPASO]
 "33&(-04 3

(ACER#/.4←E)←
 -IENTRAS)≤ 2EPETIR
%SCRIBIRh)NGRESELACALIlCACIØNv )
,EER#
 3I#>02/-ENTONCES
(ACER#/.4←#/.4
 [&INDELCONDICIONALDELPASO]
 (ACER)←)
 [&INDELCICLODELPASO]
 %SCRIBIR#/.4

3EGUNDASOLUCIØN
!LGORITMO -UCHAS?VARIABLES

-UCHAS?VARIABLES

[%STE ALGORITMO RESUELVE EL PROBLEMA PLANTEADO EN EL EJEMPLO  PERO AHORA MEDIANTE
MUCHASVARIABLES]

[#/.4ESUNAVARIABLEDETIPOENTERO02/- !#Y#ISONVARIABLESDETIPOREAL]

 ,EER# # #  #


[,ASCALIlCACIONESCORRESPONDENALOSALUMNOS]

 (ACER!#←####
02/-←!#Y#/.4←

 3I#02/-ENTONCES
(ACER#/.4←#/.4

Ê  [&INDELCONDICIONALDELPASO]
 3I#02/-ENTONCES
(ACER#/.4← #/.4

 [&INDELCONDICIONALDELPASO]

 3I#02/-ENTONCES
(ACER#/.4←#/.4

 [&INDELCONDICIONALDELPASO]
 %SCRIBIR#/.4

%STASDOSSOLUCIONESSONMUYREPRESENTATIVASDELOSINCONVENIENTESALOSQUEUNO
SEPUEDEENFRENTAR ALPLANTEARUNASOLUCIØNALGORÓTMICAAUNPROBLEMAALUSARSØLOTIPOS
DEDATOSSIMPLES
4
>«‰ÌՏœÊ£Ê Ê Ê &4536$563"4'6/%".&/5"-&4%&%"504

%NLASOLUCIØNPLANTEADAENELALGORITMOELUSUARIODEBEINGRESARDOSVECESEL
CONJUNTODEDATOS%STOÞLTIMOTIENEVARIASDESVENTAJASESTOTALMENTEMOLESTOˆCON
SIDEREQUEELNÞMERODEDATOSPUEDESERMAYORAˆ INElCIENTEˆLAOPERACIØNDE
LECTURA YASEADEMANERAINTERACTIVACONELUSUARIOODESDEUNARCHIVO SEDEBEREPETIR
LOQUEOCASIONAPÏRDIDADETIEMPOˆYCAUSADEERRORESˆENLOSCASOSDONDELAENTRADA
DEDATOSSEHAGADEFORMAMANUALˆ
0OROTRAPARTE ENLASOLUCIØNPLANTEADAENELALGORITMOSEMANEJANVARIABLES
ENMEMORIA%STASOLUCIØNPRESENTAELINCONVENIENTEDEQUEELMANEJODELASVARIABLESSE
PUEDETORNARINCONTROLABLE SOBRETODOSISUNÞMEROCRECEENFORMACONSIDERABLE!DEMÈS
ALGUNOSPASOSESPECIlCADOSENELALGORITMO QUEPOSTERIORMENTESERÈNINSTRUCCIONESDE
ALGÞNLENGUAJEDEPROGRAMACIØN SEREPITEN YAQUENOSEPUEDENGENERALIZAR%STACARACTE
RÓSTICANOSØLOPROVOCAMÈSTRABAJO SINOTAMBIÏNPOSIBLESERRORES%SSABIDOQUEEJECUTAR
UNATAREAENFORMAREPETIDA ENESTECASOESCRIBIRUNMISMOPASOVARIASVECES RESTAINTERÏS
ENLAACCIØNQUESEESTÈLLEVANDOACABO YPUEDEPROPICIARMÈSERRORES
3EOBSERVA ENTONCES QUENINGUNADELASDOSSOLUCIONESRESULTAPRÈCTICANIElCIEN
TE%SNECESARIOUNTIPODEDATOQUEPERMITAMANEJARMUCHAINFORMACIØN GENERALIZAN
DOSUSOPERACIONES,OSTIPOSDEDATOSESTRUCTURADOSQUEAYUDANARESOLVERPROBLEMAS
COMOÏSTESONLOSARREGLOS
5N ARREGLO UNIDIMENSIONAL SE DElNE COMO UNA COLECCIØN lNITA HOMOGÏNEA Y
ORDENADADEELEMENTOS

◗ &INITATODOARREGLOTIENEUNLÓMITEESDECIR SEDEBEDETERMINARCUÈLSERÈELNÞMERO
MÈXIMODEELEMENTOSQUEFORMARÈNPARTEDELARREGLO
◗ (OMOGÏNEATODOSLOSELEMENTOSDEUNARREGLOSONDELMISMOTIPO%SDECIR TODOS
ENTEROS TODOSBOOLEANOS ETCÏTERA PERONUNCAUNACOMBINACIØNDEDISTINTOSTIPOS
◗ /RDENADASEPUEDEDETERMINARCUÈLESSONELPRIMERO ELSEGUNDO ELTERCERO Y
ELENÏSIMOELEMENTOS

5NARREGLOUNIDIMENSIONALSEPUEDEREPRESENTARGRÈlCAMENTECOMOSEMUESTRAEN
LAlGURA
3I UN ARREGLO TIENE LA CARACTERÓSTICA DE QUE PUEDE ALMACENAR A . ELEMENTOS DEL
MISMOTIPO ENTONCESDEBERÈPERMITIRLARECUPERACIØNDECADAUNODEELLOS#OMOCON
SECUENCIA SEDISTINGUENDOSPARTESFUNDAMENTALESENLOSARREGLOS

◗ ,OSCOMPONENTES
◗ ,OSÓNDICES

,OSPRIMEROSHACENREFERENCIAALOSELEMENTOSQUEFORMANELARREGLOESDECIR A
LOS VALORES QUE SE ALMACENAN EN CADA UNA DE SUS CASILLAS lG   #ONSIDERANDO EL

&)'52!
2EPRESENTACIØN
DEARREGLOS
 "33&(-04 5

&)'52!
·NDICESYCOMPONENTES
DEUNARREGLO

EJEMPLOANTERIOR CADAUNADELASCALIlCACIONESSERÈUNCOMPONENTEDEUNARREGLO
hCALIlCACIONESv%NESTECONTEXTO LOSÓNDICESESPECIlCANCUÈNTOSELEMENTOSTENDRÈEL
ARREGLOYADEMÈSDEQUÏMODOPODRÈNRECUPERARSEESOSCOMPONENTES,OSÓNDICESTAM
BIÏNPERMITENHACERREFERENCIAALOSCOMPONENTESDELARREGLOENFORMAINDIVIDUALES
DECIR DISTINGUIRÈNENTRESUSELEMENTOS0ORTANTO PARAHACERREFERENCIAAUNELEMENTO
DEUNARREGLOSEDEBEUTILIZAR

◗ %LNOMBREDELARREGLO
◗ %LÓNDICEDELELEMENTO

%NLAlGURASEREPRESENTAUNARREGLOUNIDIMENSIONALYSEINDICANTANTOSUSCOM
PONENTESCOMOSUSÓNDICES

 $ECLARACIØNDEARREGLOSUNIDIMENSIONALES
.OESELPROPØSITODEESTELIBROSEGUIRLASINTAXISDEALGÞNLENGUAJEDEPROGRAMACIØNEN
PARTICULARUNARREGLOUNIDIMENSIONALSEDElNEDELASIGUIENTEMANERA

IDENT?ARREGLO!22%',/;LÓMINFLÓMSUP=$%TIPO

#ONLOSVALORESLÓMINFYLÓMSUPSEDECLARAELTIPODELOSÓNDICES ASÓCOMOELNÞ
MERODEELEMENTOSQUETENDRÈELARREGLO%LNÞMEROTOTALDECOMPONENTES.4# QUE
TENDRÈELARREGLOUNIDIMENSIONALSECALCULACON


.4#LÓMSUPLÓMINF &ØRMULA

#ONTIPOSEDECLARAELTIPODEDATOSPARATODOSLOSCOMPONENTESDELARREGLOUNIDI
MENSIONAL%LTIPODELOSCOMPONENTESNOTIENEQUESERELMISMOQUEELDELOSÓNDICES
%NGENERAL LOSLENGUAJESDEPROGRAMACIØNESTABLECENRESTRICCIONESALRESPECTO

/BSERVACIONES

A %LTIPODELÓNDICEPUEDESERCUALQUIERTIPOORDINALCARÈCTER ENTERO ENUMERADO%N


LAMAYORÓADELOSLENGUAJESUSADOSACTUALMENTESEPERMITESØLONÞMEROSENTEROS
6
>«‰ÌՏœÊ£Ê Ê Ê &4536$563"4'6/%".&/5"-&4%&%"504

B %LTIPODELOSCOMPONENTESPUEDESERCUALQUIERTIPODEDATOSˆENTERO REAL CADENA


DECARACTERES REGISTRO ARREGLO ETCÏTERAˆ
C 3EUTILIZANLOSCORCHETESh;=vPARAINDICARELÓNDICEDEUNARREGLO%NTRE;=SEDEBE
ESCRIBIRUNVALORORDINALPUEDESERUNAVARIABLE UNACONSTANTEOUNAEXPRESIØNTAN
COMPLEJACOMOSEQUIERA PEROQUEDÏCOMORESULTADOUNVALORORDINAL

%NSEGUIDASEVERÈNALGUNOSEJEMPLOSDEARREGLOSUNIDIMENSIONALES

%JEMPLO 3EA6UNARREGLOUNIDIMENSIONALDEELEMENTOSENTEROSCONÓNDICESENTEROS3UREPRE
SENTACIØNSEINDICAENLAlGURA

6!22%',/;=$%ENTEROS

◗ .4#n  
◗ #ADACOMPONENTEDELARREGLOUNIDIMENSIONAL6SERÈUNNÞMEROENTERO ALCUALSE
TENDRÈACCESOPORMEDIODEUNÓNDICEQUESERÈUNVALORCOMPRENDIDOENTREY

0OREJEMPLO

6;L=HACEREFERENCIAALELEMENTODELAPOSICIØN
6;=HACEREFERENCIAALELEMENTODELAPOSICIØN

6;=HACEREFERENCIAALELEMENTODELAPOSICIØN

,OSÓNDICESDETIPOENTERONONECESARIAMENTEDEBENTENERUNLÓMITEINFERIORIGUALACERO
OAUNO0ODRÓANUSARSEVALORESNEGATIVOS;=OVALORESMAYORESAUNO;=

%JEMPLO 3EA!UNARREGLODEELEMENTOSBOOLEANOSCONÓNDICESDETIPOCARÈCTER3UREPRESENTA
CIØNSEMUESTRAENLAlGURA

!!22%',/;@A@Z=$%BOOLEANOS

◗ .4#ORD@Z ORD@A   


◗ #ADACOMPONENTEDELARREGLOUNIDIMENSIONAL!SERÈUNODELOSDOSPOSIBLESVALORES
LØGICOS6%2$!$%2/O&!,3/ ALCUALSETENDRÈACCESOPORMEDIODEUNÓNDICE
QUESERÈUNVALORCOMPRENDIDOENTRELOSCARACTERES@AY@Z
0OREJEMPLO
!;@A=HACEREFERENCIAALELEMENTODELAPOSICIØN@AERA
!;@B=HACEREFERENCIAALELEMENTODELAPOSICIØN@BDA

&)'52! 


   
 "33&(-04 7

&)'52!


!;@Z=HACEREFERENCIAALELEMENTODELAPOSICIØN@Z

%JEMPLO 3EA#)#,/UNARREGLODEELEMENTOSREALESCONÓNDICESDETIPOESCALAROENUMERADOS
3UREPRESENTACIØNSEMUESTRAENLAlGURA

MESESENE FEB MAR ABR MAY JUN JUL AGO SEPT OCT NOV DIC

#)#,/!22%',/;MESES=$%REALES

◗ .4#ORDDIC ORDENE L n 


◗ #ADACOMPONENTEDELARREGLOUNIDIMENSIONAL#)#,/SERÈUNNÞMEROREAL ALCUAL
SETENDRÈACCESOPORMEDIODEUNÓNDICE QUESERÈUNVALORCOMPRENDIDOENTREENE
YDIC

0OREJEMPLO

#)#,/;ENE=HACEREFERENCIAALELEMENTODELAPOSICIØNENEERA
#)#,/;FEB=HACEREFERENCIAALELEMENTODELAPOSICIØNFEBDA

#)#,/;DIC=HACEREFERENCIAALELEMENTODELAPOSICIØNDICAVA

 /PERACIONESCONARREGLOSUNIDIMENSIONALES
#OMOYASEMENCIONØ LOSARREGLOSSEUTILIZANPARAALMACENARDATOS0ORTANTO RESULTA
NECESARIOLEER ESCRIBIR ASIGNAROSIMPLEMENTEMODIlCARDATOSENUNARREGLO!SIMISMO
ALCONSIDERARQUEESUNAESTRUCTURA AUNACOLECCIØNDEELEMENTOSSEDEBENINCORPORAR
NUEVOSELEMENTOS ASÓCOMOELIMINARALGUNOSDELOSYAALMACENADOS,ASOPERACIONES
VÈLIDASENARREGLOSSONLASSIGUIENTES

◗ ,ECTURA%SCRITURA
◗ !SIGNACIØN

&)'52!
8
>«‰ÌՏœÊ£Ê Ê Ê &4536$563"4'6/%".&/5"-&4%&%"504

◗ !CTUALIZACIØN)NSERCIØN
%LIMINACIØN
-ODIlCACIØN
◗ /RDENACIØN
◗ "ÞSQUEDA

#OMOLOSARREGLOSSONTIPOSDEDATOSESTRUCTURADOS MUCHASDEESTASOPERACIONES
NOSEPUEDENLLEVARACABODEMANERAGLOBALESDECIR TRATANDOALARREGLOCOMOUNTODO
SINOQUESEDEBETRABAJARSOBRECADACOMPONENTE
!CONTINUACIØNSEANALIZARÈCADAUNADEESTASOPERACIONES#ABEDESTACARQUELAS
DOSÞLTIMAS ORDENACIØNYBÞSQUEDA SERÈNTEMADEESTUDIOENPRØXIMOSCAPÓTULOS0ARA
ILUSTRARLASSEUTILIZARÈNLOSEJEMPLOSPRESENTADOSANTERIORMENTE

,ECTURA
%LPROCESODELECTURADEUNARREGLOCONSISTEENLEERYASIGNARUNVALORACADAUNODESUS
COMPONENTES3UPONGAQUESEDESEALEERTODOSLOSELEMENTOSDELARREGLOUNIDIMENSIO
NAL6ENFORMACONSECUTIVA3EPODRÓAHACERDELASIGUIENTEMANERA

,EER6;=
,EER6;=

,EER6;=

0EROESIMPORTANTEQUEELLECTOROBSERVEQUEDEESTAFORMANORESULTAPRÈCTICO0OR
TANTO SEUSARÈUNCICLOPARALEERTODOSLOSELEMENTOSDELARREGLOUNIDIMENSIONAL

2EPETIRCON)DESDEHASTA
,EER6;)=

!LVARIARELVALORDE) CADAELEMENTOLEÓDOSEASIGNAALCORRESPONDIENTECOMPONEN
TEDELARREGLOSEGÞNLAPOSICIØNINDICADAPOR)

0ARA) SELEE6;=
) SELEE6;=

). SELEE6;.=

!LlNALIZARELCICLODELECTURASETENDRÈASIGNADOUNVALORACADAUNODELOSCOMPO
NENTESDELARREGLOUNIDIMENSIONAL6%LARREGLOSEMUESTRAENLAlGURA

&)'52!
,ECTURADEARREGLOS
 "33&(-04 9

&)'52!
,ECTURADEARREGLOS

0UEDE SUCEDER QUE NO SE NECESITEN LEER TODOS LOS COMPONENTES DEL ARREGLO SINO
SOLAMENTEALGUNODEELLOS3UPONGAMOSQUESEDEBENLEERLOSELEMENTOSCONÓNDICES
COMPRENDIDOSENTREELYEL!CONTINUACIØNSEMUESTRAELCICLOQUESENECESITAPARA
REALIZARESTAOPERACIØN

2EPETIRCON)DESDEHASTA
,EER6;)=

%LARREGLOSEMUESTRAENLAlGURA

%SCRITURA
%LCASODELAOPERACIØNDEESCRITURAESSIMILARALDELECTURA3EDEBEESCRIBIRELVALORDE
CADAUNODELOSCOMPONENTES3UPONGAMOSQUESEDESEAESCRIBIRLOSPRIMEROS.COMPO
NENTESDELARREGLOUNIDIMENSIONAL6ENFORMACONSECUTIVA,OSPASOSASEGUIRSON

2EPETIRCON)DESDEHASTA.
%SCRIBIR6;)=

!LVARIARELVALORDE)SEESCRIBEELELEMENTODELARREGLOUNIDIMENSIONAL6 CORRES
PONDIENTEALAPOSICIØNINDICADAPOR)

0ARA) SEESCRIBEELVALORDE6;=
) SEESCRIBEELVALORDE6;=

). SEESCRIBEELVALORDE6;.=

!SIGNACIØN
%NGENERAL NOESPOSIBLEASIGNARDIRECTAMENTEUNVALORATODOELARREGLO SINOQUESE
DEBEASIGNARELVALORDESEADOACADACOMPONENTE%NSEGUIDASEANALIZANALGUNOSEJEM
PLOSDEASIGNACIØN
/BSERVEQUEENLOSDOSPRIMEROSCASOSSEASIGNAUNVALORAUNADETERMINADACASILLA
DELARREGLO ENELPRIMEROALASE×ALADAPORELÓNDICEENE YENELSEGUNDOALAINDICADA
PORELÓNDICEMAR

#)#,/;ENE=←
#)#,/;MAR=←#)#,/;ENE=

%NELTERCERCASOSEASIGNAELATODASLASCASILLASDELARREGLO CONLOQUEÏSTEQUEDA
COMOSEMUESTRAENLAlGURA
10
>«‰ÌՏœÊ£Ê Ê Ê &4536$563"4'6/%".&/5"-&4%&%"504

&)'52!
!SIGNACIØNDEARREGLOS

2EPETIRCON-%3DESDEENEHASTADIC
(ACER#)#,/;-%3=←

#ABEDESTACARQUEENALGUNOSLENGUAJESDEPROGRAMACIØNESPOSIBLEASIGNARUNA
VARIABLETIPOARREGLOAOTRADELMISMOTIPO

6←6

,AEXPRESIØNANTERIORESEQUIVALENTEAREALIZARLOSIGUIENTE

2EPETIRCON)DESDEHASTA
(ACER6;)=←6;)=

!CTUALIZACIØN
,AACTUALIZACIØNESUNAOPERACIØNQUESEREALIZAENFORMAFRECUENTEENLOSARREGLOS,A
CANTIDADDEACTUALIZACIONESESTÈRELACIONADACONELTIPODEPROBLEMAQUESEINTENTERE
SOLVER!DIFERENCIADELASOTRASOPERACIONESESTUDIADAS LAACTUALIZACIØNLLEVAIMPLÓCITA
OTROSTIPOSDEOPERACIONES COMOINSERCIØNYELIMINACIØNDEELEMENTOS
#ONELPROPØSITODEREALIZARUNAACTUALIZACIØNDEMANERAElCIENTE ESIMPORTANTE
CONOCERSIELARREGLOESTÈONOORDENADOESDECIR SISUSCOMPONENTESRESPETANALGÞN
ORDEN YASEACRECIENTEODECRECIENTE#ABEDESTACARQUELASOPERACIONESDEINSERCIØN
ELIMINACIØNYMODIlCACIØNSERÈNTRATADASENFORMASEPARADAPARAARREGLOSORDENADOSY
DESORDENADOS
&INALMENTE ES IMPORTANTE SE×ALAR QUE LA OPERACIØN DE BÞSQUEDA SE UTILIZA COMO
AUXILIARENLASOPERACIONESDEINSERCIØN ELIMINACIØNYMODIlCACIØN%STAESLAPRINCI
PALRAZØNPORLACUALACONTINUACIØNSEPRESENTAELALGORITMODEBÞSQUEDASECUENCIALEN
ARREGLOSDESORDENADOS%NELCAPÓTULOCORRESPONDIENTEAMÏTODOSDEBÞSQUEDASETRATARÈ
CONMAYORDETALLEESTETEMA

!LGORITMO "USCA?SECUENCIAL?DESORDENADO

"USCA?SECUENCIAL?DESORDENADO

[%LALGORITMOBUSCAENFORMASECUENCIALUNELEMENTOENUNARREGLOUNIDIMENSIONALQUESE
ENCUENTRADESORDENADO6ESUNARREGLODEELEMENTOS .ELNÞMEROACTUALDEELEMENTOSY
8ELVALORABUSCAR]
[)ESUNAVARIABLEAUXILIARDETIPOENTERO]

 (ACER)←
 "33&(-04 11

 -IENTRAS)≤. Y8≠6;)= 2EPETIR


(ACER)←)
 [&INDELCICLODELPASO]
 3I).[.OSEENCONTRØELVALORBUSCADO]
ENTONCES
%SCRIBIRh%LVALOR8NOESTÈENELARREGLOv
SINO%SCRIBIRh%LVALOR8ESTÈENLAPOSICIØN)v
 [&INDELCONDICIONALDELPASO]

%STEMÏTODODEBÞSQUEDAESSENCILLO AUNQUENOMUYElCIENTE#ONSISTEENRECORRER
ELARREGLO COMPARANDOCADAELEMENTODELMISMOCONELVALORABUSCAR%LPROCESOSE
REPITEHASTAQUEELVALORSEENCUENTREˆÏXITOˆOHASTAQUESEHAYASUPERADOELTAMA×O
DELARREGLOˆFRACASOˆ

>®Ê ÀÀi}œÃÊ`iÜÀ`i˜>`œÃÊ #ONSIDEREUNARREGLOUNIDIMENSIONAL6DEELE


MENTOS COMOELQUESEPRESENTAENLAlGURA/BSERVEQUELOSPRIMEROS.COMPO
NENTESTIENENASIGNADOUNVALOR

A )NSERCIØN0ARAINSERTARUNELEMENTO9ENUNARREGLOUNIDIMENSIONAL6DESORDE
NADO SEDEBEVERIlCARQUEEXISTAESPACIO3ISECUMPLEESTACONDICIØN ENTONCES
SEASIGNARÈENLAPOSICIØN.ELNUEVOELEMENTOYSEINCREMENTARÈEN.EL
TOTALDEELEMENTOSDELARREGLO
!CONTINUACIØNSEPRESENTAELALGORITMODEINSERCIØNENARREGLOSUNIDIMEN
SIONALESDESORDENADOS

!LGORITMO )NSERTA?DESORDENADO

)NSERTA?DESORDENADO6 . 9

[%LALGORITMOINSERTAUNELEMENTOENUNARREGLOUNIDIMENSIONALDESORDENADO6ESUNARREGLO
DE MÈXIMO  ELEMENTOS . ES EL NÞMERO ACTUAL DE ELEMENTOS 9 REPRESENTA EL VALOR A
INSERTAR]

 3I.
ENTONCES
(ACER.←. Y6;.=←9
SINO[.OHAYESPACIOENELARREGLO]
%SCRIBIRh%LVALOR9NOSEPUEDEINSERTAR.OHAYESPACIOv
 [&INDELCONDICIONALDELPASO]

,UEGODELAINSERCIØNELARREGLOUNIDIMENSIONAL6QUEDACOMOSEMUESTRAENLA
lGURAA
12
>«‰ÌՏœÊ£Ê Ê Ê &4536$563"4'6/%".&/5"-&4%&%"504

&)'52!
!CTUALIZACIØNDEARREGLOS
DESORDENADOS A %LIMINACIØN0ARAELIMINARUNELEMENTO8DEUNARREGLOUNIDIMENSIONAL6DES
ORDENADO SEDEBEVERIlCARQUE8SEENCUENTREENELARREGLO3ISECUMPLEESTA
CONDICIØN ENTONCESSEPROCEDERÈARECORRERTODOSLOSELEMENTOSQUEESTÈNASU
DERECHAUNAPOSICIØNALAIZQUIERDA DISMINUYENDOENUNOELNÞMERODECOMPO
NENTESDELARREGLO
!CONTINUACIØNSEPRESENTAELALGORITMODEELIMINACIØNENARREGLOSDESORDE
NADOS#ABEDESTACARQUELAOPERACIØNDEBÞSQUEDAPRESENTADAENELALGORITMO
SEUSAPARADETERMINARSIELELEMENTO8SEENCUENTRAENELARREGLO0ARAEL
CASODEQUELARESPUESTASEAPOSITIVA SEOBTIENETAMBIÏNLAPOSICIØNENQUESE
ENCUENTRA#ONELPROPØSITODEOFRECERMAYORCLARIDADENLASOLUCIØNDEESTEPRO
BLEMA SEINCLUYEDENTRODELALGORITMODEELIMINACIØNELALGORITMODEBÞSQUEDA
SECUENCIALENARREGLOSDESORDENADOS

!LGORITMO %LIMINA?DESORDENADO

%LIMINA?DESORDENADO6 . 8

[%L ALGORITMO ELIMINA UN ELEMENTO EN UN ARREGLO UNIDIMENSIONAL DESORDENADO 6 ES UN
ARREGLODEELEMENTOS.ESELNÞMEROACTUALDEELEMENTOS8ESELVALORAELIMINAR]
[)Y+SONVARIABLESDETIPOENTERO]

 (ACER)←
 -IENTRAS)≤. Y8≠6;)= 2EPETIR
(ACER)←)
 [&INDELCICLODELPASO]
 3I). [.OSEENCONTRØELVALORBUSCADO]
ENTONCES
%SCRIBIRh%LVALOR8NOSEENCUENTRAENELARREGLOv
SINO
 2EPETIRCON+DESDE)HASTA.
(ACER6;+=←6;+ =
 [&INDELCICLODELPASO]
(ACER.←.
 [&INDELCONDICIONALDELPASO]

,UEGODELAELIMINACIØN ELARREGLOUNIDIMENSIONAL6QUEDACOMOSEMUESTRAEN
LAlGURAB
 "33&(-04 13

&)'52!A
)NSERCIØNENARREGLOS
DESORDENADOS
A -ODIlCACIØN 0ARA MODIlCAR UN ELEMENTO 8 DE UN ARREGLO UNIDIMENSIONAL 6
DESORDENADOSEDEBEVERIlCARQUE8SEENCUENTREENELARREGLO3ISECUMPLEESTA
CONDICIØN ENTONCESSEPROCEDERÈASUACTUALIZACIØN
!CONTINUACIØNSEPRESENTAELALGORITMODEMODIlCACIØNENARREGLOSDESOR
DENADOS ENELCUALSEINCLUYELABÞSQUEDASECUENCIAL

!LGORITMO -ODIlCA?DESORDENADO

-ODIlCA?DESORDENADO6 . 8 9

[%L ALGORITMO MODIlCA UN ELEMENTO DE UN ARREGLO UNIDIMENSIONAL DESORDENADO 6 ES UN
ARREGLODEMÈXIMOELEMENTOS.ESELNÞMEROACTUALDEELEMENTOS8ESELELEMENTOA
MODIlCARPORELELEMENTO9]
[)ESUNAVARIABLEDETIPOENTERO]

 (ACER)←
 -IENTRAS)≤. Y8≠6;)= 2EPETIR
(ACER)←) 
 [&INDELCICLODELPASO]
 3I). [.OSEENCONTRØELVALORBUSCADO]
ENTONCES
%SCRIBIRh%LVALOR8NOSEENCUENTRAENELARREGLOv
SINO
(ACER6;)=←9
 [&INDELCONDICIONALDELPASO]

,UEGO DE LA MODIlCACIØN EL ARREGLO UNIDIMENSIONAL 6 QUEDA COMO SE
MUESTRAENLAlGURAC

&)'52!B
%LIMINACIØNENARREGLOS
DESORDENADOS
14
>«‰ÌՏœÊ£Ê Ê Ê &4536$563"4'6/%".&/5"-&4%&%"504

&)'52!C
-ODIlCACIØNENARREGLOS L®Ê ÀÀi}œÃʜÀ`i˜>`œÃ #ONSIDEREELARREGLOUNIDIMENSIONALORDENADO6DE
DESORDENADOS
ELEMENTOSDELAlGURA,OSPRIMEROS.COMPONENTESDELMISMOTIENENASIGNADOUN
VALOR%NESTECASOSETRABAJARÈCONUNARREGLOORDENADODEMANERACRECIENTE ESDECIR

6;=≤6;=≤6;=≤≤6;.=

#UANDOSETRABAJACONARREGLOSORDENADOSSEDEBEEVITARALTERARELORDENALINSERTAR
NUEVOSELEMENTOSOALMODIlCARLOSEXISTENTES

B )NSERCIØN0ARAINSERTARUNELEMENTO8ENUNARREGLOUNIDIMENSIONAL6ORDENADO
PRIMEROSEDEBEVERIlCARQUEEXISTAESPACIO,UEGOSEENCONTRARÈLAPOSICIØNEN
LAQUEDEBERÓAESTARELNUEVOVALORPARANOALTERARELORDENDELARREGLO#UANDOSE
DETECTELAPOSICIØN SEPROCEDERÈARECORRERTODOSLOSELEMENTOSDESDEAHÓHASTA
LA. ÏSIMAPOSICIØN UNLUGARALADERECHA&INALMENTESEASIGNARÈELVALORDE
8ENLAPOSICIØNENCONTRADA#ABEDESTACARQUEELDESPLAZAMIENTONOSELLEVAA
CABOCUANDOELVALORAINSERTARESMAYORQUEELÞLTIMOELEMENTODELARREGLO
'ENERALMENTE CUANDOSEQUIEREHACERUNAINSERCIØNSEDEBEVERIlCARQUEEL
ELEMENTONOSEENCUENTREENELARREGLO%NLAMAYORÓADELOSCASOSPRÈCTICOSNO
INTERESATENERINFORMACIØNDUPLICADAPORTANTO SIELVALORQUESEDESEAINSERTAR
YAESTUVIERAENELARREGLO LAOPERACIØNNOSELLEVARÈACABO

!NTESDEPRESENTARELALGORITMODEINSERCIØN SEDElNIRÈUNAFUNCIØNDEBÞSQUEDA
AUXILIAR PARAARREGLOSORDENADOS QUESEUTILIZARÈTANTOENELPROCESODEINSERCIØNCOMO
ENELDEELIMINACIØN%STAFUNCIØNESUNAVARIANTEDELAPRESENTADAENELALGORITMO
YDACOMORESULTADOLAPOSICIØNENLAQUEENCONTRØALELEMENTO8OELNEGATIVODELA
POSICIØNENLAQUEDEBERÓAESTAR0ARAMAYORINFORMACIØNSOBREALGORITMOSDEBÞSQUEDA
CONSULTEELCAPÓTULO

!LGORITMO "USCA?SECUENCIAL?ORDENADO

"USCA?SECUENCIAL?ORDENADO6 . 8 0/3

[%LALGORITMOBUSCAUNELEMENTO8ENUNARREGLOUNIDIMENSIONAL6DE.ELEMENTOSQUESE
ENCUENTRAORDENADOCRECIENTEMENTE0/3INDICALAPOSICIØNDE8EN6OLAPOSICIØNENLAQUE
ESTARÓA8]
[)ESUNAVARIABLEDETIPOENTERO]

 (ACER)←
 -IENTRAS)≤. Y6;)=8 2EPETIR
(ACER)←)
 "33&(-04 15

&)'52!
!CTUALIZACIØNDEARREGLOS
ORDENADOS
 [&INDELCICLODELPASO]
 3I). O6;)=8
ENTONCES
(ACER0/3←)
SINO
(ACER0/3←)
 [&INDELCONDICIONALDELPASO]

!CONTINUACIØNSEPRESENTAELALGORITMODEINSERCIØNENUNARREGLOUNIDIMENSIONAL
QUESEENCUENTRAORDENADOENFORMACRECIENTE

!LGORITMO )NSERTA?ORDENADO

)NSERTA?ORDENADO6 . 9

[%STEALGORITMOINSERTAUNELEMENTO9ENUNARREGLOUNIDIMENSIONALQUESEENCUENTRAORDENADO
DEFORMACRECIENTE,ACAPACIDADMÈXIMADELARREGLOESDEELEMENTOS.INDICAELNÞMERO
ACTUALDEELEMENTOSDE6]
[0/3E)SONVARIABLESDETIPOENTERO]

 3I.
ENTONCES
,LAMARALALGORITMO"USCA?SECUENCIAL?ORDENADOCON6 . 9Y0/3
 3I0/3[%LELEMENTOFUEENCONTRADOENELARREGLO]
ENTONCES
%SCRIBIRh%LELEMENTOYAEXISTEv
SINO
(ACER.←. Y0/3←0/3

 2EPETIRCON)DESDE.HASTA0/3 
(ACER6;)=←6;)=
 [&INDELCICLODELPASO]
(ACER6;0/3=←9
 [&INDELCONDICIONALDELPASO]
SINO
%SCRIBIRh.OHAYESPACIOENELARREGLOv
 [&INDELCONDICIONALDELPASO]
16
>«‰ÌՏœÊ£Ê Ê Ê &4536$563"4'6/%".&/5"-&4%&%"504

&)'52!A
)NSERCIØNENARREGLOS ,UEGODELAINSERCIØN ELARREGLOQUEDACOMOSEMUESTRAENLAlGURAA
ORDENADOS

B %LIMINACIØN0ARAELIMINARUNELEMENTO8DEUNARREGLOUNIDIMENSIONALORDE
NADO6SEDEBEBUSCARLAPOSICIØNDELELEMENTOAELIMINAR3IELRESULTADODELA
FUNCIØNESUNVALORPOSITIVO SIGNIlCAQUEELELEMENTOSEENCUENTRAENELARREGLO
Y PORTANTO SEPUEDEELIMINARENCASOCONTRARIO NOSEPUEDEREALIZARLAOPERA
CIØNDEELIMINACIØN
!CONTINUACIØNSEPRESENTAELALGORITMODEELIMINACIØNENARREGLOSORDE
NADOS

!LGORITMO %LIMINA?ORDENADO

%LIMINA?ORDENADO6 . 8

[%LALGORITMOELIMINAUNELEMENTO8DEUNARREGLOUNIDIMENSIONAL6DE.ELEMENTOSQUESE
ENCUENTRAORDENADOENFORMACRECIENTE]
[0/3E)SONVARIABLESDETIPOENTERO]
 3I.
ENTONCES
,LAMARALALGORITMO"USCA?SECUENCIAL?ORDENADOCON6 . 8Y0/3
 3I0/3 [.OSEPUEDEELIMINARPORQUE8NOEXISTE]
ENTONCES
%SCRIBIRh%LELEMENTONOEXISTEv
SINO
(ACER.←.n
 2EPETIRCON)DESDE0/3HASTA.
(ACER6;)=←6;) =
 [&INDELCICLODELPASO]
 [&INDELCONDICIONALDELPASO]
SINO
%SCRIBIRh%LARREGLOESTÈVACÓOv
 [&INDELCONDICIONALDELPASO]

,UEGODELAELIMINACIØN ELARREGLOQUEDACOMOSEMUESTRAENLAlGURAB

B -ODIlCACIØN%STAOPERACIØNCONSISTEENREEMPLAZARUNCOMPONENTEDELARREGLO
CON OTRO VALOR 0ARA ELLO PRIMERO SE BUSCARÈ EL ELEMENTO EN EL ARREGLO 3I SE
ENCUENTRA ANTESDEREALIZARELCAMBIOSEDEBEVERIlCARQUEELORDENDELARREGLO
NOSEALTERE3IESTOLLEGARAASUCEDER ENTONCESESNECESARIOREALIZARDOSOPERA
 "33&(-04 17

&)'52!B
%LIMINACIØNENARREGLOS
ORDENADOS CIONESPRIMEROSEDEBEELIMINARELELEMENTOQUESEQUIEREMODIlCARYLUEGO
INSERTARENLAPOSICIØNCORRESPONDIENTEELNUEVOVALOR#OMOCONSECUENCIADE
QUELASOPERACIONESQUESENECESITANPARAREALIZARUNAMODIlCACIØNYAHANSIDO
PRESENTADAS SEDEJACOMOTAREALACONSTRUCCIØNDELALGORITMODEMODIlCACIØN
ENARREGLOSORDENADOS

(ASTAELMOMENTOSEHAANALIZADOCØMODECLARARARREGLOSYCØMOUSARLOS!HORASE
PUEDEDARSOLUCIØNALPROBLEMADELEJEMPLOMEDIANTEESTETIPODEESTRUCTURADEDATOS

!LGORITMO #ON?ARREGLOS

#ON?ARREGLOS#!,

[%STEALGORITMORESUELVEELPROBLEMADELEJEMPLOALAPLICARARREGLOSUNIDIMENSIONALES
#!,ESUNARREGLODEELEMENTOSDENÞMEROSREALES]
[!# )Y#/.4SONVARIABLESDETIPOENTERO02/-ESUNAVARIABLEDETIPOREAL]

 (ACER!#←
 2EPETIRCON)DESDEHASTA
,EER#!,;)=
(ACER!#←!# #!,;)=E)←) 
 [&INDELCICLODELPASO]
 (ACER02/-←!#Y#/.4←
 2EPETIRCON)DESDEHASTA
 3I#!,;)=02/- ENTONCES
(ACER#/.4←#/.4 
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
 %SCRIBIR#/.4

²STAESUNASOLUCIØNMÈSElCIENTEQUELASQUESEPRESENTARONENLOSALGORITMOS
Y3EREALIZAUNALECTURADELOSDATOSYADEMÈSSEDElNEUNAVARIABLEPARAALMACENAR
LASCALIlCACIONES
!LUTILIZARUNARREGLOPUEDEDISPONERSEDELOSDATOSTANTASVECESCOMOSEANECESARIO
SINQUESEDEBAVOLVERALEERLOS YAQUEÏSTOSPERMANECENENMEMORIA!DEMÈSSEFACI
LITAELPROCESAMIENTODELOSDATOS ALGENERALIZARCIERTASOPERACIONES
,OSARREGLOSPRESENTADOSHASTAELMOMENTOSEDENOMINANARREGLOSUNIDIMENSIO
NALESOLINEALES DEBIDOAQUECUALQUIERELEMENTOSEREFERENCIASOLAMENTECONUNÓNDICE
18
>«‰ÌՏœÊ£Ê Ê Ê &4536$563"4'6/%".&/5"-&4%&%"504

3INEMBARGO ESIMPORTANTEDESTACARQUEPARALAMAYORÓADELOSLENGUAJESDEPROGRAMA
CIØNSEPUEDENDElNIRARREGLOSMULTIDIMENSIONALESESDECIR ARREGLOSCONMÞLTIPLESÓN
DICES%LNÞMERODEDIMENSIONESˆÓNDICESˆDEPENDETANTODELPROBLEMAQUESEQUIERA
RESOLVERCOMODELLENGUAJEUTILIZADO
3EANALIZARÈNPRIMEROLOSARREGLOSBIDIMENSIONALES QUEREPRESENTANUNCASOESPE
CIALDELOSMULTIDIMENSIONALES PORSERLOSMÈSAMPLIAMENTEUTILIZADOS

 !22%',/3")$)-%.3)/.!,%3
0ARAQUEELLECTORENTIENDAMEJORLAESTRUCTURADELOSARREGLOSBIDIMENSIONALES SEPRE
SENTAELSIGUIENTEEJEMPLO

%JEMPLO ,ATABLACONTIENELOSCOSTOSDEPRODUCCIØNDECADADEPARTAMENTODEUNAFÈBRICA
CORRESPONDIENTESALOSMESESDELA×OANTERIOR
,ATABLASEINTERPRETADELASIGUIENTEMANERADADOUNMES SECONOCENLOSCOSTOSDE
PRODUCCIØNDECADAUNODELOSDEPARTAMENTOSDELAFÈBRICAYDADOUNDEPARTAMENTO SE
CONOCENLOSCOSTOSDEPRODUCCIØNMENSUALES3ISEQUISIERAALMACENARESTAINFORMACIØN
UTILIZANDOLOSARREGLOSUNIDIMENSIONALES SETENDRÓANDOSALTERNATIVAS

 $ElNIRARREGLOSDETRESELEMENTOSCADAUNO%NESTECASO CADAARREGLOALMACE


NARÈLAINFORMACIØNRELATIVAAUNMES

4!",! -ESES$EPTOS $ULCES #ONSERVAS "EBIDAS


#OSTOSMENSUALESPOR %NERO   
DEPARTAMENTOS
&EBRERO   
-ARZO   
!BRIL   
-AYO   
*UNIO   
*ULIO   
!GOSTO   
3EPTIEMBRE   
/CTUBRE   
.OVIEMBRE   
$ICIEMBRE   

&)'52!
!LMACENAMIENTODELA
INFORMACIØNPORMES
 "33&(-04#*%*.&/4*0/"-&4 19

&)'52!
!LMACENAMIENTO
DELAINFORMACIØN
PORDEPARTAMENTO

 $ElNIRTRESARREGLOSDEELEMENTOSCADAUNO$EESTAFORMA CADAARREGLOALMA


CENARÈLAINFORMACIØNRELATIVAAUNDEPARTAMENTOALOLARGODELA×O

3INEMBARGO NORESULTAMUYPRÈCTICOADOPTARALGUNADELASDOSALTERNATIVAS3ENE
CESITAUNAESTRUCTURAQUEPERMITAMANEJARLOSDATOSCONSIDERANDOLOSMESESˆRENGLONES
DELATABLAˆ YLOSDEPARTAMENTOSˆCOLUMNASDELATABLAˆESDECIR UNAESTRUCTURA
QUETRATEALAINFORMACIØNCOMOUNTODO,AESTRUCTURAQUETIENEESTACARACTERÓSTICASE
DENOMINAARREGLOBIDIMENSIONAL
5NARREGLOBIDIMENSIONALESUNACOLECCIØNHOMOGÏNEA lNITAYORDENADADEDA
TOS ENLAQUESEHACEREFERENCIAACADACOMPONENTEDELARREGLOPORMEDIODEDOSÓNDI
CES%LPRIMEROSEUTILIZAPARAINDICARELRENGLØN YELSEGUNDOPARASE×ALARLACOLUMNA
5NARREGLOBIDIMENSIONALTAMBIÏNSEPUEDEDElNIRCOMOUNARREGLODEARREGLOS%NLA
lGURASEPRESENTAUNARREGLODETIPOBIDIMENSIONAL
%LARREGLO!-. TIENE-RENGLONESY.COLUMNAS5NELEMENTO!;) *=SELO
CALIZAENELRENGLØN) YENLACOLUMNA*)NTERNAMENTEENMEMORIASERESERVAN-.
POSICIONESCONSECUTIVASPARAALMACENARTODOSLOSELEMENTOSDELARREGLO

 $ECLARACIØNDEARREGLOSBIDIMENSIONALES
,OSARREGLOSBIDIMENSIONALESSEDECLARANCUANDOSEESPECIlCANELNÞMERODERENGLONES
YELNÞMERODECOLUMNAS JUNTOCONELTIPODEDATODELOSCOMPONENTES

ID?ARREGLO!22%',/;LÓMINFRLÓMSUPR LÓMINFCLÓMSUPC=$%TIPO

#ON LÓMINFR Y LÓMSUPR SE DECLARA EL TIPO DE DATO DEL ÓNDICE DE LOS RENGLONES Y
CUÈNTOSRENGLONESTENDRÈELARREGLO!SIMISMO CONLÓMINFCYLÓMSUPCSEDECLARAELTIPO
20
>«‰ÌՏœÊ£Ê Ê Ê &4536$563"4'6/%".&/5"-&4%&%"504

&)'52!
2EPRESENTACIØNDEUN
ARREGLOBIDIMENSIONAL

DEDATODELÓNDICEDELASCOLUMNASYCUÈNTASCOLUMNASTENDRÈELARREGLO#ONTIPOSE
DECLARAELTIPODEDATOSDETODOSLOSCOMPONENTESDELARREGLO
%LNÞMEROTOTALDECOMPONENTES.4# DEUNARREGLOBIDIMENSIONALESTÈDETERMI
NADOPORLAEXPRESIØN


.4#LÓMSUPRLÓMINFR
LÓMSUPCLÓMINFC &ØRMULA

!LIGUALQUEENELCASODELOSARREGLOSUNIDIMENSIONALES LOSÓNDICESPUEDENSER
CUALQUIERTIPODEDATOORDINALESCALAR ENTERO CARÈCTER MIENTRASQUELOSCOMPONENTES
PUEDENSERDECUALQUIERTIPOREALES ENTEROS CADENASDECARACTERES ETC !CONTINUA
CIØNSEANALIZANALGUNOSEJEMPLOSDEARREGLOSBIDIMENSIONALES

%JEMPLO 3EA-!42):UNARREGLOBIDIMENSIONALDENÞMEROSREALESCONÓNDICESENTEROS3UREPRE
SENTACIØNSEMUESTRAENLAlGURA

&)'52!
 "33&(-04#*%*.&/4*0/"-&4 21

-!42):!22%',/; =$%REALES

◗ .4#
 

◗ #ADACOMPONENTEDE-!42):SERÈUNNÞMEROREAL0ARAHACERREFERENCIAACADAUNO
DEELLOSSEUSARÈNDOSÓNDICESYELNOMBREDELAVARIABLETIPOARREGLO-!42):;I J=

$ONDE≤I≤
≤J≤

%JEMPLO 3EA#/34/3UNARREGLOBIDIMENSIONALDENÞMEROSREALESCONÓNDICESDETIPOESCALAR
3UREPRESENTACIØNSEMUESTRAENLAlGURA

MESESENE FEB MAR ABR MAY JUN JUL AGO SET OCT NOV DIC
DEPARTAMENTOSDULCES CONSERVAS BEBIDAS

#/34/3!22%',/;MESES DEPARTAMENTOS=$%REALES

◗ .4#ORDDIC ORDENE 
ORDBEBIDAS ORDDULCES 
 
  


◗ #ADACOMPONENTEDE#/34/3SERÈUNREAL0ARAHACERREFERENCIAACADAUNODE
ELLOSUSAREMOSDOSÓNDICESYELNOMBREDELAVARIABLETIPOARREGLO#/34/3;I J=

$ONDEENE≤I≤DIC
DULCES≤J≤BEBIDAS

%JEMPLO 3EA-!4UNARREGLOBIDIMENSIONALDECADENASDECARACTERESCONÓNDICESPARALOSREN
GLONESDETIPOCARÈCTERYPARALASCOLUMNASDETIPOENTERO3UREPRESENTACIØNSEMUESTRA
ENLAlGURA

-!4!22%',/;@A@Z =$%CADENA DE CARACTERES

&)'52!
22
>«‰ÌՏœÊ£Ê Ê Ê &4536$563"4'6/%".&/5"-&4%&%"504

&)'52!

◗ .4#ORD@Z ORD@A 
 
 
   


◗ #ADACOMPONENTEDE-!4SERÈUNVALORDETIPOCADENADECARACTERES0ARAHACER
REFERENCIAACADAUNODEELLOS SEUSARÈNDOSÓNDICESYELNOMBREDELAVARIABLETIPO
ARREGLO-!4;I J=
$ONDE@A≤I≤@Z
≤J≤

%JEMPLO 3EA,%42!3UNARREGLOBIDIMENSIONALDECARACTERESCONÓNDICESENTEROS3UREPRESEN
TACIØNSEMUESTRAENLAlGURA

,%42!3!22%',/; =$%CARACTERES

◗ .4#n 
n  

◗ #ADACOMPONENTEDE ,%42!3SERÈUN VALOR TIPOCARÈCTER 0ARAHACERREFERENCIA
ACADAUNODEELLOS SEUSARÈNDOSÓNDICESYELNOMBREDELAVARIABLETIPOARREGLO
,%42!3;I J=
$ONDE≤I≤
≤J≤

&)'52!
 "33&(-04#*%*.&/4*0/"-&4 23

 /PERACIONESCONARREGLOSBIDIMENSIONALES
,ASOPERACIONESQUESEPUEDENREALIZARCONARREGLOSBIDIMENSIONALESSON
◗ ,ECTURA%SCRITURA
◗ !SIGNACIØN
◗ !CTUALIZACIØN)NSERCIØN
%LIMINACIØN
-ODIlCACIØN
◗ /RDENACIØN
◗ "ÞSQUEDA

,OSARREGLOSBIDIMENSIONALESSECONSIDERANUNAGENERALIZACIØNDELOSUNIDIMEN
SIONALES POR LO QUE SE PRESENTARÈ UNA REVISIØN RÈPIDA DE ALGUNAS DE LAS OPERACIONES
MENCIONADAS0ARAILUSTRARLASSEUTILIZARÈNLOSEJEMPLOSANTERIORES

,ECTURA
#UANDOSEPRESENTØLAOPERACIØNDELECTURAENARREGLOSUNIDIMENSIONALES SEMENCIONØ
QUECONLAAYUDADEUNCICLOSEIBANLEYENDOYASIGNANDOVALORESACADAUNODELOSCOM
PONENTES,OMISMOSUCEDECONLOSARREGLOSBIDIMENSIONALES3INEMBARGO COMOSUS
ELEMENTOSDEBENINDICARSEPORMEDIODEDOSÓNDICES NORMALMENTESEUSANDOSCICLOS
PARALOGRARLALECTURADEELEMENTOSCONSECUTIVOS
3UPONGAMOS POREJEMPLO QUESEDESEALEERTODOSLOSELEMENTOSDELARREGLOBIDI
MENSIONAL-!42):,OSPASOSASEGUIRSON
2EPETIRCON)DESDEHASTA
2EPETIRCON*DESDEHASTA
,EER-!42):;) *=
!LVARIARLOSÓNDICESDE)Y* CADAELEMENTODE-!42):QUESELEESEASIGNAAL
LUGARQUELECORRESPONDEENELARREGLO SEGÞNLAPOSICIØNDELOSÓNDICES)Y*

0ARA)Y* SELEEELELEMENTODELRENGLØNYCOLUMNA
)Y* SELEEELELEMENTODELRENGLØNYCOLUMNA

)Y* SELEEELELEMENTODELRENGLØNYCOLUMNA

%SCRITURA
,AESCRITURADEUNARREGLOBIDIMENSIONALTAMBIÏNSELLEVAACABOELEMENTOTRASELEMEN
TO3UPONGAMOSQUESEQUIERAESCRIBIRTODOSLOSCOMPONENTESDELARREGLO-!42):,OS
PASOSASEGUIRSON
2EPETIRCON)DESDEHASTA
2EPETIRCON*DESDEHASTA
%SCRIBIR-!42):;) *=
!LVARIARLOSVALORESDE)Y*SEESCRIBEELELEMENTODE-!42):CORRESPONDIENTEA
LAPOSICIØNINDICADAJUSTAMENTEPORLOSÓNDICES)Y*
24
>«‰ÌՏœÊ£Ê Ê Ê &4536$563"4'6/%".&/5"-&4%&%"504

0ARA)Y* SEESCRIBEELELEMENTODELRENGLØNYCOLUMNA
)Y* SEESCRIBEELELEMENTODELRENGLØNYCOLUMNA

)Y* SEESCRIBEELELEMENTODELRENGLØNYCOLUMNA

!SIGNACIØN
,AASIGNACIØNDEVALORESAUNARREGLOBIDIMENSIONALSEREALIZADEDIFERENTESFORMAS,A
FORMADEPENDEDELNÞMERODECOMPONENTESINVOLUCRADOS/BSERVEMOSACONTINUACIØN
DOSALTERNATIVASDIFERENTES

 3EASIGNANVALORESATODOSLOSELEMENTOSDELARREGLOENESTECASOSENECESITARÈNDOS
CICLOSPARARECORRERTODOELARREGLO
2EPETIRCON)DESDEHASTA
2EPETIRCON*DESDEHASTA
-!42):;) *=←
!LVARIARLOSVALORESDE)Y*SEASIGNAELALELEMENTODE-!42):CORRESPONDIENTE
ALAPOSICIØNINDICADAPORLOSÓNDICES)Y*

0ARA)Y* SEASIGNAELVALORALELEMENTODELRENGLØNYCOLUMNA
)Y* SEASIGNAELVALORALELEMENTODELRENGLØNYCOLUMNA

)Y* SEASIGNAELVALORALELEMENTODELRENGLØNYCOLUMNA

%NLAlGURASEPRESENTACØMOQUEDAELARREGLOBIDIMENSIONALCUANDOSEASIGNA
ELVALORACADAUNADELASCASILLAS

 3EASIGNAUNVALORAUNELEMENTOENPARTICULARDELARREGLOENESTECASOLAASIGNA
CIØNESDIRECTAYSEDEBEINDICARELRENGLØNYLACOLUMNADELCOMPONENTEINVOLUCRA
DO0OREJEMPLO PARAASIGNARELVALORALELEMENTODELRENGLØNYCOLUMNASE
PROCEDEDELASIGUIENTEMANERA

&)'52!
!SIGNACIØNDEARREGLOS
 "33&(-04%&.Ç4%&%04%*.&/4*0/&4 25

&)'52!
!SIGNACIØNDEARREGLOS

-!42):; =←

%LARREGLOSEMUESTRAENLAlGURA
%SIMPORTANTEACLARARQUELASOPERACIONESDELECTURA ESCRITURAYASIGNACIØNATODOS
LOSELEMENTOSDEUNARREGLOBIDIMENSIONALSEPUEDENHACERTANTOPORRENGLONESCOMO
PORCOLUMNAS

 !22%',/3$%-­3$%$/3$)-%.3)/.%3
5NARREGLOMULTIDIMENSIONALˆ.DIMENSIONESˆSEDElNECOMOUNACOLECCIØNlNITA
HOMOGÏNEAYORDENADADE+§+§§+.ELEMENTOS0ARAHACERREFERENCIAACADA
COMPONENTEDEUNARREGLODE.DIMENSIONES SEUSARÈN.ÓNDICES UNOPARACADADIMEN
SIØN
%LARREGLO!DE.DIMENSIONESSEDECLARADELASIGUIENTEMANERA

!!22%',/;,),3 ,),3  ,).,3.=$%TIPO

%LTOTALDECOMPONENTESDE!SERÈ


.4#,3n,) 
,3,) 

,3. ,).  &ØRMULA

0OREJEMPLO ELARREGLOTRIDIMENSIONAL!;L  =TENDRÈ

 
 
  

ELEMENTOS

'RÈlCAMENTEELARREGLO!SEPUEDEREPRESENTARCOMOSEMUESTRAENLASlGURAS
Y
!CONTINUACIØNSEPRESENTAUNEJEMPLODEUNARREGLOTRIDIMENSIONAL
26
>«‰ÌՏœÊ£Ê Ê Ê &4536$563"4'6/%".&/5"-&4%&%"504

&)'52!
2EPRESENTACIØNDEARREGLOS
DEMÉSDEDOS
DIMENSIONES

%JEMPLO 5NAEMPRESALLEVAUNREGISTRODELTOTALPRODUCIDOMENSUALMENTEPORCADADEPARTAMEN
TO,AEMPRESACONSTADECINCODEPARTAMENTOSYLAINFORMACIØNSEHAREGISTRADOALOLAR
GODELOSÞLTIMOSCUATROA×OS0ARAALMACENARLOSDATOSDELAPRODUCCIØNDELAEMPRESA
SEREQUIEREENTONCESDEUNARREGLODETRESDIMENSIONES§§ELEMENTOS
COMOELDELAlGURA
!!22%',/;  =$%REALES
3UPONGAMOSQUELAEMPRESANECESITAOBTENERLASIGUIENTEINFORMACIØN

A %L TOTAL MENSUAL DE CADA DEPARTAMENTO DURANTE EL SEGUNDO A×O 0ARA OBTENER LA
INFORMACIØNSOLICITADASEDEBENREALIZARLOSSIGUIENTESPASOS

2EPETIRCON)DESDEHASTA
2EPETIRCON*DESDEHASTA
%SCRIBIR!;) * =

/BSERVE QUE PARA ESTE CASO SE ASIGNA LA CONSTANTE  AL TERCER ÓNDICE ˆEL DE LOS
A×OSˆYSEHACEVARIARALOSOTROSDOSÓNDICES$EESTAMANERASEESCRIBIRÈNLASPRODUC
CIONESMENSUALES

B %LTOTALDELAPRODUCCIØNDURANTEELPRIMERA×O0ARAOBTENERLAINFORMACIØNSOLICI
TADASEDEBENREALIZARLOSSIGUIENTESPASOS

&)'52!
2EPRESENTACIØNDEARREGLOS
DEMÉSDEDOS
DIMENSIONES
 -"$-"4&,, " 27

&)'52!

(ACER35-!←
2EPETIRCON)DESDEHASTA
2EPETIRCON*DESDEHASTA
(ACER35-!←35-! !;) * =
%SCRIBIR35-!
/BSERVEQUEESTECASOESSIMILARALANTERIOR,ADIFERENCIARADICAENQUELASCANTIDA
DESMENSUALESNOSEESCRIBIRÈN SINOQUESEACUMULARÈNOBTENIENDOELTOTALANUAL

C %LTOTALDELAPRODUCCIØNDELDEPARTAMENTOALOLARGODELÞLTIMOA×O0ARAOBTENER
LAINFORMACIØNSOLICITADASERÈNECESARIOEJECUTARLOSSIGUIENTESPASOS
(ACER35-!←
2EPETIRCON*DESDEHASTA
(ACER35-!←35-! !; * =
%SCRIBIR35-!
.OTEQUEENESTECASOSETIENENDOSÓNDICESCONSTANTES ELDEDEPARTAMENTOSYELDE
A×OS YSEHACEVARIARSOLAMENTEELÓNDICEDEMESES#ONCLUIDOELCICLOSEESCRIBIRÈEL
TOTALPRODUCIDOPORELDEPARTAMENTODURANTEELCUARTOA×O

 ,!#,!3%!22%',/

0ARAENTENDERLACLASEARREGLO SEREQUIEREPRIMEROCONOCERALGUNOSCONCEPTOSBÈSICOS
RELACIONADOSCONELPARADIGMADELAPROGRAMACIØNORIENTADAAOBJETOS0// 
5NACLASEDElNEAUNOBJETOPORMEDIODELADESCRIPCIØNDESUSDATOS CONOCIDOS
COMO ATRIBUTOS Y DE SU COMPORTAMIENTO REPRESENTADO POR MÏTODOS 3E DICE QUE LOS
ATRIBUTOSYLOSMÏTODOSSONMIEMBROSDELACLASE
5NACLASEPUEDEREPRESENTARALOSALUMNOSDEUNAESCUELA%NESTECASOLOSDATOS
SON LOS ATRIBUTOS QUE CARACTERIZAN A UN ALUMNO POR EJEMPLO NOMBRE FECHA DE NACI
MIENTO DIRECCIØN TELÏFONO ETCÏTERA MIENTRASQUEELCOMPORTAMIENTOHACEREFERENCIAA
LASOPERACIONESQUEPUEDENREALIZARSESOBREESOSDATOS POREJEMPLO CAMBIARDIRECCIØN
OTELÏFONODELALUMNO
,APROGRAMACIØNORIENTADAAOBJETOSTIENECUATROPROPIEDADES
 !BSTRACCIØN
 %NCAPSULAMIENTOUOCULTAMIENTODELAINFORMACIØN
28
>«‰ÌՏœÊ£Ê Ê Ê &4536$563"4'6/%".&/5"-&4%&%"504

 (ERENCIA
 0OLIMORlSMO

,AABSTRACCIØNPERMITECONCENTRARSEENLOSDATOSYOPERACIONESQUEDElNENAUN
CONJUNTODEOBJETOS IGNORANDOLOSELEMENTOSQUENOSONRELEVANTES,ASEGUNDAPRO
PIEDAD ENCAPSULAMIENTO IMPLICA QUE TANTO LOS ATRIBUTOS COMO LOS MÏTODOS FORMAN
UNTODOˆLACLASEˆYPUEDENOCULTARSEDELOSCLIENTESDELACLASE ALCONTROLARDEESTA
MANERAELACCESOQUESETENGAASUSINTEGRANTES0ORSUPARTE LAHERENCIAREPRESENTALA
PROPIEDADQUEPERMITECOMPARTIRATRIBUTOSYMÏTODOSENTRECLASES0ORÞLTIMO ELPOLI
MORlSMOOFRECELAFACILIDADDEQUECIERTOSMÏTODOSPUEDANADOPTARDISTINTASFORMAS
,ACLASE!RREGLOTENDRÈATRIBUTOSYMÏTODOS,OSATRIBUTOSCONSTITUIRÈNLACOLECCIØN
DEELEMENTOSYELTAMA×O,OSMÏTODOSSERÈNTODASLASOPERACIONESANALIZADASENLAS
SECCIONESPREVIASLECTURA INSERCIØN ELIMINACIØN ETCÏTERA'RÈlCAMENTELACLASE!RRE
GLOPUEDEVERSECOMOSEMUESTRAENLAlGURA
5NOBJETOESUNAINSTANCIADEUNACLASE%SDECIR ESTAÞLTIMAREPRESENTAAUNCON
JUNTODEOBJETOS AUNCONCEPTOGENERAL POREJEMPLO LOSALUMNOSDEUNAESCUELAOLOS
ARREGLOS MIENTRASQUELOSPRIMEROSSONOCURRENCIASDELACLASE#ONSIDERANDOLACLASE
!RREGLO UNEJEMPLODEOBJETOSERÈELARREGLODECALIlCACIONESDEUNGRUPODEALUMNOS
%NLOSLENGUAJESDEPROGRAMACIØNORIENTADAAOBJETOSMÈSCONOCIDOSSEUSALANO
TACIØNDEPUNTOSPARATENERACCESOALOSMIEMBROSNOPRIVADOSDEUNOBJETO
OBJETOMIEMBRO
$ENTRODEUNMÏTODODEUNACLASE LAREFERENCIAACUALQUIERADESUSOTROSMIEMBROS
NOREQUIEREELUSODEESTANOTACIØN!SUMIENDOQUELAVARIABLE#!,)&ESUNOBJETODE
LACLASE!RREGLO SEPUEDENTENERLASSIGUIENTESINSTRUCCIONES

#!,)&4AMA×O#!,)&4AMA×O
#!,)&$ATOS;=

0ARAELCASODEQUELASINSTRUCCIONESFUERANPARTEDEUNMÏTODO SEPUEDEOMITIREL
NOMBREDELOBJETOYELPUNTO YUSARDIRECTAMENTEELATRIBUTO
$ATOS;=

&)'52!
#LASE!RREGLO
 3&(*45304 29

 2%')342/3
$EACUERDOCONLOESTUDIADOENLASSECCIONESPREVIAS LOSARREGLOSSONESTRUCTURASDE
DATOSMUYÞTILESPARAALMACENARUNACOLECCIØNDEDATOS TODOSDELMISMOTIPO3INEM
BARGO ENLAPRÈCTICA AVECESSENECESITANESTRUCTURASQUEPERMITANALMACENARDATOSDE
DISTINTOSTIPOSQUESEANMANIPULADOSCOMOUNÞNICODATO0ARAILUSTRARESTEPROBLEMASE
INCLUYEELSIGUIENTEEJEMPLO

%JEMPLO 5NACOMPA×ÓATIENEPORCADAEMPLEADOLASIGUIENTEINFORMACIØN

◗ .OMBRE CADENADECARACTERES
◗ $IRECCIØN CADENADECARACTERES
◗ %DAD ENTERO
◗ 3EXO CARÈCTER
◗ !NTIGàEDAD ENTERO

3ISEQUISIERAALMACENARESTOSDATOSNOSERÓAPOSIBLEUSARUNARREGLO YAQUESUS
COMPONENTES DEBEN SER TODOS DEL MISMO TIPO ,A ESTRUCTURA QUE PUEDE GUARDAR ESTA
INFORMACIØNDEMANERAEFECTIVASECONOCECOMOREGISTROOESTRUCTURA
5NREGISTROSEDElNECOMOUNACOLECCIØNlNITAYHETEROGÏNEADEELEMENTOS4AM
BIÏNREPRESENTAUNTIPODEDATOESTRUCTURADO ENELQUECADAUNODESUSCOMPONENTESSE
DENOMINACAMPO,OSCAMPOSDEUNREGISTROPUEDENSERTODOSDEDIFERENTESTIPOSDE
DATOS0ORTANTO TAMBIÏNPODRÈNSERREGISTROSOARREGLOS#ADACAMPOSEIDENTIlCACON
UNNOMBREÞNICO ELIDENTIlCADORDECAMPO/TRADIFERENCIAIMPORTANTECONLOSARREGLOS
ESQUENOESNECESARIOESTABLECERUNORDENENTRELOSCAMPOS

 $ECLARACIØNDEREGISTROS
#OMONOESLAINTENCIØNDELOSAUTORESSEGUIRLASINTAXISDEALGÞNLENGUAJEDEPROGRAMA
CIØNENPARTICULAR UNREGISTROSEDECLARADELASIGUIENTEFORMA

IDENT?REGISTRO2%')342/
ID?CAMPOLTIPOL
ID?CAMPOTIPO

ID?CAMPONTIPON
[&INDELADECLARACIØNDELREGISTRO]

$ONDEIDENT?REGISTROESELNOMBREDELDATOTIPOREGISTRO
ID?CAMPOIESELNOMBREDELCAMPOI
ID?CAMPOI≠ID?CAMPOJ∀I J  NEI≠J
TIPOIESELTIPODELCAMPOI

,OSQUESIGUENSONEJEMPLOSDEDECLARACIONESDEREGISTROS CONSUCORRESPONDIENTE
REPRESENTACIØNGRÈlCA
30
>«‰ÌՏœÊ£Ê Ê Ê &4536$563"4'6/%".&/5"-&4%&%"504

%JEMPLO 3EA &%#(! UN REGISTRO FORMADO POR TRES CAMPOS NUMÏRICOS 3U REPRESENTACIØN SE
MUESTRAENLAlGURA

&%#(!2%')342/
DÓA
MES
A×O
[&INDELADECLARACIØNDELREGISTRO&%#(!]

%JEMPLO 3EA$/-)#),)/UNREGISTROFORMADOPORCUATROCAMPOS UNODEELLOSESNUMÏRICOYLOS


TRESRESTANTESDELTIPOCADENADECARACTERES3UREPRESENTACIØNSEMUESTRAENLAlGURA

$/-)#),)/2%')342/
CALLECADENA?DE?CARACTERES
NÞMEROENTERO
CIUDADCADENA?DE?CARACTERES
PAÓSCADENA?DE?CARACTERES
[&INDELADECLARACIØNDELREGISTRO$/-)#),)/]

%JEMPLO 3EA#,)%.4%UNREGISTROFORMADOPORCUATROCAMPOS DOSDELTIPOCADENADECARAC


TERES UNODELTIPOREALYELOTRODELTIPOBOOLEANO3UREPRESENTACIØNSEMUESTRAENLA
lGURA

#,)%.4%2%')342/
NOMBRECADENA?DE?CARACTERES
TELÏFONOCADENA?DE?CARACTERES
SALDOREAL
MOROSOBOOLEANO
[&INDELADECLARACIØNDELREGISTRO#,)%.4%]

 !CCESOALOSCAMPOSDEUNREGISTRO
#OMOUNREGISTROESUNTIPODEDATOESTRUCTURADO NOSEPUEDETENERACCESOAÏLDIREC
TAMENTECOMOUNÞNICODATO SINOQUESEDEBEESPECIlCARELELEMENTOˆCAMPOˆDEL

&)'52!
 3&(*45304 31

&)'52!

REGISTROQUENOSINTERESA0ARAELLO ENLAMAYORÓADELOSLENGUAJESSESIGUELASIGUIENTE
SINTAXIS

VARIABLE?REGISTROID?CAMPO

$ONDE VARIABLE?REGISTROESUNAVARIABLEDETIPOREGISTRO
ID?CAMPOESELIDENTIlCADORDELCAMPODESEADO

%SDECIR SEUSARÈNDOSIDENTIlCADORESPARAHACERREFERENCIAAUNELEMENTOELNOM
BREDELAVARIABLETIPOREGISTROYELNOMBREDELCAMPO SEPARADOSENTRESÓPORUNPUNTO
$EACUERDOCONLOSEJEMPLOSDEREGISTROS Y SEPRESENTANACONTINUA
CIØNDIFERENTESCASOSQUEILUSTRANELACCESOALOSCAMPOSDEUNREGISTRO

A 0ARALEERLOSTRESCAMPOSDEUNAVARIABLE&DETIPO&%#(!
,EER&DÓA &MES &A×O

B 0ARAESCRIBIRLOSCUATROCAMPOSDEUNAVARIABLE$DETIPO$/-)#),)/
%SCRIBIR$CALLE $NÞMERO $CIUDAD $PAÓS

C 0ARAASIGNARVALORESAALGUNOSDELOSCAMPOSDEUNAVARIABLE#DETIPO#,)%.4%

#SALDO←#SALDO CANT
#MOROSO←6%2$!$%2/
#NOMBRE←h*UAN0ÏREZv

&)'52!
32
>«‰ÌՏœÊ£Ê Ê Ê &4536$563"4'6/%".&/5"-&4%&%"504

%NGENERAL COMOSEMENCIONØANTERIORMENTE ELORDENENELQUESEMANEJANLOS


CAMPOSNOESIMPORTANTE%SDECIR SEPODRÓANHABERLEÓDOLOSCAMPOSDELAVARIABLE
&DELASIGUIENTEMANERA

,EER&A×O &DÓA &MES

3ØLOSEDEBETENERENCUENTAQUELOSDATOSPROPORCIONADOSPORELUSUARIOOASIGNA
DOSENUNALGORITMOSECORRESPONDANENTIPOCONLOSCAMPOS

 $IFERENCIASENTREREGISTROSYARREGLOS
,ASDOSDIFERENCIASSUSTANCIALESEXISTENTESENTREREGISTROSYARREGLOSSON

 5N ARREGLO PUEDE ALMACENAR . ELEMENTOS DEL MISMO TIPO ˆESTRUCTURA DE DATOS
HOMOGÏNEAˆ MIENTRASQUEUNREGISTROPUEDEALMACENAR.ELEMENTOSDEDIFERENTES
TIPOSDEDATOSˆESTRUCTURADEDATOSHETEROGÏNEAˆ
 !LOSCOMPONENTESDEUNARREGLOSETIENEACCESOPORMEDIODEÓNDICESQUEINDICAN
LAPOSICIØNDELELEMENTOCORRESPONDIENTEENELARREGLO MIENTRASQUEALOSCOMPO
NENTESDEUNREGISTRO LOSCAMPOS SETIENEACCESOPORMEDIODESUNOMBRE QUEES
ÞNICO

 #OMBINACIONESENTREARREGLOSYREGISTROS
,OSREGISTROSTIENENVARIOSCAMPOS#ADAUNODEELLOSPUEDESERDECUALQUIERTIPODE
DATOS SIMPLESOESTRUCTURADOS3INEMBARGO LOSCOMPONENTESDELNIVELMÈSBAJODEUN
TIPOESTRUCTURADOSIEMPREDEBENSERTIPOSSIMPLESDEDATOS
$EACUERDOCONESTACONDICIØN SEINlEREQUEUNCAMPODEUNREGISTROPUEDESER
OTROREGISTROOBIENUNARREGLO0OROTRAPARTE LOSCOMPONENTESDEUNARREGLOTAMBIÏN
PUEDEN SER REGISTROS %STOS CASOS ENUNCIADOS ADEMÈS SE PUEDEN PRESENTAR EN FORMA
ANIDADA
 3&(*45304 33

!RREGLOSDEREGISTROS
%NESTECASO CADAELEMENTODELARREGLOESUNREGISTRO4ODOSLOSCOMPONENTESDELARRE
GLOTIENENQUESERDELMISMOTIPODEREGISTRO YAQUEESUNAESTRUCTURADEDATOSHOMO
GÏNEA!CONTINUACIØNPRESENTAMOSUNEJEMPLO

%JEMPLO 5NAEMPRESAREGISTRAPARACADAUNODESUSCLIENTESLOSSIGUIENTESDATOS

◗ .OMBRE CADENADECARACTERES
◗ 4ELÏFONO CADENADECARACTERES
◗ 3ALDO REAL
◗ -OROSO BOOLEANO

3ILAEMPRESATIENE.CLIENTESNECESITARÈUNARREGLODE.ELEMENTOS ENELCUALCADA
UNODESUSCOMPONENTESESUNREGISTROCOMOELDESCRITOENELEJEMPLO,AlGURA
MUESTRALAESTRUCTURADEDATOSCORRECTAPARARESOLVERESTEPROBLEMA

!!22%',/;=$%#,)%.4%

#ADAELEMENTODE!SERÈUNDATOTIPO#,)%.4%0ORTANTO SISEQUIERE POREJEM


PLO LEERELARREGLO! DEBELEERSEPORCADACOMPONENTECADAUNODELOSCAMPOSQUE
FORMANALREGISTRO

2EPETIRCON)DESDEHASTA.
,EER!;)=NOMBRE
,EER!;)=TELÏFONO
,EER!;)=SALDO
,EER!;)=MOROSO

#ON !;)= SE HACE REFERENCIA AL ELEMENTO ) DEL ARREGLO ! QUE ES UN REGISTRO CON
ID?CAMPOSEESPECIlCACUÈLDELOSCAMPOSDELREGISTROSELEERÈ$EFORMASIMILARSE
PROCEDEPARAESCRITURA ASIGNACIØN ETCÏTERA

&)'52!
!RREGLODEREGISTROS
34
>«‰ÌՏœÊ£Ê Ê Ê &4536$563"4'6/%".&/5"-&4%&%"504

2EGISTROSANIDADOS
%NLOSREGISTROSANIDADOS ALMENOSUNCAMPODELREGISTROESDELTIPOREGISTRO/BSERVE
MOSACONTINUACIØNELSIGUIENTEEJEMPLO

%JEMPLO 5NAEMPRESAREGISTRAPARACADAUNODESUSACREEDORESLOSSIGUIENTESDATOS

◗ .OMBRECADENADECARACTERES
◗ $IRECCIØN
s #ALLECADENADECARACTERES
s .ÞMEROENTERO
s #IUDADCADENADECARACTERES
s 0AÓSCADENADECARACTERES

◗ 3ALDOREAL

0ARADElNIRELTIPODEDATODELCAMPODIRECCIØN ESNECESARIODECLARARPREVIAMENTE
UNREGISTROFORMADOPORLOSCUATROCOMPONENTESCALLE NÞMERO CIUDADYPAÓSQUESE
ESPECIlCAN3EUSARÈELREGISTRODELEJEMPLO PRESENTADOANTERIORMENTE PARARESOL
VERESTECASO
!#2%%$/22%')342/
NOMBRECADENA?DE?CARACTERES
DIRECCIØN$/-)#),)/
SALDOREAL
[&INDELADECLARACIØNDELREGISTRO!#2%%$/2]
,AlGURAMUESTRALAESTRUCTURADEDATOSREQUERIDA
%NESTECASO ELREGISTROTIENEUNCAMPOˆDIRECCIØNˆQUEESDELTIPODEDATOS$/
-)#),)/ ELCUALESUNREGISTRODECUATROCAMPOS0ARATENERACCESOALOSCAMPOSQUE A
SUVEZ SONREGISTROS ENLAMAYORÓADELOSLENGUAJESSESIGUELASIGUIENTESINTAXIS
VARIABLE?REGISTROID?CAMPOID?CAMPON
$ONDE VARIABLE?REGISTROESUNAVARIABLEDETIPOREGISTRO
ID?CAMPOESELIDENTIlCADORDEUNCAMPODELREGISTROELCAMPOESDE
TIPOREGISTRO
ID?CAMPONREPRESENTAELIDENTIlCADORDEUNCAMPO

&)'52!
2EGISTROSANIDADOS
 3&(*45304 35

0ARATENERACCESOALOSCAMPOSDELAVARIABLE!#DETIPO!#2%%$/2 LASECUENCIA
ASEGUIRESLASIGUIENTE

!#NOMBRE
!#DIRECCIØNCALLE
!#DIRECCIØNNÞMERO
!#DIRECCIØNCIUDAD
!#DIRECCIØNPAÓS
!#SALDO

2EGISTROSCONARREGLOS
,OSREGISTROSCONARREGLOSTIENEN PORLOMENOS UNCAMPOQUEESDETIPOARREGLO!NALI
CECUIDADOSAMENTEELSIGUIENTEEJEMPLO

%JEMPLO 5NAEMPRESAREGISTRAPARACADAUNODESUSCLIENTESLOSSIGUIENTESDATOS

◗ .OMBRE CADENADECARACTERES
◗ 4ELÏFONO CADENADECARACTERES
◗ 3ALDOMENSUALDELÞLTIMOA×O ARREGLODEREALES
◗ -OROSO BOOLEANO

,ADElNICIØNDELREGISTROCORRESPONDIENTEES

#,)%.4%2%')342/
NOMBRECADENA?DE?CARACTERES
TELÏFONOCADENA?DE?CARACTERES
SALDOS!22%',/;=$%REALES
MOROSOBOOLEANO
[&INDELADECLARACIØNDELREGISTRO#,)%.4%]

,AlGURAMUESTRALAESTRUCTURAREQUERIDA
0ARAESTECASOELREGISTROTIENEUNCAMPO SALDOS QUEESUNARREGLOUNIDIMENSIONAL
DEELEMENTOSREALES#ONELPROPØSITODEHACERREFERENCIAAESECAMPO SEPROCEDEDE
LASIGUIENTEMANERA

&)'52!
2EGISTROSCONARREGLOS
36
>«‰ÌՏœÊ£Ê Ê Ê &4536$563"4'6/%".&/5"-&4%&%"504

VARIABLE?REGISTROID?CAMPO;ÓNDICE=

0ARATENERACCESOALOSCAMPOSDELAVARIABLE#,)DETIPO#,)%.4%SEDEBESEGUIR
LASECUENCIA
#,)NOMBRE
#,)TELÏFONO
2EPETIRCON)DESDEHASTA
#,)SALDOS;)=
#,)MOROSO
,AS TRES POSIBLES COMBINACIONES ANALIZADAS AQUÓ ARREGLOS DE REGISTROS REGISTROS
ANIDADOSYREGISTROSCONARREGLOS PUEDENPRESENTARSEDEMANERASIMULTÈNEAYENDIFE
RENTESNIVELESENUNAMISMAESTRUCTURADEDATOS%NESTOSCASOS SERECOMIENDAQUELA
ESTRUCTURARESULTANTESEACOMPRENSIBLEYQUENOSECOMPLIQUEDEMASIADOELACCESOALOS
DATOSINDIVIDUALES

 !RREGLOSPARALELOS
0ORARREGLOSPARALELOSSEENTIENDEDOSOMÈSARREGLOSCUYOSELEMENTOSSECORRESPON
DEN%SDECIR LOSCOMPONENTESQUEOCUPANUNAMISMAPOSICIØNENDIFERENTESARREGLOS
TIENENUNAESTRECHARELACIØNSEMÈNTICA0ARAILUSTRARESTAIDEA ACONTINUACIØNSEPRESEN
TARÈUNCASOPRÈCTICOYSUSOLUCIØN MEDIANTEARREGLOSPARALELOS
3UPONGAMOSQUESECONOCEELNOMBREDELALUMNOYLACALIlCACIØNOBTENIDAPOR
ÏSTEENUNEXAMENQUEFUEAPLICADOAUNGRUPODEALUMNOS3ISEQUISIERAUSARESTOS
DATOSPARAGENERARINFORMACIØN POREJEMPLO PROMEDIODELGRUPO CALIlCACIØNMÈSALTA
NOMBREDELOSALUMNOSCONCALIlCACIØNINFERIORALPROMEDIO ETC SETENDRÓANDOSALTER
NATIVASPRINCIPALESENELDISE×ODELASOLUCIØN

5SODEARREGLOSPARALELOS
3ISEUTILIZANARREGLOSPARALELOSPARARESOLVERESTEPROBLEMA SEREQUIEREDEDOSARREGLOS
UNIDIMENSIONALESENUNOSEALMACENARÈELNOMBREDELOSALUMNOS YENOTROLACALIlCA
CIØNOBTENIDAPORÏSTEENELEXAMEN%SDECIR ACADAELEMENTODELARREGLO./-"2%3
LE CORRESPONDERÈ ENTONCES UNO DEL ARREGLO #!,)&)#!#)».!SÓ SI SE QUIERE HACER
REFERENCIAALACALIlCACIØNDE./-"2%3;)= SEUTILIZARÈ#!,)&)#!#)».;)=/BSERVE
LAlGURA

,ØPEZ OBTUVOUNACALIlCACIØNDE
-ARTÓNEZ OBTUVOUNACALIlCACIØNDE
4ORRES OBTUVOUNACALIlCACIØNDE
 
6IASA OBTUVOUNACALIlCACIØNDE

!CONTINUACIØNSEINCLUYEUNALGORITMOQUECALCULAELPROMEDIODELGRUPOEIMPRI
MEELNOMBREDELOSALUMNOSQUETENGANCALIlCACIØNMENORALPROMEDIO
 3&(*45304 37

&)'52!
!RREGLOSPARALELOS

!LGORITMO !RREGLOS?PARALELOS

!RREGLOS?PARALELOS

[%STE ALGORITMO CALCULA EL PROMEDIO DEL GRUPO E IMPRIME EL NOMBRE DE LOS ALUMNOS CON
CALIlCACIØNMENORALPROMEDIO]
[./-"2%Y#!,)&)#!#)».SONVARIABLESDETIPOARREGLO)ESUNAVARIABLEDETIPOENTERO
02/-Y!#SONVARIABLESDETIPOREAL]

 (ACER!#←
 2EPETIRCON)DESDEHASTA
,EER./-"2%;)=Y#!,)&)#!#)».;)=
(ACER!#←!# #!,)&)#!#)».;)=
 [&INDELCICLODELPASO]
[3ECALCULAELPROMEDIODELGRUPO]
 (ACER02/-←!#
 %SCRIBIRh%LPROMEDIODELGRUPOESv02/-
["ÞSQUEDAEIMPRESIØNDELOSNOMBRESDELOSALUMNOSCONCALIlCACIØNINFERIORAL
PROMEDIO]
 2EPETIRCON)DESDEHASTA
 3I#!,)&)#!#)».;)=02/- ENTONCES
%SCRIBIR./-"2%;)=
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]

5SODEARREGLOSDEREGISTROS
/TRASOLUCIØNALPROBLEMASERÓAUTILIZARUNARREGLODEREGISTROS%NESTECASO CADACOM
PONENTEDELARREGLO!,5-./ESUNREGISTROQUETIENEDOSCAMPOS./-"2%Y#!
,)&/BSERVELAlGURA
38
>«‰ÌՏœÊ£Ê Ê Ê &4536$563"4'6/%".&/5"-&4%&%"504

&)'52!

!SÓ !,5-./3;)=./-"2%HARÈREFERENCIAALNOMBREDELALUMNO)
!,5-./3;)=#!,)&HARÈREFERENCIAALACALIlCACIØNOBTENIDAPOREL
ALUMNO)

%LSIGUIENTEALGORITMOPRESENTALASOLUCIØNALPROBLEMAANTERIORMEDIANTEUNARRE
GLODEREGISTROS

!LGORITMO !RREGLO?DE?REGISTROS

ARREGLO?DE?REGISTROS

[%STE ALGORITMO CALCULA EL PROMEDIO DEL GRUPO E IMPRIME EL NOMBRE DE LOS ALUMNOS CON
CALIlCACIØNMENORALPROMEDIO]
[!,5-./3 ES UN ARREGLO DE REGISTROS ) ES UNA VARIABLE DE TIPO ENTERO !# Y 02/- SON
VARIABLESDETIPOREAL]

 (ACER!#←
 2EPETIRCON)DESDEHASTA
,EER!,5-./3;)=./-"2%Y!,5-./3;)=#!,)&
(ACER!#←!# !,5-./3;)=#!,)&
 [&INDELCICLODELPASO]
 (ACER02/-←!#
 %SCRIBIRh%LPROMEDIODELGRUPOESv02/-
["ÞSQUEDAEIMPRESIØNDELOSALUMNOSCONCALIlCACIØNINFERIORALPROMEDIO]
 2EPETIRCON)DESDEHASTA
 3I!,5-./3;)=#!,)&02/- ENTONCES
%SCRIBIR!,5-./3;)=./-"2%
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
 3&(*45304:$-"4&4 39

 2%')342/39#,!3%3

,OSREGISTROSSONLASESTRUCTURASDEDATOSQUEMÈSSEPARECENALCONCEPTODECLASEPRE
SENTADO%NLASECCIØNANTERIORSEDIJOQUEUNREGISTROALMACENALASPRINCIPALESCARACTE
RÓSTICASDEUNCONJUNTODEOBJETOS#ADAUNADEESASCARACTERÓSTICASCONSTITUYEUNCAMPO
DELREGISTRO!LESTABLECERLARELACIØNCONLASCLASES LOSCAMPOSREPRESENTANLOSATRIBU
TOS0ORTANTO SØLOSEAGREGANLOSMÏTODOSˆOPERACIONESQUEPUEDENAPLICARSESOBRE
LOSCAMPOSˆPARACOMPLETARLADElNICIØNDEUNACLASE
,ACLASE2EGISTROCOMOTALNOSEDECLARA PORQUELOQUESEREQUIEREESUNACLASEPOR
CADAREGISTRO%SDECIR SISEDESEAREPRESENTARALOSCLIENTESDEUNAEMPRESA SEGÞNEL
EJEMPLOVISTOENLASECCIØNANTERIOR DESDEELPUNTODEVISTADELAPROGRAMACIØNORIEN
TADAAOBJETOS SEDEBERÈDElNIRUNACLASEQUECONTENDRÈTANTOLOSATRIBUTOSˆLOQUEEN
REGISTROSSELLAMANCAMPOSˆCOMOTODASLASOPERACIONESVÈLIDASPARAUNCLIENTE POR
EJEMPLO ACTUALIZAR EL SALDO CAMBIAR EL NÞMERO TELEFØNICO ETCÏTERA 'RÈlCAMENTE LA
CLASE#LIENTEPUEDEVERSECOMOSEMUESTRAENLAlGURA
5NOBJETODELACLASE#LIENTEESUNAINSTANCIADELAMISMA%SDECIR ESTÈREPRESEN
TANDOAUNCLIENTECONUNNOMBRE UNNÞMEROTELEFØNICOYUNSALDOESPECÓlCO
,ANOTACIØNDEPUNTOSUTILIZADAENLOSREGISTROSˆVARIABLE?REGISTROCAMPOˆ
ESSIMILARALAUSADAENLOSLENGUAJESORIENTADOSAOBJETOSPARATENERACCESOALOSMIEM
BROS NO PRIVADOS DE UN OBJETO ˆOBJETOMIEMBROˆ!L ASUMIR QUE LA VARIABLE
#,)ESUNOBJETODELACLASE#LIENTEPREVIAMENTEDElNIDA SEPUEDETENERACCESOALOS
MIEMBROSNOPRIVADOSDEDICHOOBJETOPORMEDIODELASINSTRUCCIONES

A #,)!CTUALIZAR3ALDO.UEVO3ALDO
%NESTEEJEMPLOSEESTÈINVOCANDOALMÏTODOQUEACTUALIZAELSALDODELCLIENTE%L
MÏTODOTIENEUNARGUMENTOQUEINDICAELNUEVOVALORQUESEASIGNARÈALATRIBUTO
3ALDO

B #,)#AMBIA4ELÏFONO.UEVO4EL
%NESTEEJEMPLOSEESTÈINVOCANDOALMÏTODOQUEACTUALIZAELNÞMEROTELEFØNICODEL
CLIENTE%LMÏTODOTIENEUNARGUMENTOQUEINDICAELNUEVOVALORQUESEASIGNARÈAL
ATRIBUTO4ELÏFONO

&)'52! #LIENTE
#LASE#LIENTE
.OMBRECADENADECARACTERES
4ELÏFONOCADENADECARACTERES
3ALDOREAL

!CTUALIZAR3ALDOARGUMENTOS
#AMBIA4ELÏFONOARGUMENTOS
x
40
>«‰ÌՏœÊ£Ê Ê Ê &4536$563"4'6/%".&/5"-&4%&%"504

▼ %*%2#)#)/3
!RREGLOSDEUNADIMENSIØNYARREGLOSPARALELOS
Ê £° %NUNARREGLOUNIDIMENSIONALSEHAALMACENADOELNÞMEROTOTALDETONELADASDE
CEREALESCOSECHADASDURANTECADAMESDELA×OANTERIOR%SCRIBAUNPROGRAMAQUE
OBTENGAEIMPRIMALASIGUIENTEINFORMACIØN

A %LPROMEDIOANUALDETONELADASCOSECHADAS
B z#UÈNTOSMESESTUVIERONCOSECHASUPERIORALPROMEDIOANUAL
C z#UÈNTOSMESESTUVIERONCOSECHAINFERIORALPROMEDIOANUAL

Ê Ó° %NUNARREGLOUNIDIMENSIONALSEALMACENANLASCALIlCACIONESlNALESDE.ALUMNOS
DEUNCURSOUNIVERSITARIO%SCRIBAUNPROGRAMAQUECALCULEEIMPRIMA

A %LPROMEDIOGENERALDELGRUPO
B .ÞMERODEALUMNOSAPROBADOSYREPROBADOS
C 0ORCENTAJEDEALUMNOSAPROBADOSYREPROBADOS
D .ÞMERODEALUMNOSCUYACALIlCACIØNFUEMAYOROIGUALA

Ê Î° $ADAUNACADENADECARACTERESCOMODATO SEDESEASABERELNÞMERODEVECESQUE


APARECENLASLETRAS@A @B  @ZY@! @"  @:ENDICHACADENA%SCRIBAUNPRO
GRAMAQUERESUELVAELPROBLEMA

A 3IUSØARREGLOS zCUÈNTOSNECESITØz0ORQUÏ
B z%XISTEOTRAFORMADERESOLVERLO

Ê {° $ADOUNARREGLOUNIDIMENSIONALDENÞMEROSENTEROS ORDENADOSCRECIENTEMENTE ES


CRIBAUNPROGRAMAQUEELIMINETODOSLOSELEMENTOSREPETIDOS#ONSIDEREQUEDEHA
BERVALORESREPETIDOS ÏSTOSSEENCONTRARÈNENPOSICIONESCONSECUTIVASDELARREGLO

Ê x° 5NA COMPA×ÓA ALMACENA LA INFORMACIØN RELACIONADA CON SUS PROVEEDORES EN LOS
SIGUIENTESARREGLOS

*,"6 ", -

P P P  PN

#ADAPESELNOMBREDELPROVEEDORI%STEARREGLOESTÈORDENADOALFABÏTICAMENTE


1 

C C C  CN

#ADACREPRESENTAELNOMBREDELACIUDADENLAQUERESIDEELPROVEEDORI
&+&3$*$*04 41

2 ,"Ê Ê,/
1"-

A A A  AN

#ADAAIESELNÞMERODEARTÓCULOSDIFERENTESQUEPROVEEELPROVEEDORI

%SCRIBAUNPROGRAMAQUEPUEDALLEVARACABOLASSIGUIENTESTRANSACCIONES

A $ADOELNOMBREDEUNPROVEEDOR INFORMARELNOMBREDELACIUDADENLAQUERESIDE
YELNÞMERODEARTÓCULOSQUEPROVEE
B !CTUALIZARELNOMBREDELACIUDAD ENCASODEQUEUNPROVEEDORCAMBIEDEDOMICI
LIO,OSDATOSSERÈNELNOMBREDELPROVEEDORYELNOMBREDELACIUDADALACUALSE
MUDØ
C !CTUALIZARELNÞMERODEARTÓCULOS MANEJADOSPORUNPROVEEDORPARAELCASODEQUE
ÏSTEAUMENTEODISMINUYA,OSDATOSSERÈNELNOMBREDELPROVEEDORYLACANTIDAD
ENLAQUEAUMENTA ODISMINUYE ELTOTALDEARTÓCULOSQUEPROVEE
D ,ACOMPA×ÓAINCORPORAAUNNUEVOPROVEEDOR!CTUALIZARLOSARREGLOSSINALTERAREL
ORDENDE02/6%%$/2%3,OSDATOSSERÈNELNOMBREDELPROVEEDOR ELNOMBREDE
LACIUDADYELTOTALDEARTÓCULOSQUEPROVEE
E ,A COMPA×ÓA DA DE BAJA A UN PROVEEDOR!CTUALIZAR LOS ARREGLOS %L DATO SERÈ EL
NOMBREDELPROVEEDOR

Ê È° 5NAINMOBILIARIATIENEINFORMACIØNSOBREDEPARTAMENTOSENRENTAALMACENADAEN
DOSARREGLOS

8/ -$

E E E  EN

%LARREGLO%84%.3)».ALMACENALASUPERlCIE ENMETROSCUADRADOS DECADAUNO


DELOS.DEPARTAMENTOS

*,
"

0 0 0  0.

%LARREGLO02%#)/ALMACENALOSPRECIOSDEALQUILERDELOS.DEPARTAMENTOS%STE
ARREGLOESTÈORDENADODEMANERACRECIENTE#ONSIDEREQUENOEXISTENDEPARTAMENTOS
CONIGUALSUPERlCIEYDISTINTOSPRECIOS

%SCRIBAUNPROGRAMAQUEPUEDALLEVARACABOLASSIGUIENTESOPERACIONES

A ,LEGAUNCLIENTEALAINMOBILIARIAYSOLICITARENTARUNDEPARTAMENTO3IEXISTEALGUNO
CONSUPERlCIEMAYOROIGUALALABUSCADAYPRECIOMENOROIGUALALBUSCADO SEDARÈ
DEBAJAALDEPARTAMENTOSELECCIONADO
B 3EVENCEUNCONTRATOYELCLIENTENODESEARENOVARLO3EDEBENACTUALIZARLOSARRE
GLOS
42
>«‰ÌՏœÊ£Ê Ê Ê &4536$563"4'6/%".&/5"-&4%&%"504

Ê Ç° 3ETIENELASIGUIENTEINFORMACIØN

#4

A A A  AN

%NELARREGLO#4SEALMACENANLOSNOMBRESDE.CENTROSTURÓSTICOSDELPAÓS

B B B  BN

%N EL ARREGLO ( SE ALMACENA EL NÞMERO DE HABITACIONES DE CADA TIPO SENCILLA O
DOBLE DECADACENTROTURÓSTICO

0OREJEMPLO
(;=GUARDAELNÞMERODEHABITACIONESSENCILLASDELCENTRO
(;=GUARDAELNÞMERODEHABITACIONESDOBLESDELCENTRO
(;=GUARDAELNÞMERODEHABITACIONESSENCILLASDELCENTRO
(;=GUARDAELNÞMERODEHABITACIONESDOBLESDELCENTRO
ETCÏTERA

42

C C C  CN

%NELARREGLO42SEALMACENAELNÞMEROTOTALDERESTAURANTESPORCENTROTURÓSTICO
$EBERÈDESARROLLARUNPROGRAMAQUEPROPORCIONELASIGUIENTEINFORMACIØN

A %LNOMBREDELCENTROTURÓSTICOQUECUENTACONMÈSRESTAURANTES
B %LNOMBREDELCENTROTURÓSTICOQUECUENTACONMÈSHABITACIONES TENIENDOENCUENTA
LASSENCILLASYLASDOBLES
C $ADOELNOMBREDEUNCENTROTURÓSTICOCOMODATO INFORMARCUÈNTASHABITACIONES
TIENESENCILLAS DOBLESYELTOTAL
D %LNOMBREDELCENTROTURÓSTICOQUEMÈSRESTAURANTESTIENEENRELACIØNCONELNÞMERO
DEHABITACIONES

Ê n° 3ETIENENTRESARREGLOS352 #%.42/Y./24%QUEALMACENANLOSNOMBRESDE


LOSPAÓSESDE3UR #ENTROY.ORTEAMÏRICA RESPECTIVAMENTE,OSTRESARREGLOSESTÈN
ORDENADOSALFABÏTICAMENTE
%SCRIBA UN PROGRAMA QUE MEZCLE LOS TRES ARREGLOS ANTERIORES FORMANDO UN
CUARTOARREGLO !-²2)#! ENELCUALAPAREZCANLOSNOMBRESDETODOSLOSPAÓSES
DELCONTINENTEORDENADOSALFABÏTICAMENTE

Ê ™° 3ETIENENDOSARREGLOS#).%3Y4%!42/3%LPRIMEROALMACENALOSNOMBRES
DETODOSLOSCINESDELACIUDAD%STÈORDENADOALFABÏTICAMENTEDEMANERAAS
CENDENTE
&+&3$*$*04 43

#).%3;=≤#).%3;=≤≤#).%3;.=

%LSEGUNDOARREGLOGUARDALOSNOMBRESDETODOSLOSTEATROSDELACIUDAD%STÈORDE
NADOALFABÏTICAMENTEDEMANERADESCENDENTE

4%!42/3;=≥4%!42/3;=≥≥4%!42/3;+=

%SCRIBAUNPROGRAMAQUEMEZCLEESTOSARREGLOSFORMANDOUNTERCERO %.42%4%
.)-)%.4/3 QUEQUEDEORDENADOALFABÏTICAMENTEDEMANERAASCENDENTE

£ä°3ETIENENREGISTRADASLASCALIlCACIONESOBTENIDASENUNEXAMENAALUMNOS,OS
DATOSSONCAL CAL  CAL DONDECALIESUNNÞMEROENTEROCOMPRENDIDOENTRELOS
VALORESY≤CALI≤ 
%SCRIBAUNPROGRAMAQUECALCULEEIMPRIMALAFRECUENCIADECADAUNODELOS
POSIBLESVALORES
,ASALIDADELPROGRAMASEMUESTRAACONTINUACIØN

#ALIlCACIØN &RECUENCIA
 !,5-./
 ˆ
 ˆ
 !,5-./3
 !,5-./3
 
 !,5-./3

££°%SCRIBASUSPROPIOSALGORITMOSPARAINSERTAR ELIMINAROMODIlCARUNELEMENTODE
UNARREGLO

A 3IELARREGLOESTÈDESORDENADO
B 3IELARREGLOESTÈORDENADO

£Ó°$ADOUNARREGLOUNIDIMENSIONALDETIPOENTEROQUECONTIENECALIlCACIONESDEEXÈ
MENESDEALUMNOS CONSTRUYAUNPROGRAMAQUECALCULELOSIGUIENTE

A -EDIAARITMÏTICA3ECALCULACOMOLASUMADELOSELEMENTOSENTREELNÞMERODE
ELEMENTOS
B 6ARIANZA3ECALCULACOMOLASUMADELOSCUADRADOSDELASDESVIACIONESDELAME
DIA ENTREELNÞMERODEELEMENTOS
C $ESVIACIØNESTÈNDAR3ECALCULACOMOLARAÓZCUADRADADELAVARIANZA
D -ODA3ECALCULAALOBTENERELNÞMEROCONMAYORFRECUENCIA

£Î°%SCRIBAUNPROGRAMAQUEALMACENEENUNARREGLOUNIDIMENSIONALLOSPRIMEROSNÞ
MEROSPERFECTOS5NNÞMEROSECONSIDERAPERFECTO SILASUMADELOSDIVISORESEXCEP
TOELMISMOESIGUALALPROPIONÞMERO%L POREJEMPLO ESUNNÞMEROPERFECTO
44
>«‰ÌՏœÊ£Ê Ê Ê &4536$563"4'6/%".&/5"-&4%&%"504

!RREGLOSMULTIDIMENSIONALES
£{°3EANLOSARREGLOSBIDIMENSIONALES!-§. Y"-§.
$ONDE≤-≤
≤.≤
AI JYBI JSONREALES
%SCRIBAUNPROGRAMAQUECALCULE#-§. !-§. "-§. 

£x°3EANLOSARREGLOSBIDIMENSIONALES!-§. Y".§0
$ONDE≤-≤
≤.≤
≤0≤
AI JYBI JSONREALES
%SCRIBAUNPROGRAMAQUECALCULE#-§0 !-§.
".§0

£È°%SCRIBAUNPROGRAMAQUELLENEDECEROSUNAMATRIZ!.§. EXCEPTOENLADIAGONAL
PRINCIPALDONDEDEBEASIGNAR3I. LAMATRIZDEBEQUEDAR

£Ç°%SCRIBAUNPROGRAMAQUEINTERCAMBIEPORRENGLØNLOSELEMENTOSDEUNARREGLOBIDI
MENSIONAL,OSELEMENTOSDELRENGLØNDEBENINTERCAMBIARSECONLOSDELRENGLØN
. LOSDELRENGLØNCONLOSDEL.n YASÓSUCESIVAMENTE
0OREJEMPLO SI!ES

%LRESULTADODELAOPERACIØNDEBESER
&+&3$*$*04 45

£n°$ADOCOMODATOELARREGLOBIDIMENSIONAL!-§. QUEALMACENANÞMEROSREA
LES

$ONDE≤-≤
≤.≤

%SCRIBAUNPROGRAMAQUEENCUENTREEIMPRIMAELVALORMÈSGRANDEALMACENADO
ENCADAUNADELASCOLUMNASYENCADAUNODELOSRENGLONESDELARREGLO3UPRO
GRAMADEBEIMPRIMIR JUNTOALVALORENCONTRADO LACOLUMNAORENGLØNENLACUALSE
ENCONTRØ

£™°3ETIENENLOSCOSTOSDEPRODUCCIØNDETRESDEPARTAMENTOSDULCES BEBIDASYCONSER
VAS CORRESPONDIENTESALOSMESESDELA×OANTERIOR

%SCRIBAUNPROGRAMAQUEPUEDAPROPORCIONARLASIGUIENTEINFORMACIØN

A z%NQUÏMESSEREGISTRØELMAYORCOSTODEPRODUCCIØNDEDULCES
B 0ROMEDIOANUALDELOSCOSTOSDEPRODUCCIØNDEBEBIDAS
C z%NQUÏMESSEREGISTRØELMAYORCOSTODEPRODUCCIØNENBEBIDAS YENQUÏMESEL
MENORCOSTO
D z#UÈLFUEELRUBROQUETUVOELMENORCOSTODEPRODUCCIØNENDICIEMBRE

Óä°3ETIENEUNATABLACONLASCALIlCACIONESOBTENIDASPORALUMNOSENSEISEXÈMENES
DIFERENTES

%SCRIBAUNPROGRAMAQUECALCULE
46
>«‰ÌՏœÊ£Ê Ê Ê &4536$563"4'6/%".&/5"-&4%&%"504

A %L PROMEDIO GENERAL DE CALIlCACIONES DE LOS  ALUMNOS CONSIDERANDO LOS SEIS
EXÈMENES
B %LALUMNOQUEOBTUVOLAMAYORCALIlCACIØNENELTERCEREXAMEN
C %LALUMNO SILOHUBIERA QUEOBTUVOLAMAYORCALIlCACIØNENELPRIMEROYENEL
SEXTOEXÈMENES
D $ADOELNÞMEROQUEIDENTIlCAAUNALUMNO INFORMARENQUÏEXAMENLOGRØLAMENOR
CALIlCACIØN
E z%NCUÈLEXAMENFUEMÈSALTOELPROMEDIODELOSALUMNOS

Ó£°%SCRIBAUNPROGRAMAQUEGENEREEIMPRIMAUNCUADRADOMÈGICODEDIMENSIØN.
/BSERVEQUE.ESENTERO POSITIVOEIMPAR5NCUADRADOMÈGICOESUNAMATRIZCUA
DRADADEORDEN. QUECONTIENEALOSNÞMEROSNATURALESDELAL.
. YDONDELA
SUMADECUALQUIERADELOSRENGLONES COLUMNASODIAGONALESPRINCIPALESESSIEMPRE
LAMISMA0UEDEUTILIZARLOSSIGUIENTESPASOSPARAGENERARUNCUADRADOMÈGICO

A %LNÞMEROSECOLOCAENLACASILLACENTRALDELPRIMERRENGLØN
B %LSIGUIENTENÞMEROSECOLOCAENLACASILLACORRESPONDIENTEALRENGLØNANTERIORY
COLUMNAPOSTERIOR
C %LRENGLØNANTERIORALPRIMEROESELÞLTIMO YLACOLUMNAPOSTERIORALAÞLTIMAESLA
PRIMERA
D 3IELNÞMEROESUNSUCESORDEUNMÞLTIPLODE. NOSEAPLICALAREGLA SINOQUESE
COLOCAENLACASILLADELRENGLØNPOSTERIORYENLAMISMACOLUMNA

3I. ELCUADRADOGENERADODEBEQUEDAR

ÓÓ°3EAN!-§. Y". ARREGLOSDEDOSYUNADIMENSIØN RESPECTIVAMENTE%SCRIBA


UNPROGRAMAQUEASIGNEVALORESA" APARTIRDE! TENIENDOENCUENTALOSSIGUIENTES
CRITERIOS
N
A BI  ¤ AI J 3IIESIMPAR
J 

N
B BI  ¤ AI J
AI  J
AI  J 3IIESPAR
J 

Óΰ3EAN!B§. Y". DOSARREGLOSDEDOSYUNADIMENSIØN RESPECTIVAMENTE


&+&3$*$*04 47

%SCRIBAUNPROGRAMAQUEASIGNEVALORESA! APARTIRDE" TENIENDOENCUENTALOS


SIGUIENTESCRITERIOS

A AIJBI 3II≤J
B AIJ 3IIJ

#OMBINACIONESENTREARREGLOSYREGISTROS
Ó{°%LDEPARTAMENTODEPERSONALDEUNAESCUELATIENEREGISTROSDELNOMBRE SEXOYEDAD
DECADAUNODELOSPROFESORESADSCRITOSAHÓ

%SCRIBAUNPROGRAMAQUECALCULEEIMPRIMALOSSIGUIENTESDATOS

A %DADPROMEDIODELGRUPODEPROFESORES
B .OMBREDELPROFESORMÈSJOVENDELGRUPO
C .OMBREDELPROFESORDEMÈSEDAD
D .ÞMERODEPROFESORASCONEDADMAYORALPROMEDIO
E .ÞMERODEPROFESORESCONEDADMENORALPROMEDIO

Óx°2ESUELVA EL PROBLEMA ANTERIOR CON TRES ARREGLOS PARALELOS #OMPARE SUS SOLUCIO
NES

ÓÈ°%NUNAESCUELAPORCADAALUMNOSETIENENLOSSIGUIENTESDATOS

◗ .OMBRE
◗ -ATRÓCULA
◗ .ÞMERODESEMESTRESCURSADOS
◗ #ALIlCACIØNPROMEDIOPORSEMESTRE

%SCRIBA UN PROGRAMA QUE DADA LA INFORMACIØN DE . ALUMNOS PUEDA REALIZAR LAS
SIGUIENTESOPERACIONES
48
>«‰ÌՏœÊ£Ê Ê Ê &4536$563"4'6/%".&/5"-&4%&%"504

A ,ISTARNOMBREYMATRÓCULADEESTUDIANTESCONPROMEDIOSGENERALESMAYORESOIGUA
LESA
B !CTUALIZAR LOS CAMPOS QUE CORRESPONDAN CUANDO UN ESTUDIANTE HA CONCLUIDO UN
SEMESTRE
C ,ISTARNOMBREYMATRÓCULADEESTUDIANTESQUEHAYANOBTENIDOOMÈSDECALIlCA
CIØNENTODOSLOSSEMESTRESCURSADOSHASTAELMOMENTO

ÓÇ°5NACOMPA×ÓADISTRIBUYE.PRODUCTOSADISTINTOSCOMERCIOSDELACIUDAD0ARAELLO
ALMACENAENUNARREGLOTODALAINFORMACIØNRELACIONADACONSUMERCANCÓA

◗ #LAVE
◗ $ESCRIPCIØN
◗ %XISTENCIA
◗ -ÓNIMOAMANTENERDEEXISTENCIA
◗ 0RECIOUNITARIO

%SCRIBAUNPROGRAMAQUEEFECTÞELASSIGUIENTESOPERACIONES

A 6ENTADEUNPRODUCTOSEDEBENACTUALIZARLOSCAMPOSQUECORRESPONDANYVERIlCAR
QUELANUEVAEXISTENCIANOESTÏPORDEBAJODELMÓNIMO$ATOSCLAVE CANTIDADVEN
DIDA
B 2EABASTECIMIENTODEUNPRODUCTOSEDEBENACTUALIZARLOSCAMPOSQUECORRESPON
DAN$ATOSCLAVE CANTIDADCOMPRADA
C !CTUALIZARELPRECIODEUNPRODUCTO$ATOSCLAVE PORCENTAJEDEAUMENTO
D )NFORMARSOBREUNPRODUCTOSEDEBENPROPORCIONARTODOSLOSDATOSRELACIONADOS
CONUNPRODUCTO$ATOCLAVE

Ón°!LMOMENTODESUINGRESOALHOSPITAL AUNPACIENTESELESOLICITANLOSSIGUIENTES
DATOS

◗ .OMBRE
◗ %DAD
◗ 3EXO
◗ $OMICILIO s#ALLE
s.ÞMERO
s#IUDAD
◗ 4ELÏFONO
◗ 3EGUROESTECAMPOTENDRÈELVALOR6%2$!$%2/SIELPACIENTETIENESEGUROMÏDI
COY&!,3/ENOTROCASO

%SCRIBAUNPROGRAMAQUEPUEDALLEVARACABOLASSIGUIENTESOPERACIONES

A ,ISTARLOSNOMBRESDETODOSLOSPACIENTESHOSPITALIZADOS
B /BTENERELPORCENTAJEDEPACIENTESHOSPITALIZADOSENLASSIGUIENTESCATEGORÓASDA
DASPORLAEDAD 
&+&3$*$*04 49

.I×OSHASTAA×OS
*ØVENESMAYORESDEA×OSYMENORESDE
!DULTOSMAYORESDEA×OS

C /BTENERELPORCENTAJEDEHOMBRESYDEMUJERESHOSPITALIZADOS
D $ADOELNOMBREDEUNPACIENTE LISTARTODOSLOSDATOSRELACIONADOSCONDICHOPA
CIENTE
E #ALCULARELPORCENTAJEDEPACIENTESQUEPOSEENSEGUROMÏDICO

ә°5NAINMOBILIARIATIENEINFORMACIØNSOBREDEPARTAMENTOSENRENTA$ECADADEPARTA
MENTOSECONOCE

◗ #LAVEESUNENTEROQUEIDENTIlCAALINMUEBLE
◗ %XTENSIØNSUPERlCIEDELDEPARTAMENTO ENMETROSCUADRADOS
◗ 5BICACIØNEXCELENTE BUENA REGULAR MALA 
◗ 0RECIOESUNREAL
◗ $ISPONIBLE6%2$!$%2/SIESTÈDISPONIBLEPARALARENTAY&!,3/SIYAESTÈREN
TADO

$IARIAMENTEACUDENMUCHOSCLIENTESALAINMOBILIARIASOLICITANDOINFORMACIØN
%SCRIBAUNPROGRAMACAPAZDEREALIZARLASSIGUIENTESOPERACIONESSOBRELAIN
FORMACIØNDISPONIBLE

A ,ISTELOSDATOSDETODOSLOSDEPARTAMENTOSDISPONIBLESQUETENGANUNPRECIOINFERIOR
OIGUALACIERTOVALOR0
B ,ISTELOSDATOSDELOSDEPARTAMENTOSDISPONIBLESQUETENGANUNASUPERlCIEMAYORO
IGUALAUNCIERTOVALORDADO%YUNAUBICACIØNEXCELENTE
C ,ISTEELMONTODELARENTADETODOSLOSDEPARTAMENTOSALQUILADOS
D ,LEGAUNCLIENTESOLICITANDORENTARUNDEPARTAMENTO3IEXISTEALGUNOCONUNASU
PERlCIE MAYOR O IGUAL A LA DESEADA CON PRECIO Y UBICACIØN QUE SE AJUSTAN A LAS
NECESIDADESDELCLIENTE ELDEPARTAMENTOSERENTARÈ!CTUALIZARLOSDATOSQUECORRES
PONDAN
E 3EVENCEUNCONTRATOSINOSERENUEVA ACTUALIZARLOSDATOSQUECORRESPONDAN
F 3EHADECIDIDOAUMENTARLASRENTASENUN8!CTUALIZARLOSPRECIOSDELASRENTAS
DELOSDEPARTAMENTOSNOALQUILADOS

0ROBLEMASINTERESANTES
$ECIDAELLECTORQUÏESTRUCTURADEDATOSDEBEUTILIZARPARARESOLVERLOS

Îä°%SCRIBAUNPROGRAMAQUELEAUNNÞMEROROMANOEIMPRIMASUEQUIVALENTEENARÈ
BIGO
2ECUERDEQUE

) 
6 
50
>«‰ÌՏœÊ£Ê Ê Ê &4536$563"4'6/%".&/5"-&4%&%"504

8 
,  
#  
$  
- 

Σ°%SCRIBAUNPROGRAMAQUECALCULEEIMPRIMALOSNÞMEROSPERFECTOSCOMPRENDIDOS
ENTREDOSNÞMEROS!Y"5NNÞMEROESPERFECTOSILASUMADESUSDIVISORES EXCEP
TOÏLMISMO ESIGUALALPROPIONÞMERO

ÎÓ°%SCRIBAUNSUBPROGRAMAQUERECIBACOMODATOSELNOMBREDEUNDÓADELASEMANAY
UNNÞMEROENTERO. POSITIVOONEGATIVO EIMPRIMAELDÓADELASEMANACORRESPON
DIENTEA.DÓASDESPUÏSˆPOSITIVOˆO.DÓASANTESˆNEGATIVOˆDELDÓADADO

Îΰ,OMISMOQUEENELPROBLEMA PEROAHORACONRESPECTOAUNMES

Î{°%SCRIBAUNPROGRAMAQUECALCULEEIMPRIMALOSNÞMEROSPRIMOSMENORESQUECIERTO
NÞMERODADO.

Îx°%SCRIBAUNPROGRAMAQUECALCULEEIMPRIMALOSNÞMEROSPRIMOSGEMELOSMENORES
QUECIERTONÞMERODADO.$OSNÞMEROSSONPRIMOSGEMELOSSISONNÞMEROSPRI
MOSCONUNADIFERENCIAENTREELLOSDEEXACTAMENTE0OREJEMPLO YSONPRIMOS
GEMELOS
#APÓTULO Ó
!22%',/3
-5,4)$)-%.3)/.!,%3
2%02%3%.4!$/3
%.!22%',/3
5.)$)-%.3)/.!,%3
 ).42/$5##)¼.

!CTUALMENTELAMAYORÓADELOSLENGUAJESDEPROGRAMACIØNDEALTONIVELPROPORCIONANAL
USUARIOMEDIOSElCACESPARAALMACENARYRECUPERARELEMENTOSDEARREGLOSBIDIMENSIO
NALES TRIDIMENSIONALESEINCLUSODEMÈSDETRESDIMENSIONES%LUSUARIODELLENGUAJENO
DEBEPREOCUPARSEPORDETALLESESPECÓlCOSDELALMACENAMIENTONIPORELMANEJOFÓSICO
DEL DATO 3U ATENCIØN SE DEBE CONCENTRAR SOLAMENTE EN EL TRATAMIENTO LØGICO DE ESTE
ÞLTIMOESDECIR ENENCONTRARUNAESTRUCTURADEDATOSQUEPERMITARESOLVERCIERTOSPRO
BLEMASDEMANERAØPTIMA
0OROTRAPARTE LASCOMPUTADORASNOPUEDENALMACENARDIRECTAMENTEUNARREGLOMUL
TIDIMENSIONAL3UREPRESENTACIØNENMEMORIADEBESERLINEALˆACADAELEMENTOLESIGUE
UNÞNICOELEMENTOˆ MEDIANTEUNBLOQUEDEPOSICIONESSUCESIVAS
%NESTECAPÓTULOSEESTUDIARÈNALGUNASTÏCNICASUTILIZADASPARAELALMACENAMIENTO
LINEALDEARREGLOSMULTIDIMENSIONALES

 !22%',/3")$)-%.3)/.!,%3

,OSLENGUAJESDEPROGRAMACIØNPUEDENREPRESENTARUNARREGLOBIDIMENSIONAL! DEM§
NELEMENTOS MEDIANTEUNBLOQUEDEM§NPOSICIONESSUCESIVAS,ADISTRIBUCIØNDELOS
ELEMENTOSSEPUEDEREALIZARDEDOSFORMASDIFERENTESRENGLØNARENGLØN LLAMADATAM
52
>«‰ÌՏœÊÓÊ Ê Ê "33&(-04.6-5*%*.&/4*0/"-&43&13&4&/5"%04&/"33&(-046/*%*.&/4*0/"-&4

BIÏNORDENACIØNPORRENGLONES QUEUTILIZANLAMAYORÓADELOSLENGUAJESDEPROGRAMA
CIØN POREJEMPLO "!3)# #/"/, 0!3#!, # ETCÏTERA OBIENCOLUMNAACOLUMNA
LLAMADATAMBIÏNORDENACIØNPORCOLUMNAS QUEUTILIZA&/242!.
3EAELARREGLOBIDIMENSIONAL!DE§ELEMENTOSlGA 3UREPRESENTACIØNEN
UNARREGLOUNIDIMENSIONALORDENADOPORRENGLONESSEOBSERVAENLAlGURAB MIENTRAS
QUEELQUECORRESPONDEAUNARREGLOUNIDIMENSIONALORDENADOPORCOLUMNASSEOBSERVA
ENLAlGURAC
5NAVEZALMACENADOSLOSVALORESDEMANERALINEALSEREQUIEREUNAFØRMULAQUEPRO
PORCIONELAPOSICIØNENELARREGLOUNIDIMENSIONALQUELECORRESPONDEACADAELEMENTO
DELARREGLOBIDIMENSIONALORIGINAL
3EAN ENTONCES MELNÞMERODERENGLONESYNELNÞMERODECOLUMNASDEUNARREGLO
BIDIMENSIONAL0OROTRAPARTE IYJINDICANELRENGLØNYCOLUMNA RESPECTIVAMENTE DE
LAPOSICIØNDELELEMENTOQUESEQUIEREUBICAR,AFØRMULAPARALOCALIZARUNELEMENTO
DETERMINADO ENUNARREGLOUNIDIMENSIONALORDENADOPORRENGLONES ESLASIGUIENTE


,/#!;I J= 0/3).) N
In Jn &ØRMULA

$ONDE0/3).) PRIMERTÏRMINODELAFØRMULA REPRESENTALAPOSICIØNDELARRE


GLOUNIDIMENSIONALAPARTIRDELACUALSEENCUENTRAALMACENADOELARREGLOBIDIMENSIO
NAL%NGENERAL PARALLEGARACUALQUIERRENGLØNISEDEBENCONTABILIZARLOSELEMENTOS
CORRESPONDIENTESAI RENGLONESCOMPLETOS%STERESULTADOSEOBTIENEMEDIANTELA
OPERACIØNN
I SEGUNDOTÏRMINODELAFØRMULA#UANDOSELLEGAALRENGLØN
CORRESPONDIENTESEDEBENCONTABILIZARLOSJ ELEMENTOSNECESARIOSPARALLEGARALA
COLUMNAJ TERCERTÏRMINODELAFØRMULA,ASUMADELOSTRESTÏRMINOSPROPORCIONALA
LOCALIZACIØNDELELEMENTOI JCORRESPONDIENTE ENUNARREGLOUNIDIMENSIONALORDENADO
PORRENGLONES
!SÓ POREJEMPLO SIDESEAMOSLOCALIZARELELEMENTO!; =DELARREGLODELAlGURA
AHACEMOS

,/#!; =  


  

&)'52!
2EPRESENTACIØNLINEALDE
ARREGLOSBIDIMENSIONALES
> !RREGLOBIDIMENSIONAL
L /RDENACIØNPOR
RENGLONESENUNARREGLO
UNIDIMENSIONAL
D /RDENACIØNPOR
COLUMNASENUNARREGLO
UNIDIMENSIONAL
 "33&(-04#*%*.&/4*0/"-&4 53

!HORABIEN SIELARREGLOSEENCUENTRAALMACENADOPORCOLUMNAS LAFØRMULAPARA


LOCALIZARUNELEMENTODETERMINADOES


,/#!;I J= 0/3).) M
Jn In &ØRMULA

%NESTECASO 0/3).) PRIMERTÏRMINODELAFØRMULA REPRESENTA COMOENEL


CASO ANTERIOR LA POSICIØN DEL ARREGLO UNIDIMENSIONAL A PARTIR DE LA CUAL SE ENCUENTRA
ALMACENADO EL ARREGLO BIDIMENSIONAL %N GENERAL PARA LLEGAR A CUALQUIER COLUMNA J
PRIMEROSEDEBENCONTABILIZARLOSELEMENTOSCORRESPONDIENTESAJ COLUMNASCOM
PLETAS%STERESULTADOSEOBTIENECONLAOPERACIØNM
J SEGUNDOTÏRMINODELA
FØRMULA,UEGOQUESELLEGAALACOLUMNADESEADA SEDEBENCONSIDERARLOSI
ELEMENTOSNECESARIOSPARALLEGARALRENGLØNI TERCERTÏRMINODELAFØRMULA,ASUMA
DELOSTRESTÏRMINOSDElNELALOCALIZACIØNDELELEMENTOI JCORRESPONDIENTE ENUNARRE
GLOUNIDIMENSIONALORDENADOPORCOLUMNAS
!SÓ POREJEMPLO SISEDESEALOCALIZARELELEMENTO!; =DELARREGLOPRESENTADOEN
LAlGURAASEHACE

,/#!; =  


  

%JEMPLO #ONSIDEREELARREGLOBIDIMENSIONAL#/34/3DERENGLONESYTRESCOLUMNAS CORRES


PONDIENTE A LOS COSTOS MENSUALES DE PRODUCCIØN DE TRES DEPARTAMENTOS DULCES CON
SERVASYBEBIDAS DEUNAFÈBRICA#ONSIDERETAMBIÏNQUEAQUÏLSEENCUENTRAORDENADO
PORRENGLONESAPARTIRDELAPOSICIØN ENUNARREGLOUNIDIMENSIONALLLAMADO#/3
!NALICELOSSIGUIENTESCASOS

A 3ENECESITACONOCERELCOSTODEPRODUCCIØNDELDEPARTAMENTODECONSERVAS DURANTE
AGOSTO
3EPROCEDEDEESTAFORMA

(ACER)← *←
%SCRIBIR#/3; 
) * =
[%LRESULTADODELCÈLCULOES]

B 3ENECESITAELCOSTODEPRODUCCIØNANUALDELDEPARTAMENTODEBEBIDAS
,OSPASOSASEGUIRSON

(ACER35-←
2EPETIRCON)DESDEHASTA
(ACER35-←35- #/3; 
)  =

C 3ENECESITAELCOSTOTOTALDEPRODUCCIØNDELOSTRESDEPARTAMENTOS DURANTESEPTIEMBRE
,OSPASOSASEGUIRSON

(ACER35-←
2EPETIRCON*DESDEHASTA
(ACER35-←35- #/3;n
 * =
54
>«‰ÌՏœÊÓÊ Ê Ê "33&(-04.6-5*%*.&/4*0/"-&43&13&4&/5"%04&/"33&(-046/*%*.&/4*0/"-&4

%JEMPLO 3UPONGAMOSQUESETIENEALMACENADOELARREGLOBIDIMENSIONAL!; =ENDOSARRE


GLOSUNIDIMENSIONALESDIFERENTES%LPRIMEROORDENADOPORRENGLONESAPARTIRDELAPO
SICIØN YELSEGUNDOORDENADOPORCOLUMNASAPARTIRDELAPOSICIØN#ONSIDERELOS
SIGUIENTESCASOS

A 3ENECESITAOBTENERLAPOSICIØNDELELEMENTO!; =ENELARREGLOUNIDIMENSIONAL
ORDENADOPORRENGLONES
3EPROCEDEDEESTAFORMA

,/#  ! ;  =   
       
0/3).) N I   J 

B 3ENECESITAOBTENERLAPOSICIØNDELELEMENTO!; =ENELARREGLOUNIDIMENSIONAL
ORDENADOPORCOLUMNAS

,/#  ! ;  =   
       
0/3).) M  J  I 

 !22%',/3$%-­3$%$/3$)-%.3)/.%3
,OSLENGUAJESDEPROGRAMACIØNDEALTONIVELALMACENANUNARREGLO!DE.DIMENSIO
NES SIENDO.Y PORTANTO DEM§M§§MNELEMENTOS MEDIANTEUNBLOQUEDE
M§M§§MNPOSICIONESSUCESIVAS%STAREPRESENTACIØN ALIGUALQUEENELCASODE
ARREGLOSBIDIMENSIONALES SEPUEDEREALIZARDEDOSFORMASDIFERENTESRENGLØNARENGLØN
LLAMADATAMBIÏNORDENACIØNPORRENGLONES YCOLUMNAACOLUMNA LLAMADATAMBIÏN
ORDENACIØNPORCOLUMNAS
3EA!UNARREGLOTRIDIMENSIONALDE§§ELEMENTOSlGA 3UREPRESEN
TACIØN EN UN ARREGLO UNIDIMENSIONAL ORDENADO POR RENGLONES PUEDE OBSERVARSE EN LA
lGURAB MIENTRASQUELAQUECORRESPONDEAUNARREGLOUNIDIMENSIONALORDENADOPOR
COLUMNASSEOBSERVAENLAlGURAC
5NAVEZALMACENADOSLOSVALORESDEMANERALINEAL SEREQUIERECALCULARLAPOSICIØN
DECUALESQUIERADELOSELEMENTOSGUARDADOSENELARREGLOUNIDIMENSIONAL0ARAELLOSE
NECESITAPRIMEROOBTENERLOSÓNDICES+I LOSTAMA×OSDELASDIMENSIONES4I YLOSÓNDI
CESEFECTIVOS)%I CORRESPONDIENTES#ABEACLARARQUEUNÓNDICEEFECTIVO)%I SECALCULA
COMOLADIFERENCIADELÓNDICE+ICORRESPONDIENTEYELLÓMITEINFERIORDELADIMENSIØNI
DONDEIVARÓADESDEHASTA. SIENDO.ELNÞMERODEDIMENSIONESDELARREGLOMULTIDI
MENSIONAL
,AFORMADELOCALIZARUNELEMENTODETERMINADOENUNARREGLOORDENADOPORRENGLO
NESES

¥ ¨ N ·´ &ØRMULA
,/# ¦ ! © KI ¸µ  0/3).)
§ ª I  ¹¶
 )%
4 )%
4 x )%
    N 
4N )%N
 "33&(-04%&.Ç4%&%04%*.&/4*0/&4 55

&)'52!
2EPRESENTACIØNLINEALDE
ARREGLOSDEMÉSDEDOS
DIMENSIONES B !RREGLOTRI
DIMENSIONALC /RDENACIØN
PORRENGLONESENUNARREGLO
UNIDIMENSIONALD /RDE
NACIØNPORCOLUMNASENUN
ARREGLOUNIDIMENSIONAL

3UPONGAMOSQUESEDESEALOCALIZARELELEMENTO!;  =DELARREGLOPRESENTADO
ENLAlGURAA%NPRIMERLUGAR SEREALIZANLOSSIGUIENTESCÈLCULOSPARAOBTENERLOS4I
YLOS)%I

4LÓMSUPnLÓMINF n 


4LÓMSUPnLÓMINF n 
4LÓMSUPnLÓMINF n 

)%+nLÓMINFn
)%+nLÓMINFn
)%+nLÓMINFn

,UEGOSEAPLICALAFØRMULAPARAOBTENERLAPOSICIØNCORRESPONDIENTEDELELEMEN
TOENUNARREGLOUNIDIMENSIONALORDENADOPORRENGLONES3EPROCEDEASÓ
,/#!;  =  
 
  
0ARACALCULARLAPOSICIØNDELELEMENTO!;  =SEREALIZANLASSIGUIENTESOPERACIO
NESPARAOBTENERLOS4IˆSEUSANLOSGENERADOSENELCASOANTERIORˆYLOS)%I
56
>«‰ÌՏœÊÓÊ Ê Ê "33&(-04.6-5*%*.&/4*0/"-&43&13&4&/5"%04&/"33&(-046/*%*.&/4*0/"-&4

4 )%+nLÓMINFn
4 )%+nLÓMINFn
4 )%+nLÓMINFn

YLUEGOSEAPLICALAFØRMULAPARAOBTENERLAPOSICIØNREQUERIDA

,/#!;  =  


 
  

!HORABIEN SIELARREGLOSEENCUENTRAALMACENADOPORCOLUMNAS LAFORMADELOCA


LIZARUNELEMENTOES


¥ ¨ N ·´
,/# ¦ ! © KI ¸µ  0/3).)
§ ª I  ¹¶
 )% N
4N  )%
N 
4N  )%
4 x )% 
4 )% &ØRMULA

3UPONGAMOSQUESEDESEAENCONTRARELELEMENTO!;  =DELARREGLOPRESENTADO
ENLAlGURAA3ETIENENQUECALCULARPRIMEROLOS4IˆSEUSANLOSGENERADOSANTERIOR
MENTEˆYLOS)%ICORRESPONDIENTES

4 )%+nLÓMINFn
4 )%+nLÓMINFn
4 )%+nLÓMINFn

YPOSTERIORMENTESEAPLICALAFØRMULAPARAOBTENERLAPOSICIØNDELELEMENTO!; 
= ENUNARREGLOUNIDIMENSIONALORDENADOPORCOLUMNAS

,/#!;  =  


 
  

3ISEQUIERECALCULARLAPOSICIØNDELELEMENTO!;  = SEREALIZANLASSIGUIENTES


OPERACIONESPARAOBTENERLOS4IˆSEUSANLOSGENERADOSANTERIORMENTEˆYLOS)%I

4 )%+nLÓMINFn
4 )%+nLÓMINFn
4 )%+nLÓMINFn

YLUEGOSEAPLICALAFØRMULAPARAOBTENERLAPOSICIØNREQUERIDA

,/#!;  =  


 
  

%JEMPLO #ONSIDEREELARREGLOTRIDIMENSIONAL#/34/3DE§§ CORRESPONDIENTEALOSCOS


TOS DE PRODUCCIØN MENSUALES EN TRES DEPARTAMENTOS DULCES CONSERVAS Y BEBIDAS DE
UNAFÈBRICA ENLOSÞLTIMOSCINCOA×OS DESDEHASTA#ONSIDERETAMBIÏNQUE
AQUÏLSEENCUENTRAORDENADOPORRENGLONESAPARTIRDELAPRIMERAPOSICIØNENUNARREGLO
UNIDIMENSIONALLLAMADO#/3!NALICELOSSIGUIENTESCASOS

A 3ENECESITALAPOSICIØNENELARREGLO#/3DONDESEENCUENTRAELCOSTODEPRODUCCIØN
DELDEPARTAMENTODEBEBIDAS DURANTEAGOSTOYDURANTEELA×ODE
 "33&(-04%&.Ç4%&%04%*.&/4*0/&4 57

3EOBTIENENLOS4IYLOS)%ICORRESPONDIENTES

4LÓMSUPnLÓMINF n 


4LÓMSUPnLÓMINF n 
4LÓMSUPnLÓMINF n 

)%+nLÓMINFn
)%+nLÓMINFn
)%+nLÓMINFn

YLUEGOSEPROCEDEDELASIGUIENTEFORMA

,/##/34/3;  =  


 
  

B 3ENECESITAELCOSTODEPRODUCCIØNDELDEPARTAMENTODECONSERVAS DURANTE
3EOBTIENENLOS4IˆSEUSANLOSGENERADOSENELINCISOA ˆYLOS)%ICORRES
PONDIENTES

4 )%DESDEHASTA
4 )%+nLIMINFn
4 )%+nLIMINFn

YLUEGOSEREALIZANLOSSIGUIENTESPASOS

(ACER35-←
2EPETIRCON)DESDEHASTA
(ACER35-←35- #/3; )
 
  =

C 3ENECESITAELCOSTOTOTALDEPRODUCCIØNDELOSTRESDEPARTAMENTOS DURANTESEPTIEM
BREDE
3EOBTIENENLOS4IˆSEUSANLOSGENERADOSENELINCISOA ˆYLOS)%ICORRES
PONDIENTES

4 )%+nLÓMINFn
4 )%)DESDEHASTA
4 )%+nLÓMINFn

YLUEGOSEAPLICANLOSSIGUIENTESPASOS

(ACER35-←
2EPETIRCON)DESDEHASTA
(ACER35-←35- #/3; 
 )
  =

D 3E NECESITA EL COSTO TOTAL DE PRODUCCIØN DE LOS TRES DEPARTAMENTOS DURANTE TODO

3EOBTIENENLOS4IˆSEUSANLOSGENERADOSENELINCISOA ˆYLOS)%ICORRES
PONDIENTES
58
>«‰ÌՏœÊÓÊ Ê Ê "33&(-04.6-5*%*.&/4*0/"-&43&13&4&/5"%04&/"33&(-046/*%*.&/4*0/"-&4

4 )%)DESDEHASTA
4 )%*DESDEHASTA
4 )%+nLÓMINFn

YLUEGOSEAPLICANLOSSIGUIENTESPASOS

(ACER35-←
2EPETIRCON)DESDEHASTA
2EPETIRCON*DESDEHASTA
(ACER35-←35- #/3; )
 *=
  =

%JEMPLO 3UPONGAMOS QUE SE TIENE ALMACENADO EL ARREGLO DE CUATRO DIMENSIONES !; L
 =ENDOSARREGLOSUNIDIMENSIONALESDIFERENTES%LPRIMEROORDENADOPORREN
GLONESAPARTIRDELAPOSICIØNYELSEGUNDOPORCOLUMNASAPARTIRDELAPOSICIØN
#ONSIDERELOSSIGUIENTESCASOS

A 3ENECESITALAPOSICIØNDELELEMENTO!;   =ENELARREGLOUNIDIMENSIONALOR
DENADOPORRENGLONES
0RIMEROSEOBTIENENLOS4IYLOS)%ICORRESPONDIENTES

4LÓMSUPnLÓMINF n 


4LÓMSUPnLÓMINF n 
4LÓMSUPnLÓMINF n 
4LÓMSUPnLÓMINF n 

)%+nLÓMINFn
)%+nLÓMINFn
)%+nLÓMINFn
)%+nLÓMINFn

YLUEGOSEPROCEDEDEESTAMANERA

,/#!;   =  


 
 
  

B 3E NECESITA LA POSICIØN DEL ELEMENTO !;   = EN EL ARREGLO UNIDIMENSIONAL
ORDENADOPORCOLUMNAS
0RIMEROSEOBTIENENLOS4IˆSEUSANLOSGENERADOSENELINCISOA ˆYLOS)%I
CORRESPONDIENTES

4 )%+nLÓMINFn
4 )%+nLÓMINFn
4 )%+nLÓMINFn
4 )%+nLÓMINFn

YLUEGOSEPROCEDEASÓ

,/#!; n  =  


 
 
  
 ."53*$&410$0%&/4"4 59

 -!42)#%30/#/$%.3!3

-ATRIZREPRESENTAUNTÏRMINOMATEMÈTICOQUESEUTILIZAPARAINDICARUNCONJUNTODEELE
MENTOSORGANIZADOSPORMEDIODERENGLONESYCOLUMNAS%SEQUIVALENTEALTÏRMINOARRE
GLOBIDIMENSIONALUTILIZADOENCOMPUTACIØN%STETÏRMINOSEEMPLEAENESTASECCIØN
FUNDAMENTALMENTE PORQUE A LOS ARREGLOS BIDIMENSIONALES POCO DENSOS SE LES CONOCE
MUCHOMÈSCOMOMATRICESPOCODENSAS
0OCODENSOÓNDICAPROPORCIØNMUYALTADECEROSENTRELOSELEMENTOSDELAMATRIZ
/BSERVELAMATRIZ!DE§ELEMENTOSDELAlGURA
%SFÈCILDARSECUENTADEQUEESTAMATRIZTIENEGRANCANTIDADDECEROS3IENDOPRECI
SOS DESUSELEMENTOSSONCEROS0IENSEELLECTORQUÏOCURRIRÓASIENLUGARDETENER
UNAMATRIZDE§SETUVIERAUNAMATRIZDE§YLAMAYORÓADESUSELEMENTOS
FUERANIGUALESACERO#ONELPORCENTAJEANTERIORYPARAESTECASOENPARTICULAR SETEN
DRÓANELEMENTOSIGUALESACERO
5NA SITUACIØN COMO ÏSTA EXIGE QUE SE HAGA UN USO MÈS ElCIENTE DEL ESPACIO DE
MEMORIA#ONESEPROPØSITOEXISTENDIVERSOSMÏTODOSPARAALMACENARSØLOLOSVALORES
DIFERENTESDECERODEUNAMATRIZPOCODENSA!CONTINUACIØNPRESENTAMOSDOSDELOS
MÈSUSADOS

!RREGLODEREGISTROS
3EUTILIZAUNARREGLOUNIDIMENSIONAL DONDECADAELEMENTOREPRESENTAUNREGISTROFOR
MADOPORTRESCAMPOSUNOPARAGUARDARELRENGLØNDONDESEENCONTRØELVALORDIFERENTE
DECEROOTROPARAGUARDARLACOLUMNA YELTERCEROPARAGUARDARELVALORDELELEMENTO
DISTINTODECERODELAMATRIZ
%NLATABLASEMUESTRALAFORMADEALMACENARLOSELEMENTOSDELAMATRIZPOCO
DENSAQUESEOBSERVAENLAlGURA

4!",! 2ENGLØN #OLUMNA 6ALOR


  
  
  
  
  
  
  
  
  
  

&)'52!
-ATRIZDE™
60
>«‰ÌՏœÊÓÊ Ê Ê "33&(-04.6-5*%*.&/4*0/"-&43&13&4&/5"%04&/"33&(-046/*%*.&/4*0/"-&4

%S PERTINENTE ACLARAR QUE PUEDE RESULTAR MUY CONVENIENTE ALMACENAR EL TOTAL DE
RENGLONESYDECOLUMNASDELAMATRIZORIGINAL
!CONTINUACIØNSEPRESENTAUNALGORITMOMUYSIMPLEQUEALMACENAENUNARREGLO
UNIDIMENSIONALLOSELEMENTOSDISTINTOSDECERODEUNAMATRIZPOCODENSA

!LGORITMO !LMACENA?MATRIZ?POCO?DENSA

!LMACENA?MATRIZ?POCO?DENSA-!4

[%LALGORITMOALMACENALOSELEMENTOSDISTINTOSDECERODEUNAMATRIZPOCODENSAENUNARREGLO
UNIDIMENSIONAL -!4 CONSTITUYE UN ARREGLO UNIDIMENSIONAL DE REGISTROS ,OS CAMPOS DEL
REGISTROSON2%.',». #/,5-.!Y6!,/2]

[&) #/ ) *Y+SONVARIABLESDETIPOENTERO6!,ESUNAVARIABLEDETIPOREAL]

 ,EERELNÞMERODERENGLONESYDECOLUMNASDELAMATRIZ&)Y#/
 (ACER-!4;=2%.',».←&)
-!4;=#/,5-.!←#/Y+←
2EPETIRCON)DESDEHASTA&)
 2EPETIRCON*DESDEHASTA#/
,EERINFORMACIØN6!,
 3I6!,≠ ENTONCES
(ACER-!4;+=2%.',».←)
-!4;+=#/,5-.!←*
-!4;+=6!,/2←6!,←Y+←+ 
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
 [&INDELCICLODELPASO]
 (ACER-!4;=6!,/2←+n

[%N-!4;=2%.',».Y-!4;=#/,5-.!QUEDANALMACENADOSELNÞMERODERENGLONES
YDECOLUMNAS RESPECTIVAMENTE DELAMATRIZ%N-!4;=6!,/2QUEDAALMACENADOELTOTAL
DEELEMENTOSDIFERENTESDECERODELAMATRIZ]

!RREGLODELISTAS
3ESUGIEREQUEANTESDEESTUDIARESTEMÏTODOUSADOPARAELALMACENAMIENTODEMATRICES
POCODENSASCONSULTEELCAPÓTULO
,AREPRESENTACIØNDELAMATRIZPOCODENSASEREALIZAPORMEDIODEUNARREGLODE
LISTAS%SDECIR ENELELEMENTOIDEUNARREGLOUNIDIMENSIONALSETIENEUNREGISTROQUE
ALMACENAENUNODESUSCAMPOSELTOTALDEELEMENTOSDIFERENTESDECEROENCONTRADOSEN
ELRENGLØNIDELAMATRIZ YENOTROCAMPOLADIRECCIØNALPRIMERNODODEUNALISTA#ADA
NODODELALISTAALMACENARÈLACOLUMNADELAMATRIZENLAQUESEENCUENTRAELVALORDIFE
RENTEDECERO ELPROPIOVALORYLADIRECCIØNALSIGUIENTENODODELALISTA
 ."53*$&410$0%&/4"4 61

&)'52!
!RREGLODELISTAS

%NLAlGURASEPRESENTAUNESQUEMADEESTAESTRUCTURADEDATOSQUESEAPLICAA
LAMATRIZPOCODENSADELAlGURA

 -ATRICESCUADRADASPOCODENSAS
,ASMATRICESCUADRADASSONAQUELLASQUETIENENIGUALNÞMERODERENGLONESYDECO
LUMNAS3IADEMÈSESTASMATRICESTIENENUNAPROPORCIØNMUYALTADECEROS SEDENOMI
NANPOCODENSAS
0OROTRAPARTE LASMATRICESCUADRADASENLASQUELOSELEMENTOSQUESEENCUENTRAN
ARRIBAODEBAJODELADIAGONALPRINCIPALSONIGUALESACERO SELLAMANMATRICESTRIANGU
LARES²STAS SEGÞNLAUBICACIØNDELOSCEROS SECLASIlCANENMATRIZTRIANGULARINFERIOR
SILOSELEMENTOSIGUALESACEROSEENCUENTRANSOBRELADIAGONALPRINCIPALlGA YEN
MATRIZTRIANGULARSUPERIORSILOSELEMENTOSIGUALESACEROSEENCUENTRANDEBAJODELA
DIAGONALPRINCIPALlGB 

 -ATRIZTRIANGULARINFERIOR
3UPONGAMOSQUESEDESEAALMACENARENUNARREGLOUNIDIMENSIONAL"lG LAMATRIZ
TRIANGULARINFERIORDELAlGURAA
%SFÈCILOBSERVARQUEELARREGLO"TENDRÈ
     N

&)'52!
-ATRICESCUADRADASPOCO
DENSASA -ATRIZTRIANGULAR
INFERIORB -ATRIZTRIANGULAR
SUPERIOR
62
>«‰ÌՏœÊÓÊ Ê Ê "33&(-04.6-5*%*.&/4*0/"-&43&13&4&/5"%04&/"33&(-046/*%*.&/4*0/"-&4

&)'52!
!LMACENAMIENTODEUNA
MATRIZTRIANGULARINFERIOREN
UNARREGLOUNIDIMENSIONAL

ELEMENTOS QUEESIGUALA
N
 N 


PORELPRINCIPIODEINDUCCIØNMATEMÈTICA#ABESE×ALARQUEENLOQUERESTADEESTECAPÓ
TULO ASÓCOMOENLOSSIGUIENTES SEHARÈUSODEESTEPRINCIPIO
!SUMIENDOQUELOSELEMENTOSDELAMATRIZTRIANGULARINFERIORFUERONALMACENADOS
ENUNARREGLOUNIDIMENSIONAL SEREQUIEREENCONTRARUNAFØRMULAQUEPERMITALOCALIZARA
CADAUNODEELLOS%NPRIMERLUGAR SEDEBECONSIDERARA0/3).) QUEINDICALAPOSICIØN
APARTIRDELACUALSEENCUENTRAALMACENADOELARREGLOˆPRIMERTÏRMINODELAFØRMULAˆ
%NGENERAL PARALLEGARACUALQUIERRENGLØNISEDEBENCONTABILIZARLOSELEMENTOSCORRES
PONDIENTESAIn RENGLONES3EDEBETENERENCUENTAENTONCES

   In

ELEMENTOS LOQUEESIGUALA

 I 
I SEGUNDOTÏRMINODELAFØRMULA


5NAVEZENELRENGLØNIDESEADO SEDEBENCONTABILIZARLOSJn ELEMENTOSNECE


SARIOSPARALLEGARALACOLUMNAJˆTERCERTÏRMINODELAFØRMULAˆ,ASUMADELOSTRES
TÏRMINOSDETERMINALALOCALIZACIØNDELELEMENTOI JDELAMATRIZTRIANGULARINFERIOR EN
UNARREGLOUNIDIMENSIONAL,AFØRMULAES


 I 
I
,/#  ! ; I J =  0/3).)  J  &ØRMULA


!SÓ POREJEMPLO SISEDESEALOCALIZARLAPOSICIØNDELELEMENTO!; =DELARREGLO


PRESENTADO EN LA lGURA A ALMACENADO EN UN ARREGLO UNIDIMENSIONAL APLICANDO LA
FØRMULASETIENE
  

,/#  ! ;   =       


3I ENCAMBIO SEDESEALOCALIZARLAPOSICIØNDELELEMENTO!; =DELARREGLOPRE


SENTADOENLAlGURAA ALAPLICARLAFØRMULASETIENE

  

,/#  ! ;  =       

 ."53*$&410$0%&/4"4 63

 -ATRIZTRIANGULARSUPERIOR
0ARAELCASODELAMATRIZTRIANGULARSUPERIORDELAlGURAB SISEALMACENAENUNARRE
GLOUNIDIMENSIONAL"lG ÏSTETENDRÈ

N     

ELEMENTOS QUEESIGUALA

N
 N 


3E REQUIERE ENTONCES DE UNA FØRMULA PARA LOCALIZAR LA POSICIØN DE UN ELEMENTO
DEUNAMATRIZTRIANGULARSUPERIOR ENUNARREGLOUNIDIMENSIONAL!DIFERENCIADELCASO
ANTERIORˆMATRIZTRIANGULARINFERIORˆ ELPROCESOESMÈSCOMPLICADO
%NPRIMERLUGAR SEDEBECONSIDERARA0/3).) QUEREPRESENTALAPOSICIØNAPARTIR
DELACUALSEENCUENTRAALMACENADOELARREGLOˆPRIMERTÏRMINODELAFØRMULAˆ%N
SEGUNDOLUGAR SEDEBENCONTABILIZARLOSELEMENTOSNECESARIOSPARALLEGARAUNRENGLØN
ICUALQUIERA ESTOES LOSELEMENTOSCORRESPONDIENTESALOSIn RENGLONESANTERIORES
AI%STECÈLCULOSEPUEDEREALIZARENDOSPARTES0RIMEROSECONTABILIZANLOSELEMENTOS
CORRESPONDIENTESAIn RENGLONESCOMPLETOSN
In YLUEGOSERESTANAESTE
RESULTADOLOSQUESONCEROSENLOSIn RENGLONESANTERIORESAI
3I

I→TENEMOSCEROSENLOSRENGLONESANTERIORES
I→TENEMOSCEROSENLOSRENGLONESANTERIORES
I→TENEMOSCEROENLOSRENGLONESANTERIORES
I→TENEMOS CEROSENLOSRENGLONESANTERIORES

%NGENERAL PODEMOSAlRMARQUEPARAIn RENGLONESSETIENEN

     In

CEROS QUEESIGUALA
 I 
 I 


,AEXPRESIØNOBTENIDAENLAPRIMERAPARTEMENOSLAFØRMULAOBTENIDAENLASEGUNDA
DACOMORESULTADOELSEGUNDOTÏRMINODELAFØRMULA

&)'52!
!LMACENAMIENTODEUNA
MATRIZTRIANGULARSUPERIOR
ENUNARREGLOUNIDIMEN
SIONAL
64
>«‰ÌՏœÊÓÊ Ê Ê "33&(-04.6-5*%*.&/4*0/"-&43&13&4&/5"%04&/"33&(-046/*%*.&/4*0/"-&4

 I 
 I 
N
 I 

0OR ÞLTIMO Y UNA VEZ EN EL RENGLØN I DESEADO SE DEBEN CONTABILIZAR LOS J n I
ELEMENTOSNECESARIOSPARALLEGARALACOLUMNAJˆTERCERTÏRMINODELAFØRMULAˆ,A
SUMADELOSTRESTÏRMINOSINDICALALOCALIZACIØNDELELEMENTOI JDELAMATRIZTRIANGULAR
SUPERIOR ENUNARREGLOUNIDIMENSIONAL,AFØRMULAESLASIGUIENTE


¥  I 
 I  ´
,/#  ! ; I J =  0/3).) ¦ N
 I  µ¶  J I &ØRMULA
§ 

!SÓ POREJEMPLO SISEDESEALOCALIZARLAPOSICIØNDELELEMENTO!; = DELARREGLO


PRESENTADOENLAlGURAB ENUNARREGLOUNIDIMENSIONAL SEREALIZALOSIGUIENTE

¥   
   ´
,/# ;  =   ¦ 
   µ¶     
§ 

3I ENCAMBIO SEDESEALOCALIZARLAPOSICIØNDELELEMENTO!; =DELARREGLOPRE


SENTADOENLAlGURAB

¥   
   ´
,/#  ! ;   =   ¦ 
   µ¶     
§ 

%JEMPLO 3UPONGAMOSQUESETIENEUNAMATRIZTRIANGULARINFERIOR!CONLASIGUIENTEDIMENSIØN
!; = ALMACENADA EN UN ARREGLO UNIDIMENSIONAL " A PARTIR DE LA POSICIØN 
!NALICELOSSIGUIENTESCASOS

A 3E NECESITA LA POSICIØN DONDE SE ENCUENTRA ALMACENADO EL ELEMENTO !; = 3E
PROCEDEDEESTAFORMA
  

,/#  ! ;   =           


B 3ENECESITALAPOSICIØNDELELEMENTO!; =3EPROCEDEASÓ
  

,/#  ! ;  =           


%JEMPLO 3UPONGAMOSQUESETIENEUNAMATRIZTRIANGULARSUPERIOR!CONLASIGUIENTEDIMENSIØN
!; = ALMACENADAENUNARREGLOUNIDIMENSIONAL"APARTIRDELAPOSICIØN
!NALICELOSSIGUIENTESCASOS
 ."53*$&410$0%&/4"4 65

A 3ENECESITALAPOSICIØNDELELEMENTO!; =3EPROCEDEDEESTAFORMA

¥  
  ´
,/#  ! ;  =   ¦ 
  µ¶     
§ 

B 3E NECESITA LA POSICIØN DONDE SE ENCUENTRA ALMACENADO EL ELEMENTO !; = 3E
PROCEDEASÓ

¥   
   ´
,/#  ! ;   =   ¦ 
   µ¶     
§ 

 -ATRIZTRIDIAGONAL
3EDICEQUEUNAMATRIZESTRIDIAGONALSILOSELEMENTOSDISTINTOSDECEROSEENCUENTRAN
LOCALIZADOSENLADIAGONALPRINCIPALYENLASDIAGONALESPORENCIMAYPORDEBAJODEÏSTA
0ORTANTO ELVALORABSOLUTODELÓNDICEIMENOSELÓNDICEJSERÈMENOROIGUALQUE%NLA
lGURAELLECTORPUEDEOBSERVARUNAMATRIZTRIDIAGONAL
3UPONGAMOSQUESEDESEAALMACENARENUNARREGLOUNIDIMENSIONAL"lGURA LA
MATRIZTRIDIAGONALPRESENTADAANTERIORMENTE
%SFÈCILOBSERVARQUEELARREGLO!TIENENELEMENTOSENLADIAGONALPRINCIPALYN
n ELEMENTOSENLASDIAGONALESPORENCIMAYDEBAJODEÏSTA0ORTANTO ELNÞMERODE
ELEMENTOSDEUNAMATRIZTRIDIAGONALSECALCULACOMO

N 
Nn

!LHACERLASOPERACIONESQUEDA

Nn
#ONELPROPØSITODELOCALIZARLAPOSICIØNDEUNELEMENTODELAMATRIZTRIDIAGONAL
ALMACENADAENUNARREGLOUNIDIMENSIONAL SEREQUIEREDEUNAFØRMULA%NPRIMERLUGAR
SEDEBECONSIDERARA0/3).) QUEINDICALAPOSICIØNINICIAL APARTIRDELACUALSEEN
CUENTRAALMACENADOELARREGLOˆPRIMERTÏRMINODELAFØRMULAˆ%NSEGUNDOLUGAR SE
DEBENCONTABILIZARLOSELEMENTOSNECESARIOSPARALLEGARAUNRENGLØNICUALQUIERAESTO
ES LOSELEMENTOSCORRESPONDIENTESALOSIn RENGLONESANTERIORES3ECALCULACOMOLA
SUMADELOSELEMENTOSDELAPRIMERAlLA MÈSTRESELEMENTOSPORIn RENGLONES
0ORTANTO ELSEGUNDOTÏRMINODELAFØRMULAES

 
In

&)'52!
-ATRIZTRIDIAGONAL
66
>«‰ÌՏœÊÓÊ Ê Ê "33&(-04.6-5*%*.&/4*0/"-&43&13&4&/5"%04&/"33&(-046/*%*.&/4*0/"-&4

&)'52!
!LMACENAMIENTODEUNA
MATRIZTRIDIAGONALENUN 0ORÞLTIMO YUNAVEZENELRENGLØNIDESEADO SEDEBENCONTABILIZARLOSELEMENTOS
ARREGLOUNIDIMENSIONAL CORRESPONDIENTESALASCOLUMNAS#ONESTElNSESIGUEELSIGUIENTECRITERIO

IJ→NOSETIENEQUECONTABILIZARNINGÞNELEMENTO
IJ→SEDEBECONTABILIZARUNELEMENTO
IJ→SETIENENQUECONTABILIZARDOSELEMENTOS

#ONLOCUALSEOBTIENELASIGUIENTEEXPRESIØN

JnI  TERCERTÏRMINODELAFØRMULA

/BSERVEQUEESTAEXPRESIØNCONTEMPLALOSTRESCASOSENUNCIADOS3I

IJ ALOSUMOLOSERÈENUNAUNIDADPORTANTO LAEXPRESIØNDACEROELEMENTOS


IJ LOSMISMOSSEANULAN QUEDANDOUNELEMENTO
IJ ALOSUMOLOSERÈENUNAUNIDADPORTANTO LAEXPRESIØNDADOSELEMENTOS

.UEVAMENTELASUMADELOSTRESTÏRMINOSDALALOCALIZACIØNDELELEMENTOI JDELA
MATRIZTRIDIAGONALENUNARREGLOUNIDIMENSIONAL0ORTANTO

,/#!;I J= 0/3).)  


In JnI 

OPERANDOQUEDA


,/#!;I J= 0/3).) I Jn &ØRMULA

!SÓ POREJEMPLO SISEDESEALOCALIZARLAPOSICIØNDELELEMENTO!; = DELARREGLO


PRESENTADOENLAlGURA ENUNARREGLOUNIDIMENSIONALSEHACE

,/#!; =  


 n

3I ENCAMBIO SEDESEALOCALIZARLAPOSICIØNDELELEMENTO!; =DELARREGLOPRE


SENTADOENLAMISMAlGURA SEHACE

,/#!; =  


 n

3EDEBETENERENCUENTA ADEMÈS QUESIELRENGLØNQUESEEVALÞAESIGUALA SE


PUEDEAPLICARLASIGUIENTEFØRMULA
 ."53*$&410$0%&/4"4 67


¥ ´
,/# ¦ ! ¨©I J ·µ    J  &ØRMULA
§ ª I  ¹̧¶

%S IMPORTANTE ACLARAR QUE LA FØRMULA ANTERIOR  AUNQUE UN POCO MÈS LARGA
TAMBIÏNFUNCIONAPARAESTECASO

%JEMPLO 3UPONGAMOSQUESETIENEUNAMATRIZTRIDIAGONAL!CONLADIMENSIØN!; = AL


MACENADAENUNARREGLOUNIDIMENSIONAL"APARTIRDELAPOSICIØN!NALICEMOSLOS
SIGUIENTESCASOS

A 3ENECESITALAPOSICIØNDONDESEENCUENTRAELELEMENTO!; =3EPROCEDEASÓ

,/#; =  


 n

B 3ISENECESITALAPOSICIØNDONDESEENCUENTRAELELEMENTO!; = SEPROCEDEDEESTA


FORMA

,/#; =  


 n

 -ATRICESSIMÏTRICASYANTISIMÏTRICAS
5NAMATRIZ!DEN§NELEMENTOSESSIMÏTRICASI!;I J=ESIGUALA!;J I= YESTOÞLTIMOSE
CUMPLEPARATODOIYPARATODOJ%NLAlGURASEPRESENTANDOSEJEMPLOSDEMATRICES
SIMÏTRICAS
0OROTRAPARTE UNAMATRIZ!DEN§NELEMENTOSESANTISIMÏTRICASI!;I J=ESIGUAL
An!;J I= YLOANTERIORSECUMPLEPARATODOIYPARATODOJCONSIDERANDOAI≠J%NLA
lGURASEOBSERVANDOSEJEMPLOSDEMATRICESANTISIMÏTRICAS
3UPONGAMOSAHORAQUESEDESEAALMACENARENUNARREGLOUNIDIMENSIONAL"LAMA
TRIZSIMÏTRICADELAlGURAA%STOÞLTIMOSEPUEDEHACERALALMACENARÞNICAMENTE
LOSELEMENTOSDELAMATRIZTRIANGULARINFERIOROSUPERIOR%NLAlGURASEPRESENTAUN
ARREGLOUNIDIMENSIONAL"QUEALMACENALAMATRIZTRIANGULARINFERIORDELAMATRIZSIMÏ
TRICAMOSTRADAENLAlGURAA
0ARALOCALIZARCUALQUIERELEMENTODELAMATRIZSIMÏTRICASEDEBEAPLICARLAFØRMULA
 PRESENTADAANTERIORMENTE PARAMATRIZTRIANGULARINFERIOR#ABEACLARARQUESIENUN

&)'52!
-ATRICESSIMÏTRICAS
B -ATRIZSIMÏTRICA
DE™
C -ATRIZSIMÏTRICA
DE™
68
>«‰ÌՏœÊÓÊ Ê Ê "33&(-04.6-5*%*.&/4*0/"-&43&13&4&/5"%04&/"33&(-046/*%*.&/4*0/"-&4

&)'52!
-ATRICESANTISIMÏTRICAS
B -ATRIZANTISIMÏTRICA
DE™
C -ATRIZANTISIMÏTRICA
DE™

DETERMINADOMOMENTOSENECESITARALOCALIZARUNELEMENTODELAMATRIZSIMÏTRICATALQUE
ELÓNDICEJSEAMAYORQUEELÓNDICEI SENECESITARÓANINVERTIRLOSMISMOSYAPLICARPOSTE
RIORMENTELAMISMAFØRMULA0OREJEMPLO SISEDESEALOCALIZARELELEMENTO!; = SE
TENDRÈQUEBUSCARELELEMENTO!; =
3IAHORASEDESEAALMACENARENUNARREGLOUNIDIMENSIONAL"LOSELEMENTOSDELA
MATRIZANTISIMÏTRICADELAlGURAA SEPROCEDEDEMANERASIMILARQUEENELCASOAN
TERIOR3EALMACENANENUNARREGLOUNIDIMENSIONALSOLAMENTELOSELEMENTOSDELAMATRIZ
TRIANGULARINFERIOROSUPERIOR%NLAlGURASEPRESENTAUNARREGLOUNIDIMENSIONAL"
QUEALMACENALAMATRIZTRIANGULARSUPERIORDELAMATRIZANTISIMÏTRICADELAlGURAA
0ARALOCALIZAR ENESTECASO UNELEMENTODELAMATRIZANTISIMÏTRICA SEDEBEAPLICAR
LAFØRMULAPARAMATRIZTRIANGULARSUPERIOR%SIMPORTANTESE×ALARQUESISETUVIERA
QUELOCALIZARUNELEMENTODELAMATRIZANTISIMÏTRICA TALQUEELÓNDICEISEAMAYORQUEEL
ÓNDICEJ SENECESITARÓAINVERTIRLOSMISMOSYAPLICARLAMISMAFØRMULA0OSTERIORMENTE
ELCONTENIDODELACELDAI JSEDEBEMULTIPLICARPORn0OREJEMPLO SINOSINTERESALOCA
LIZARELELEMENTO!; = SEBUSCARÈLAPOSICIØNDELELEMENTO!; =YELCONTENIDODE
DICHAPOSICIØNSEMULTIPLICARÈPORn

&)'52!
!LMACENAMIENTODEUNA
MATRIZSIMÏTRICAENUN
ARREGLOUNIDIMENSIONAL

&)'52!
!LMACENAMIENTODEUNA
MATRIZANTISIMÏTRICAENUN
ARREGLOUNIDIMENSIONAL
&+&3$*$*04 69

▼ %*%2#)#)/3
!RREGLOSMULTIDIMENSIONALES
Ê £° #ONSIDEREQUEELARREGLOBIDIMENSIONAL!; =SEENCUENTRAALMACENADOREN
GLØNPORRENGLØNENELARREGLOUNIDIMENSIONAL6%# APARTIRDELAPOSICIØN#ON
SIDERE ADEMÈS QUE EL ARREGLO BIDIMENSIONAL "; = TAMBIÏN SE ENCUENTRA
ALMACENADOENELARREGLO6%# COLUMNAACOLUMNA APARTIRDELAPOSICIØN
#ALCULELOSIGUIENTE

A ,APOSICIØNDELELEMENTO!; =ENELARREGLO6%#
B ,APOSICIØNDELELEMENTO!; =ENELARREGLO6%#
C ,APOSICIØNDELELEMENTO"; =ENELARREGLO6%#
D ,APOSICIØNDELELEMENTO"; =ENELARREGLO6%#

Ê Ó° #ONSIDERE LOS ARREGLOS MULTIDIMENSIONALES !- Y "- DECLARADOS DE LA SIGUIENTE
FORMA

!-;  =Y"-;   =

!-ESTÈALMACENADORENGLØNPORRENGLØNENELARREGLOUNIDIMENSIONAL6%!- A
PARTIRDELAPRIMERAPOSICIØN"-ESTÈALMACENADO COLUMNAACOLUMNA ENELARRE
GLOUNIDIMENSIONAL6%"- APARTIRDELAPOSICIØN#ALCULELOSIGUIENTE

A ,APOSICIØNDELELEMENTO!-;  =ENELARREGLO6%!-
B ,APOSICIØNDELELEMENTO!-;  =ENELARREGLO6%!-
C ,APOSICIØNDELELEMENTO"-;   =ENELARREGLO6%"-
D ,APOSICIØNDELELEMENTO"-;   =ENELARREGLO6%"-

Ê Î° #ONSIDEREMOSQUELOSARREGLOSBIDIMENSIONALES!Y"DEM§NELEMENTOSSEEN
CUENTRANALMACENADOSENUNARREGLOUNIDIMENSIONAL6%#DE§M§NELEMENTOS
!ESTÈALMACENADORENGLØNPORRENGLØNAPARTIRDELAPRIMERAPOSICIØN"ESTÈALMA
CENADOCOLUMNAACOLUMNAAPARTIRDELAPOSICIØNM
N %SCRIBAUNPROGRAMA
QUEREALICELOSIGUIENTE

A /BTENGALASUMADELOSARREGLOSBIDIMENSIONALESALMACENADOSEN6%#YALMACÏNE
LAENELARREGLOUNIDIMENSIONAL35- ORDENADOPORRENGLONES APARTIRDELAPRIMERA
POSICIØN
B )MPRIMAELRESULTADODELASUMA ALMACENADOEN35- ENFORMADEMATRIZ

Ê {° 3EANLOSARREGLOSBIDIMENSIONALES!Y"DEM§NYN§PELEMENTOS RESPECTIVA


MENTE AMBOSALMACENADOSENUNARREGLOUNIDIMENSIONAL6%#!ESTÈALMACENADO
RENGLØNPORRENGLØNAPARTIRDELAPOSICIØNY"TAMBIÏNSEENCUENTRAORDENADOPOR
RENGLONESAPARTIRDELAPOSICIØNM
N %SCRIBAUNPROCEDIMIENTOQUEREALICE
LOSIGUIENTE
70
>«‰ÌՏœÊÓÊ Ê Ê "33&(-04.6-5*%*.&/4*0/"-&43&13&4&/5"%04&/"33&(-046/*%*.&/4*0/"-&4

A /BTENGAELPRODUCTODELOSARREGLOSBIDIMENSIONALES!Y"ALMACENADOSEN6%#Y
GUARDEELRESULTADOENELMISMOARREGLO COLUMNAACOLUMNA APARTIRDELAPOSICIØN
M
N N
P 
B )MPRIMAELRESULTADODELPRODUCTO ALMACENADOEN6%# ENFORMADEMATRIZ

Ê x° 3EA#!,UNARREGLOBIDIMENSIONALDE§CORRESPONDIENTEALASCALIlCACIONES
DEALUMNOSENSEISEXÈMENESDIFERENTES#!,SEENCUENTRAALMACENADORENGLØN
PORRENGLØN APARTIRDELAPOSICIØN ENELARREGLOUNIDIMENSIONAL5.)%SCRIBA
UNPROCEDIMIENTOQUEOBTENGALOSIGUIENTE

A %LPROMEDIODECALIlCACIONESDELOSALUMNOSENLOSSEISEXÈMENES
B %LALUMNOQUEOBTUVOLAMAYORCALIlCACIØNENELTERCEREXAMEN/BSERVEQUEPUE
DEHABERMÈSDEUNALUMNOCONLAMÈSALTACALIlCACIØN
C %LEXAMENENELQUEELPROMEDIODELOSALUMNOSFUEELMÈSALTO

Ê È° #ONSIDEREELARREGLOTRIDIMENSIONAL!42)DEM§N§PELEMENTOSALMACENADOS
COLUMNAACOLUMNA ENELARREGLOUNIDIMENSIONAL!5.)APARTIRDELAPRIMERAPOSI
CIØN%SCRIBAUNPROCEDIMIENTOQUEIMPRIMALOSIGUIENTE

A %LRENGLØNYLACOLUMNADONDESEENCUENTRANELEMENTOSNULOSUSTEDDEBETRABAJAR
CONELARREGLO!5.) 
B %LTOTALDEELEMENTOSNULOS
C %LPORCENTAJEDEELEMENTOSNULOS CONRESPECTOALNÞMEROTOTALDEELEMENTOSDEL
ARREGLOTRIDIMENSIONAL

Ê Ç° ,OSELEMENTOSDEUNARREGLOBIDIMENSIONALDE§ELEMENTOSSEALMACENARON REN


GLØNPORRENGLØN ENUNARREGLOUNIDIMENSIONAL!%SCRIBAUNSUBPROGRAMAQUE

A )NTERCAMBIELOSELEMENTOSDELRENGLØNCONLOSDELRENGLØN.YLOSDELRENGLØN
CONLOSDELRENGLØN.n YASÓSUCESIVAMENTE
B )MPRIMAELARREGLORESULTANTE ENFORMADEMATRIZ

-ATRICESPOCODENSAS
Ê n° 3EA6%#UNARREGLOUNIDIMENSIONALQUEALMACENALOSELEMENTOSDISTINTOSDECERO
DEUNAMATRIZPOCODENSA!DECUATRORENGLONESYSEISCOLUMNAS#ADAELEMENTODEL
ARREGLO6%#ESUNREGISTROQUECONTIENEELRENGLØN LACOLUMNAYELVALORDISTINTODE
CERODELAMATRIZ%SCRIBASUBPROGRAMASQUEREALICENLOSIGUIENTE

A $ETERMINEELVALORDELELEMENTOI JDELAMATRIZ4OMEENCUENTAQUELABÞSQUEDAA
REALIZARENELARREGLO6%#DEBESERØPTIMA
B )MPRIMALAMATRIZPOCODENSA! APARTIRDELARREGLO6%#
&+&3$*$*04 71

Ê ™° 3UPONGAMOSQUEEXISTENDOSMATRICESPOCODENSAS!Y"DE§ELEMENTOS QUE


TIENENALMACENADOSSUSVALORESDISTINTOSDECEROENLOSARREGLOSUNIDIMENSIONALES
6%#Y6%# RESPECTIVAMENTE%JEMPLO

%SCRIBAUNSUBPROGRAMAQUEOBTENGALASUMADEDICHASMATRICESPOCODENSAS UTI
LIZANDOSOLAMENTELOSARREGLOS6%#Y6%# YALMACENEELRESULTADOˆCONSIDERE
SOLAMENTELOSELEMENTOSDISTINTOSDECEROˆENELARREGLOUNIDIMENSIONAL6%#

£ä°#ONSIDERELASMATRICESPOCODENSAS!Y" DECLARADASDELASIGUIENTEFORMA

!; =Y"; =

!SEENCUENTRAALMACENADAENELARREGLOUNIDIMENSIONAL6%#Y"ENELARREGLO
UNIDIMENSIONAL6%# %SCRIBA UN SUBPROGRAMA QUE OBTENGA EL PRODUCTO DE ! Y
"ˆUTILIZANDOSOLAMENTELOSARREGLOS6%#Y6%#ˆYALMACENEELRESULTADO
COLUMNAACOLUMNA ENELARREGLOUNIDIMENSIONAL6%#
72
>«‰ÌՏœÊÓÊ Ê Ê "33&(-04.6-5*%*.&/4*0/"-&43&13&4&/5"%04&/"33&(-046/*%*.&/4*0/"-&4

££°3ETIENENLOSDATOSDELAPRODUCCIØNAGRÓCOLA PORTIPODECULTIVOˆENTOTALˆ DE


LASENTIDADESDELPAÓS.OTODOSLOSESTADOSTIENENTODOSLOSCULTIVOS%NAQUELLOS
CASOSENLOSCUALESUNESTADONOCULTIVACIERTOSPRODUCTOS HABRÈCEROSENLASPOSI
CIONESCORRESPONDIENTES%SCRIBAUNPROGRAMAQUE

A !LMACENELOSDATOSDIFERENTESDECERO ENUNARREGLOUNIDIMENSIONAL
B %NCUENTREELESTADOQUEOBTUVOMAYORPRODUCCIØNAGRÓCOLA CONSIDERANDOTODOSLOS
CULTIVOS
C %NCUENTREELPRODUCTO SIEXISTIERA QUESECULTIVAENTODOSLOSESTADOS
D %NCUENTREELESTADO SIEXISTIERA QUECULTIVATODOSLOSPRODUCTOS
E %NCUENTREELESTADO SIEXISTIERA QUECULTIVASØLOLOSCULTIVOSDETIPOSY

£Ó°,ASMATRICESCUADRADASPOCODENSAS!Y"DEORDENFUERONALMACENADASENEL
ARREGLOUNIDIMENSIONAL5.)APARTIRDELAPRIMERAYDECIMOPRIMERAPOSICIØN EN
FORMARESPECTIVA$ELAMATRIZ!SOLAMENTESEALMACENARONLOSELEMENTOSCORRES
PONDIENTESALAMATRIZTRIANGULARINFERIOR$ELAMATRIZ" ENCAMBIO SEALMACENA
RONSØLOLOSELEMENTOSDELAMATRIZTRIANGULARSUPERIOR%SCRIBAUNSUBPROGRAMAQUE
SUMEDICHASMATRICESYALMACENEELRESULTADO COLUMNAACOLUMNA ENELARREGLO
UNIDIMENSIONAL35-!APARTIRDELAPRIMERAPOSICIØN

-ATRICESSIMÏTRICASYANTISIMÏTRICAS
£Î°,ASMATRICESSIMÏTRICAS!Y"DEDIMENSIØNFUERONALMACENADASENUNARREGLO
UNIDIMENSIONAL6%# A PARTIR DE LAS POSICIONES  Y  RESPECTIVAMENTE 3ØLO SE
ALMACENARONLOSELEMENTOSPERTENECIENTESALAMATRIZTRIANGULARINFERIOR%SCRIBA
UN SUBPROGRAMA QUE SUME DICHAS MATRICES Y ALMACENE EL RESULTADO RENGLØN POR
RENGLØN ENELARREGLO35-3)-APARTIRDELAPOSICIØN

£{°,A MATRIZ SIMÏTRICA ! DE DIMENSIØN  Y LA MATRIZ ANTISIMÏTRICA " DE LA MISMA
DIMENSIØN FUERONALMACENADASENELARREGLOUNIDIMENSIONAL6%#APARTIRDELAS
POSICIONESY RESPECTIVAMENTE$ELAMATRIZ!SOLAMENTESEALMACENARONLOS
ELEMENTOSCORRESPONDIENTESALAMATRIZTRIANGULARINFERIOR$ELAMATRIZ"SØLOSE
ALMACENARONLOSELEMENTOSDELAMATRIZTRIANGULARSUPERIOR%SCRIBAUNSUBPROGRA
MAQUEOBTENGALASUMADEDICHASMATRICESYALMACENEELRESULTADO RENGLØNPOR
RENGLØN ENELARREGLOUNIDIMENSIONAL35-!APARTIRDELAPRIMERAPOSICIØN

£x°5NAPERSONATIENEQUEVIAJARDEUNACIUDADAOTRA VÓATERRESTRE ENLA2EPÞBLICA


MEXICANAYDESEAREALIZARELRECORRIDOENELMENORTIEMPOPOSIBLE,OSDATOSREFE
RENTESALOSTIEMPOSENTRECIUDADESSEENCUENTRANDADOSDELASIGUIENTEFORMA
&+&3$*$*04 73

0UEDESUCEDERQUEENTREDOSCIUDADESNOEXISTAUNACARRETERADIRECTAY PORTAN
TO ELTIEMPOENTREAMBASSEAREPRESENTADOCOMO3INEMBARGO ESPOSIBLELLEGARA
UNACIUDADINTERMEDIAYDESDEAHÓTRASLADARSEHASTALACIUDADDESTINO0OREJEMPLO
SIDELACIUDADALANOHAYCARRETERADIRECTA SEPODRÓAIRPRIMEROALACIUDAD
ˆSIEXISTECARRETERAENTRELAYLAˆYLUEGODELACIUDADALAˆSIENTREELLAS
EXISTENCARRETERASˆ%SCRIBAUNPROGRAMAQUEREALICELOSIGUIENTE

A ,EALOSTIEMPOSENTRELASDISTINTASCIUDADESYLASALMACENEENUNARREGLOUNIDIMEN
SIONAL
B ,EALACIUDADORIGENYLACIUDADDESTINO
C $ETERMINEELMENORTIEMPODETRASLADOENTREDICHASCIUDADES
D 0RESENTELARUTAASEGUIR

£È°3ETIENEINFORMACIØNSOBRECOSTOSDEBOLETOSAÏREOSENTRE.CIUDADESDELPAÓS%L
COSTODELBOLETOPARAIRDELACIUDADIALACIUDADJESIGUALALCOSTODELBOLETOPARA
IRDELACIUDADJALAI0ORTANTO SEPUEDEAHORRARESPACIODEMEMORIAˆRECUERDE
LOVISTOSOBREMATRICESSIMÏTRICASˆUTILIZANDOUNARREGLOUNIDIMENSIONALPARAAL
MACENARTODOSLOSCOSTOS%SCRIBAUNPROGRAMAQUE

A ,EAELNÞMERODECIUDADES
B ,EALOSCOSTOSYLOSALMACENEUSANDOUNARREGLOUNIDIMENSIONAL
C $ADOELNÞMERODEUNACIUDADORIGENYDEUNACIUDADDESTINO IMPRIMAELCOSTODEL
BOLETOCORRESPONDIENTE
D $ADOELNÞMERODEUNACIUDAD IMPRIMALOSNÞMEROSDETODASLASCIUDADESALASQUE
HAYVUELO PARTIENDODELACIUDADESPECÓlCA
#APÓTULO Î
0),!39
#/,!3
 ).42/$5##)¼.
#UANDOSEPRESENTARONLOSARREGLOS ENELCAPÓTULO SEMENCIONØQUEERANESTRUCTURAS
LINEALES%SDECIR CADACOMPONENTETIENEUNÞNICOSUCESORYUNÞNICOPREDECESORCON
EXCEPCIØNDELPRIMEROYDELÞLTIMO RESPECTIVAMENTE0OROTRAPARTE ALANALIZARLASOPE
RACIONESDEINSERCIØNYELIMINACIØN SEOBSERVØQUELOSELEMENTOSSEPODÓANINSERTARO
ELIMINARENCUALQUIERPOSICIØNDELARREGLO#ABESE×ALAR SINEMBARGO QUEEXISTENPRO
BLEMASQUEPORSUNATURALEZAREQUIERENQUELOSELEMENTOSSEAGREGUENOSEQUITENSØLO
PORUNEXTREMO%STECAPÓTULOSEDEDICAALESTUDIODEPILASYCOLAS QUESONESTRUCTURAS
DEDATOSLINEALESCONRESTRICCIONESENCUANTOALAPOSICIØNENLACUALSEPUEDENLLEVARA
CABOLASOPERACIONESDEINSERCIØNYELIMINACIØNDECOMPONENTES

 0),!3
5NAPILAREPRESENTAUNAESTRUCTURALINEALDEDATOSENLAQUESEPUEDEAGREGAROQUITAR
ELEMENTOSÞNICAMENTEPORUNODELOSDOSEXTREMOS%NCONSECUENCIA LOSELEMENTOSDE
UNAPILASEELIMINANENORDENINVERSOALQUESEINSERTARONESDECIR ELÞLTIMOELEMENTO
QUESEMETEENLAPILAESELPRIMEROQUESESACA$EBIDOAESTACARACTERÓSTICA SELECO
NOCECOMOESTRUCTURA,)&/,AST )NPUT &IRST /UTPUTELÞLTIMOENENTRARESELPRIMERO
ENSALIR 
%XISTEN NUMEROSOS CASOS PRÈCTICOS EN LOS QUE SE UTILIZA EL CONCEPTO DE PILA POR
EJEMPLO UNAPILADEPLATOS UNAPILADELATASENUNSUPERMERCADO UNAPILADELIBROSQUE
SEEXHIBENENUNALIBRERÓA ETCÏTERA%NLAlGURASEOBSERVAUNAPILADEPLATOS%SDE
SUPONERQUESIELCOCINERONECESITAUNPLATOLIMPIO TOMARÈELQUEESTÈENCIMADETODOS
QUEESELÞLTIMOQUESECOLOCØENLAPILA
,ASPILASSONESTRUCTURASDEDATOSLINEALES COMOLOSARREGLOS YAQUELOSCOMPO
NENTESOCUPANLUGARESSUCESIVOSENLAESTRUCTURAYCADAUNODEELLOSTIENEUNÞNICOSUCE
SORYUNÞNICOPREDECESOR CONEXCEPCIØNDELÞLTIMOYDELPRIMERO RESPECTIVAMENTE
5NAPILASEDElNEFORMALMENTECOMOUNACOLECCIØNDEDATOSALOSCUALESSEPUEDE
ACCEDERMEDIANTEUNEXTREMO QUESECONOCEGENERALMENTECOMOTOPE
76
>«‰ÌՏœÊÎÊ Ê Ê 1*-"4:$0-"4

&)'52!
%JEMPLOSPRÉCTICOSDEPILAS

 2EPRESENTACIØNDEPILAS
,ASPILASNOSONESTRUCTURASFUNDAMENTALESDEDATOSESDECIR NOESTÈNDElNIDASCOMO
TALESENLOSLENGUAJESDEPROGRAMACIØN0ARASUREPRESENTACIØNREQUIERENELUSODEOTRAS
ESTRUCTURASDEDATOS COMO

◗ !RREGLOS
◗ ,ISTAS

%NESTELIBROSEUTILIZARÈNARREGLOS%NCONSECUENCIA ESIMPORTANTEDElNIRELTAMA
×OMÈXIMODELAPILA ASÓCOMOUNAVARIABLEAUXILIARALAQUESEDENOMINA4/0%%STA
VARIABLESEUTILIZAPARAINDICARELÞLTIMOELEMENTOQUESEINSERTØENLAPILA%NLAlGURA
SEPRESENTANDOSALTERNATIVASDEREPRESENTACIØNDEUNAPILA UTILIZANDOARREGLOS

&)'52!
2EPRESENTACIØNDEPILAS
 1*-"4 77

&)'52!
2EPRESENTACIØNDEPILAS
A 0ILALLENAB 0ILACON
ALGUNOSELEMENTOSC 0ILA
VACÓA

%NLAlGURASEPRESENTANEJEMPLOSDEA PILALLENA B PILACONALGUNOSELEMEN


TOSYC PILAVACÓA
!L UTILIZAR ARREGLOS PARA IMPLEMENTAR PILAS SE TIENE LA LIMITACIØN DE QUE SE DEBE
RESERVARESPACIODEMEMORIACONANTICIPACIØN CARACTERÓSTICAPROPIADELOSARREGLOS5NA
VEZDADOUNMÈXIMODECAPACIDADALAPILANOESPOSIBLEINSERTARUNNÞMERODEELEMEN
TOSMAYORALMÈXIMOESTABLECIDO3ILAPILAESTUVIERALLENAYSEINTENTARAINSERTARUN
NUEVOELEMENTO SEPRODUCIRÈUNERRORCONOCIDOCOMODESBORDAMIENTOˆOVERmOWˆ
0OREJEMPLO SIENLAPILAQUESEPRESENTAENLAlGURAA DONDE4/0%-!8 SE
QUISIERAINSERTARUNNUEVOELEMENTO SEPRODUCIRÈUNERRORDEESTETIPO,APILAESTÈLLENA
YELESPACIODEMEMORIARESERVADOESlJO NOSEPUEDEEXPANDIRNICONTRAER
5NAPOSIBLESOLUCIØNAESTETIPODEINCONVENIENTESCONSISTEENDElNIRPILASDEGRAN
TAMA×O PEROESTOÞLTIMORESULTARÓAINElCIENTEYCOSTOSOSISØLOSEUTILIZARANALGUNOS
ELEMENTOS.OSIEMPREESVIABLESABERCONEXACTITUDCUÈLESELNÞMERODEELEMENTOSA
TRATARPORTANTO SIEMPREEXISTELAPOSIBILIDADDECOMETERUNERRORDEDESBORDAMIENTO
ˆSISERESERVAMENOSESPACIODELQUEEFECTIVAMENTESEUSARȈOBIENDEHACERUSOINE
lCIENTEDELAMEMORIAˆSISERESERVAMÈSESPACIODELQUEREALMENTESENECESITAˆ
%XISTEOTRAALTERNATIVADESOLUCIØNAESTEPROBLEMA#ONSISTEENUSARESPACIOSCOM
PARTIDOSDEMEMORIAPARALAIMPLEMENTACIØNDEPILAS3UPONGAMOSQUESENECESITAN
DOSPILAS CADAUNADEELLASCONUNTAMA×OMÈXIMODE.ELEMENTOS3EDElNIRÈENTON
CESUNSOLOARREGLOUNIDIMENSIONALDE
.ELEMENTOS ENLUGARDEDOSARREGLOSDE.
ELEMENTOSCADAUNO
#OMOSEILUSTRAENLAlGURA LA0),!OCUPARÈDESDELAPOSICIØNENADELANTE
   MIENTRASQUELA0),!OCUPARÈDESDELAPOSICIØN
.HACIAATRÈS
.n

.n  3IENALGÞNPUNTODELPROCESOLA0),!NECESITARAMÈSESPACIODELQUE
REALMENTETIENEˆ.ˆYENESEMOMENTOLA0),!NOTUVIERAOCUPADOSSUS.LUGARES
ENTONCESSERÓAPOSIBLEAGREGARELEMENTOSALA0),!SINCAERENUNERRORDEDESBORDA
MIENTOlGURA !LGOSIMILARPODRÓASUCEDERPARALA0),! SIÏSTANECESITARAMÈSDE
.ESPACIOSYLA0),!TUVIERALUGARESDISPONIBLESlGURAB 
78
>«‰ÌՏœÊÎÊ Ê Ê 1*-"4:$0-"4

&)'52!
2EPRESENTACIØNDEPILASEN
ESPACIOSCOMPARTIDOS

/TROERRORQUESEPUEDEPRESENTARALTRABAJARCONPILASESTRATARDEELIMINARUNELE
MENTODEUNAPILAVACÓA%STETIPODEERRORSECONOCECØMOSUBDESBORDAMIENTOˆUN
DERmOWˆ0OREJEMPLO SIENLAPILAQUESEPRESENTAENLAlGURAC DONDE4/0%
SEDESEARAELIMINARUNELEMENTO SEPRESENTARÓAUNERRORDEESTETIPO

 /PERACIONESCONPILAS
,ADElNICIØNDEUNAESTRUCTURADEDATOSQUEDACOMPLETAALINCLUIRLASOPERACIONESQUESE
PUEDENREALIZARENELLA0ARAELCASODELASPILAS LASOPERACIONESBÈSICASQUESEPUEDEN
LLEVARACABOSON

◗ )NSERTARUNELEMENTOˆ0USHˆENLAPILA
◗ %LIMINARUNELEMENTOˆ0OPˆDELAPILA

&)'52!
2EPRESENTACIØNDEPILAS
ENESPACIOSCOMPARTIDOS
A 0),!TIENEMÉSDE.
ELEMENTOSY0),!TIENE
MENOSDE.ELEMENTOS
B 0),!TIENEMÉSDE.
ELEMENTOSY0),!TIENE
MENOSDE.ELEMENTOS
 1*-"4 79

9LASOPERACIONESAUXILIARES

◗ 0ILA?VACÓA
◗ 0ILA?LLENA

#ONSIDERANDOQUESETIENEUNAPILACONCAPACIDADPARAALMACENARUNNÞMEROMÈXI
MODEELEMENTOSˆ-!8ˆ YQUEELÞLTIMODEELLOSSEINDICACON4/0% ACONTINUA
CIØNSEPRESENTANLOSALGORITMOSCORRESPONDIENTESALASOPERACIONESMENCIONADAS3ILA
PILAESTÈVACÓA ENTONCES4/0%ESIGUALA

!LGORITMO 0ILA?VACÓA

0ILA?VACÓA0),! 4/0% "!.$

[%STEALGORITMOVERIlCASIUNAESTRUCTURATIPOPILAˆ0),!ˆESTÈVACÓA ASIGNANDOA"!.$EL
VALORDEVERDADCORRESPONDIENTE,APILASEIMPLEMENTAENUNARREGLOUNIDIMENSIONAL4/0%
ESUNPARÈMETRODETIPOENTERO"!.$ESUNPARÈMETRODETIPOBOOLEANO]

 3I4/0% [6ERIlCASINOHAYELEMENTOSALMACENADOSENLAPILA]


ENTONCES
(ACER"!.$←6%2$!$%2/[,APILAESTÈVACÓA]
SINO
(ACER"!.$←&!,3/[,APILANOESTÈVACÓA]
 [&INDELCONDICIONALDELPASO]

!LGORITMO 0ILA?LLENA

0ILA?LLENA0),! 4/0% -!8 "!.$

[%STEALGORITMOVERIlCASIUNAESTRUCTURATIPOPILAˆ0),!ˆESTÈLLENA ASIGNANDOA"!.$EL
VALORDEVERDADCORRESPONDIENTE,APILASEIMPLEMENTAENUNARREGLOUNIDIMENSIONALDE-!8
ELEMENTOS4/0%ESUNPARÈMETRODETIPOENTERO"!.$ESUNPARÈMETRODETIPOBOOLEANO]

 3I4/0%-!8
ENTONCES
(ACER"!.$←6%2$!$%2/[,APILAESTÈLLENA]
SINO
(ACER"!.$←&!,3/[,APILANOESTÈLLENA]
 [&INDELCONDICIONALDELPASO]
80
>«‰ÌՏœÊÎÊ Ê Ê 1*-"4:$0-"4

!LGORITMO 0ONE

0ONE0),! 4/0% -!8 $!4/

[%STEALGORITMOAGREGAELELEMENTO$!4/ENUNAESTRUCTURATIPOPILAˆ0),!ˆ SILAMISMA
NOESTÈLLENA!CTUALIZAELVALORDE4/0%-!8REPRESENTAELNÞMEROMÈXIMODEELEMENTOS
QUEPUEDEALMACENAR0),!4/0%ESUNPARÈMETRODETIPOENTERO]

 ,LAMARA0ILA?LLENACON0),! 4/0% -!8Y"!.$


 3I"!.$6%2$!$%2/
ENTONCES
%SCRIBIRh$ESBORDAMIENTOn0ILALLENAv
SINO
(ACER4/0%←4/0% Y0),!;4/0%=←$!4/
[!CTUALIZA4/0%EINSERTAELNUEVOELEMENTOENEL4/0%DE0),!]
 [&INDELCONDICIONALDELPASO]

!LGORITMO 1UITA

1UITA0),! 4/0% $!4/

[%STEALGORITMOSACAUNELEMENTOˆ$!4/ˆDEUNAESTRUCTURATIPOPILAˆ0),!ˆ SIÏSTANO
SEENCUENTRAVACÓA%LELEMENTOQUESEELIMINAESELQUESEENCUENTRAENLAPOSICIØNINDICADA
POR4/0%]

 ,LAMARA0ILA?VACÓACON0),! 4/0%Y"!.$


 3I"!.$6%2$!$%2/
ENTONCES
%SCRIBIRh3UBDESBORDAMIENTOn0ILAVACÓAv
SINO
(ACER$!4/←0),!;4/0%=Y4/0%←4/0%n[!CTUALIZA4/0%]
 [&INDELCONDICIONALDELPASO]

!CONTINUACIØNSEPRESENTAUNEJEMPLOPARAILUSTRARELFUNCIONAMIENTODELASOPE
RACIONESDEINSERCIØNYELIMINACIØNENPILAS

%JEMPLO 3ISEINSERTARANLOSELEMENTOSLUNES MARTES MIÏRCOLES JUEVESYVIERNESEN0),! LA


ESTRUCTURAQUEDARÓATALYCOMOSEMUESTRAENLAlGURAA!HORABIEN SISEELIMINARA
ELELEMENTOVIERNES EL4/0%APUNTARÓAAHORAAJUEVESlGB 
3IENALGÞNMOMENTOSEQUISIERAELIMINARALELEMENTOMARTES ESTONOSERÓAPOSIBLE
YAQUESØLOSEPUEDETENERACCESOALELEMENTOQUESEENCUENTRAENLACIMADELAPILA
 1*-"4 81

&)'52!
)NSERCIØNYELIMINACIØN
ENPILAS

5NAFORMADERESOLVERESTEPROBLEMAESELIMINARPRIMERAMENTELOSELEMENTOSJUEVESY
MIÏRCOLES DEESTAMANERAMARTESQUEDARÓAUBICADOENLACIMADE0),!YAHORASERÓA
POSIBLEEXTRAERLOlGURASA BYC 

 !PLICACIONESDEPILAS
,AS PILAS SON UNA ESTRUCTURA DE DATOS MUY USADA EN LA SOLUCIØN DE DIVERSOS TIPOS DE
PROBLEMAS ENELÈREADELACOMPUTACIØN!HORASEANALIZARÈNALGUNOSDELOSCASOSMÈS
REPRESENTATIVOSDEAPLICACIØNDELASMISMAS

&)'52!
)NSERCIØNYELIMINACIØN
A ,UEGODESACARJUEVES
B ,UEGODESACARMIÏR
COLESC ,UEGODESACAR
MARTES
82
>«‰ÌՏœÊÎÊ Ê Ê 1*-"4:$0-"4

◗ ,LAMADASASUBPROGRAMAS
◗ 2ECURSIVIDAD
◗ 4RATAMIENTODEEXPRESIONESARITMÏTICAS
◗ /RDENACIØN

,LAMADASASUBPROGRAMAS
#UANDO SE TIENE UN PROGRAMA QUE LLAMA A UN SUBPROGRAMA TAMBIÏN CONOCIDO COMO
MØDULOOFUNCIØN INTERNAMENTESEUSANPILASPARAGUARDARELESTADODELASVARIABLES
DELPROGRAMA ASÓCOMOLASINSTRUCCIONESPENDIENTESDEEJECUCIØNENELMOMENTOQUESE
HACELALLAMADA#UANDOTERMINALAEJECUCIØNDELSUBPROGRAMA LOSVALORESALMACENADOS
ENLAPILASERECUPERANPARACONTINUARCONLAEJECUCIØNDELPROGRAMAENELPUNTOENEL
CUALFUEINTERRUMPIDO!DEMÈSDELASVARIABLESSERECUPERALADIRECCIØNDELPROGRAMAEN
LAQUESEHIZOLALLAMADA PORQUEAESAPOSICIØNSEREGRESAELCONTROLDELPROCESO
3UPONGAMOS POREJEMPLO QUESETIENEUNPROGRAMAPRINCIPAL00 QUELLAMAA
LOSSUBPROGRAMAS5./Y$/3!SUVEZ ELSUBPROGRAMA$/3LLAMAAL42%3#ADA
VEZQUELAEJECUCIØNDEUNODELOSSUBPROGRAMASCONCLUYE SEREGRESAELCONTROLALNIVEL
INMEDIATOSUPERIORlG 
#UANDOELPROGRAMA00LLAMAA5./ SEGUARDAENUNAPILALAPOSICIØNENLAQUE
SEHIZOLALLAMADAlGA !LTERMINAR5./ ELCONTROLSEREGRESAA00RECUPERANDO
PREVIAMENTELADIRECCIØNDELAPILAlGB !LLLAMARA$/3 NUEVAMENTESEGUARDA
LADIRECCIØNDE00ENLAPILAlGC #UANDO$/3LLAMAA42%3 SEPONEENLAPILA
LADIRECCIØNDE$/3lGD $ESPUÏSDEPROCESAR42%3 SERECUPERALAPOSICIØNDE
$/3PARACONTINUARCONSUEJECUCIØNlGE !LTERMINAR$/3SEREGRESAELCONTROL
A00 OBTENIENDOPREVIAMENTELADIRECCIØNGUARDADAENLAPILAlGF 
&INALMENTEPODEMOSCONCLUIRQUELASPILASSONNECESARIASENESTETIPODEAPLICACIO
NESPORLOSIGUIENTE

&)'52!
,LAMADAASUBPROGRAMAS
 1*-"4 83

&)'52!
!PLICACIØNDEPILASLLAMA
DASASUBPROGRAMAS

◗ 0ERMITENGUARDARLADIRECCIØNDELPROGRAMA OSUBPROGRAMA DESDEDONDESEHIZOLA


LLAMADAAOTROSSUBPROGRAMAS PARAREGRESARPOSTERIORMENTEYSEGUIREJECUTÈNDOLOA
PARTIRDELAINSTRUCCIØNINMEDIATAALALLAMADA
◗ 0ERMITENGUARDARELESTADODELASVARIABLESENELMOMENTOENQUESEHACELALLAMA
DA PARASEGUIROCUPÈNDOLASALREGRESARDELSUBPROGRAMA

2ECURSIVIDAD
%LCAPÓTULOESTÈDEDICADOALESTUDIODELARECURSIVIDAD3EDEJARÈPARAENTONCESLAAPLI
CACIØNDEPILASENPROCESOSRECURSIVOS

4RATAMIENTODEEXPRESIONESARITMÏTICAS
5NPROBLEMAINTERESANTEENCOMPUTACIØNCONSISTEENCONVERTIREXPRESIONESENNOTACIØN
INlJAASUEQUIVALENTEENNOTACIØNPRElJAOPOSlJAOPRElJA3EPRESENTAPRIMEROUNA
BREVEINTRODUCCIØNAESTOSCONCEPTOS

◗ $ADALAEXPRESIØN! "SEDICEQUEÏSTASEENCUENTRAENNOTACIØNINlJA PORQUEEL


OPERADOR SEENCUENTRAENTRELOSOPERANDOS!Y" 
84
>«‰ÌՏœÊÎÊ Ê Ê 1*-"4:$0-"4

◗ $ADALAEXPRESIØN!" SEDICEQUEÏSTASEENCUENTRAENNOTACIØNPOSTlJA PORQUE


ELOPERADOR SEENCUENTRADESPUÏSDELOSOPERANDOS!Y" 
◗ $ADALAEXPRESIØN !"SEDICEQUEÏSTASEENCUENTRAENNOTACIØNPRElJA PORQUEEL
OPERADOR ESTÈPRECEDIENDOALOSOPERANDOS!Y" 

,AVENTAJADEUSAREXPRESIONESENNOTACIØNPOSTlJAOPRElJARADICAENQUENOSON
NECESARIOSLOSPARÏNTESISPARAINDICARORDENDEOPERACIØN YAQUEÏSTEQUEDAESTABLECIDA
PORLAUBICACIØNDELOSOPERADORESCONRESPECTOALOSOPERANDOS
0ARACONVERTIRUNAEXPRESIØNDADAENNOTACIØNINlJAAUNAENNOTACIØNPOSTlJAO
PRElJASEESTABLECENPRIMEROCIERTASCONDICIONES

◗ 3OLAMENTESEMANEJARÈNLOSSIGUIENTESOPERADORESˆSEPRESENTANDEMAYORAME
NORSEGÞNSEASUPRIORIDADDEEJECUCIØNˆ

/PERADOR .OMBREDELAOPERACIØN

> 0OTENCIA


 -ULTIPLICACIØNYDIVISIØN

n 3UMAYRESTA

◗ ,OSOPERADORESDEMÈSALTAPRIORIDADSEEJECUTANPRIMERO
◗ 3IHUBIERAENUNAEXPRESIØNDOSOMÈSOPERADORESDEIGUALPRIORIDAD ENTONCESSE
PROCESARÈNDEIZQUIERDAADERECHA
◗ ,ASSUBEXPRESIONESQUESEENCUENTRANENTREPARÏNTESISTENDRÈNMÈSPRIORIDADQUE
CUALQUIEROPERADOR

3EPRESENTANACONTINUACIØN PASOAPASO ALGUNOSEJEMPLOSDECONVERSIØNDEEXPRE


SIONESINlJASANOTACIØNPOSlJA

%JEMPLO %NESTEEJEMPLOSEEXPONENDOSCASOSDETRADUCCIØNDENOTACIØNINlJAAPOSlJA%LPRI
MERODEELLOSESUNAEXPRESIØNSIMPLE MIENTRASQUEELSEGUNDOPRESENTAMAYORGRADODE
COMPLEJIDAD%NLATABLASEMUESTRANLOSPASOSNECESARIOSPARALOGRARLATRADUCCIØN
DELAPRIMERAEXPRESIØN YENLATABLALOSCORRESPONDIENTESALASEGUNDAEXPRESIØN

A %XPRESIØNINlJA8 :
7

%XPRESIØNPOSlJA8:7

%LPRIMEROPERADORQUESEPROCESADURANTELATRADUCCIØNDELAEXPRESIØNESLAMUL
TIPLICACIØN PASO DEBIDOAQUEESELDEMÈSALTAPRIORIDAD3ECOLOCAELOPERADORDE

4!",! EVhd :megZh^‹c


4RADUCCIØNDEINlJA  8 :
7
APOSlJA
 8 :7

 8:7

 1*-"4 85

TALMANERAQUELOSOPERANDOSAFECTADOSPORÏLLOPRECEDAN0ARAELOPERADORDESUMASE
SIGUEELMISMOCRITERIO LOSDOSOPERANDOSLOPRECEDEN%NESTECASOELPRIMEROPERANDO
ES8YELSEGUNDOES:7


B %XPRESIØNINlJA8 :
74>9n6

%XPRESIØNPOSTlJA8: 7
49>6n

4!",! 0ASO %XPRESIØN


4RADUCCIØNDEEXPRESIØN
INlJAAPOSlJA  8 :
74>9n6

 8:
74>9n6

 8:
749>n6

 8: 7
49>n6

 8: 7
49>n6

 8: 7
49>6n

%NELPASOSECONVIERTELASUBEXPRESIØNQUESEENCUENTRAENTREPARÏNTESISPORSER
LADEMÈSALTAPRIORIDAD,UEGOSESIGUECONELOPERADORDEPOTENCIA PASO YASÓCON
LOSDEMÈS SEGÞNSUJERARQUÓA#OMOCONSECUENCIADEQUELAMULTIPLICACIØNYLADIVI
SIØNTIENENIGUALPRIORIDAD SEPROCESAPRIMEROLAMULTIPLICACIØNPORENCONTRARSEMÈSA
LAIZQUIERDAENLAEXPRESIØN PASO%LOPERADORDELARESTAESELÞLTIMOQUESEMUEVE
PASO!CONTINUACIØNSEPRESENTAELALGORITMOQUETRADUCEUNAEXPRESIØNINlJAAOTRA
POSlJA

!LGORITMO #ONV?POSTlJA

#ONV?POSTlJA%) %0/3

[%STEALGORITMOTRADUCEUNAEXPRESIØNINlJAˆ%)ˆAPOSTlJAˆ%0/3ˆ HACIENDOUSODE
UNAPILAˆ0),!ˆ-!8ESELNÞMEROMÈXIMODEELEMENTOSQUEPUEDEALMACENARLAPILA]

 (ACER4/0%←
 -IENTRAS%)SEADIFERENTEDELACADENAVACÓA 2EPETIR
4OMARELSÓMBOLOMÈSALAIZQUIERDADE%)2ECORTARLUEGOLAEXPRESIØN
 3IELSÓMBOLOESPARÏNTESISIZQUIERDO
ENTONCES[0ONERSÓMBOLOEN0),!3EASUMEQUEHAYESPACIOEN0),!]
,LAMARA0ONECON0),! 4/0% -!8YSÓMBOLO
SINO
 3IELSÓMBOLOESPARÏNTESISDERECHO
ENTONCES
 -IENTRAS0),!;4/0%=≠PARÏNTESISIZQUIERDO 2EPETIR
,LAMARA1UITACON0),! 4/0%Y$!4/
(ACER%0/3←%0/3 $!4/
86
>«‰ÌՏœÊÎÊ Ê Ê 1*-"4:$0-"4

 [&INDELCICLODELPASO]
,LAMARA1UITACON0),! 4/0%Y$!4/
[3EQUITAELPARÏNTESISIZQUIERDODE0),!YNOSEAGREGA
A%0/3]
SINO
 3IELSÓMBOLOESUNOPERANDO
ENTONCES
!GREGARSÓMBOLOA%0/3
SINO[%SUNOPERADOR]
,LAMAR0ILA?VACÓACON0),! 4/0%Y"!.$
! -IENTRAS"!.$&!,3/ YLAPRIORIDADDEL
OPERADORSEAMENOROIGUALQUELAPRIORIDAD
DELOPERADORQUEESTÈENLACIMADE0),!
2EPETIR
,LAMARA1UITACON0),! 4/0%Y$!4/
(ACER%0/3←%0/3 $!4/
,LAMARA0ILA?VACÓACON0),! 4/0%Y"!.$
" [&INDELCICLODELPASO!]
,LAMARA0ONECON0),! 4/0% -!8YSÓMBOLO
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
 ,LAMARA0ILA?VACÓACON0),! 4/0%Y"!.$
 -IENTRAS"!.$&!,3/ 2EPETIR
,LAMARA1UITACON0),! 4/0%Y$!4/
(ACER%0/3←%0/3 $!4/
,LAMARA0ILA?VACÓACON0),! 4/0%Y"!.$
 [&INDELCICLODELPASO]
 %SCRIBIR%0/3

#ABESE×ALARQUEPARAESTEALGORITMOSEMANEJALAESCALADEPRIORIDADESPRESENTADA
ALINICIODEESTASECCIØN

%JEMPLO %NESTEEJEMPLOSERETOMANLOSCASOSDELEJEMPLOPARAILUSTRARELFUNCIONAMIENTODEL
ALGORITMO#ONV?POSlJA

A %XPRESIØNINlJA8 :
7

%XPRESIØNPOSlJA8:7

%NLATABLASEPRESENTANLOSPASOSNECESARIOSPARALOGRARLATRADUCCIØNDESEADA
SIGUIENDOELALGORITMO
%NLOSPASOS YELSÓMBOLOANALIZADOˆUNOPERANDOˆSEAGREGADIRECTAMENTE
A%0/3!LANALIZARELOPERADOR PASO SEVERIlCASIEN0),!HAYOPERADORESCON
MAYOROIGUALPRIORIDAD%NESTECASO 0),!ESTÈVACÓAPORTANTO SEPONEELSÓMBOLO
ENELTOPEDEELLA#ONELOPERADOR
PASO SUCEDEALGOSIMILAR%N0),!NOEXISTEN
 1*-"4 87

4!",! 3ÓMBOLO
4RADUCCIØNDEEXPRESIØN 0ASO %) ANALIZADO 0ILA %0/3
INlJAAPOSlJA  8 :
7
 :
7 8 8
 :
7 8

7 : 8:
 7

8:
 7
8:7
 8:7

 8:7

OPERADORESDEMAYOROIGUALPRIORIDADˆLASUMATIENEMENORPRIORIDADQUELAMULTIPLI
CACIØNˆ PORLOQUESEAGREGAELOPERADOR
A0),!%NLOSDOSÞLTIMOSPASOS Y SE
EXTRAENDE0),!SUSELEMENTOS AGREGÈNDOLOSA%0/3

B %XPRESIØNINlJA8 :
74>9n6

%XPRESIØNPOSTlJA8: 7
49>6n

%NLATABLASEPRESENTANLOSPASOSNECESARIOSPARALOGRARLATRADUCCIØNDESEADA
SIGUIENDOELALGORITMO
,OSPASOS QUESECONSIDERANMÈSRELEVANTESSONENELPASO ALANALIZARELPA
RÏNTESISDERECHOSEEXTRAENREPETIDAMENTETODOSLOSELEMENTOSDE0),!ENESTECASO
SØLOELOPERADOR AGREGÈNDOLOSA%0/3HASTAENCONTRARUNPARÏNTESISIZQUIERDO%L
PARÏNTESISIZQUIERDOSEQUITADE0),!PERONOSEINCLUYEEN%0/3ˆRECUERDEQUELAS
EXPRESIONESENNOTACIØNPOLACANONECESITANDEPARÏNTESISPARAINDICARPRIORIDADESˆ
#UANDOSETRATAELOPERADORDEDIVISIØN PASO SEQUITADE0),!ELOPERADOR
YSE
AGREGAA%0/3 YAQUELAMULTIPLICACIØNTIENEIGUALPRIORIDADQUELADIVISIØN!LANALI
ZARELOPERADORDERESTA PASO SEEXTRAENDE0),!YSEINCORPORANA%0/3TODOSLOS
OPERADORESDEMAYOROIGUALPRIORIDAD ENESTECASOSONTODOSLOSQUEESTÈNENELLAˆLA
POTENCIAYLADIVISIØNˆ AGREGANDOlNALMENTEELSÓMBOLOEN0),!,UEGODEAGREGARA
%0/3ELÞLTIMOOPERANDO YHABIENDOREVISADOTODALAEXPRESIØNINICIAL SEVACÓA0),!
YSEINCORPORANLOSOPERADORESENESTECASOELOPERADORn ALAEXPRESIØNPOSTlJA
!CONTINUACIØNSEPRESENTAELALGORITMOPARACONVERTIREXPRESIONESINlJASAEXPRE
SIONESESCRITASENNOTACIØNPRElJA

%JEMPLO %NESTEEJEMPLOSEEXPONENDOSCASOSDETRADUCCIØNDENOTACIØNINlJAAPRElJA%LPRI
MERODEELLOSESUNAEXPRESIØNSIMPLE MIENTRASQUEELSEGUNDOPRESENTAMAYORGRADO
DECOMPLEJIDAD

A %XPRESIØNINlJA8 :
7

%XPRESIØNPRElJA 8
:7
88
>«‰ÌՏœÊÎÊ Ê Ê 1*-"4:$0-"4

4!",! 3ÓMBOLO
4RADUCCIØNDEEXPRESIØN 0ASO %) ANALIZADO 0ILA %0/3
INlJAAPOSTlJA  8 :
74>9n6
 8 :
74>9n6  
 :
74>9n6 8  8
 :
74>9n6  8

74>9n6 :  8:

74>9n6  8:
8:
 74>9n6

8:
 4>9n6 7
8: 7
 4>9n6   8: 7

  8: 7

 >9n6 4  8: 7


4
 9n6 > > 8: 7
4
 n6 9 > 8: 7
49
n  8: 7
49>
 6 n 8: 7
49>
n n 8: 7
49>
 6 n 8: 7
49>6
 8: 7
49>6n

%NLATABLASEPRESENTANLOSPASOSNECESARIOSPARALOGRARLATRADUCCIØNDESEADA
#OMOENELCASODELANOTACIØNPOSTlJA EJEMPLO AQUÓTAMBIÏNELOPERADORDE
MULTIPLICACIØNSEPROCESAPRIMERO$ELATRADUCCIØNDELAEXPRESIØN PASO RESULTAEL
OPERADORPRECEDIENDOALOSOPERANDOS,OMISMOPARAELOPERADORDESUMA PASO

B %XPRESIØNINlJA8 :
74>9n6

%XPRESIØNPRElJAn
8:7>496

%NLATABLASEPRESENTANLOSPASOSNECESARIOSPARALOGRARLATRADUCCIØNDESEADA
,OPRIMEROQUESEPROCESAENESTECASOESLASUBEXPRESIØNQUESEENCUENTRAENTRE
PARÏNTESIS PASO%LORDENENQUESEPROCESANLOSOPERADORESESELMISMOQUESESIGUIØ

4!",! 0ASO %XPRESIØN


4RADUCCIØNDEEXPRESIØN  8 :
7
INlJAAPRElJA
 8
:7
 8
:7
 1*-"4 89

4!",! 0ASO %XPRESIØN


4RADUCCIØNDEEXPRESIØN  8 :
74>9n6
INlJAAPRElJA
 8:
74>9n6
 8:
7>49n6

8:7>49n6
 
8:7>49n6
 n
8:7>496

PARALACONVERSIØNDEINlJAAPOSlJA0ORTANTO SERÓAREITERATIVOVOLVERAEXPLICARPASOA
PASOELCONTENIDODELATABLA3INEMBARGO ESDEDESTACARLAPOSICIØNQUEOCUPANLOS
OPERADORESCONRESPECTOALOSOPERANDOSLOSPRIMEROSPRECEDENALOSSEGUNDOS
!CONTINUACIØNSEINCLUYEELALGORITMODECONVERSIØNDENOTACIØNINlJAAPRElJA
%STEALGORITMOSEDIFERENCIADELANTERIORBÈSICAMENTEENELHECHODEQUELOSELEMENTOS
DELAEXPRESIØNENNOTACIØNINlJASERECORRERÈNDEDERECHAAIZQUIERDA

!LGORITMO #ONV?PRElJA

#ONV?PRElJA%) %02%

[%STEALGORITMOTRADUCEUNAEXPRESIØNENNOTACIØNINlJA %)APRElJA %02% HACIENDOUSODE


UNAPILAˆ0),!ˆ]

[4/0%ESUNAVARIABLEDETIPOENTEROY-!8REPRESENTAELMÈXIMONÞMERODEELEMENTOSQUE
PUEDEALMACENARLAPILA]

 (ACER4/0%←
 -IENTRAS%)SEADIFERENTEDELACADENAVACÓA 2EPETIR
4OMARELSÓMBOLOMÈSALADERECHADE%)RECORTANDOLUEGOLAEXPRESIØN
 3IELSÓMBOLOESPARÏNTESISDERECHO
ENTONCES[0ONERSÓMBOLOENPILA]
,LAMARA0ONECON0),! 4/0% -!8YSÓMBOLO
SINO
 3ISÓMBOLOESPARÏNTESISIZQUIERDO
ENTONCES
 -IENTRAS0),!;4/0%=≠PARÏNTESISDERECHO 2EPETIR
,LAMARA1UITACON0),! 4/0%Y$!4/
(ACER%02%←%02% $!4/
 [&INDELCICLODELPASO]
[3ACAMOSELPARÏNTESISDERECHODE0),!YNOSEAGREGAA%02%]
,LAMARA1UITACON0),! 4/0%Y$!4/
SINO
 3ISÓMBOLOESUNOPERANDO
ENTONCES
!GREGARSÓMBOLOA%02%
90
>«‰ÌՏœÊÎÊ Ê Ê 1*-"4:$0-"4

SINO[%SUNOPERADOR]
,LAMARA0ILA?VACÓACON0),! 4/0%Y"!.$
! -IENTRAS"!.$&!,3/ YLAPRIORIDADDELOPERADOR
SEAMENORQUELAPRIORIDADDELOPERADORQUEESTÈENLACIMADE
0),! 2EPETIR
,LAMARA1UITACON0),! 4/0%Y$!4/
(ACER%02%←%02% $!4/
,LAMARA0ILA?VACÓACON0),! 4/0%Y"!.$
" [&INDELCICLODELPASO!]
,LAMARA0ONECON0),! 4/0% -!8YSÓMBOLO
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
,LAMARA0ILA?VACÓACON0),! 4/0%Y"!.$
 -IENTRAS"!.$&!,3/ 2EPETIR
,LAMARA1UITACON0),! 4/0%Y$!4/
(ACER%02%←%02% $!4/
,LAMARA0ILA?VACÓACON0),! 4/0%Y"!.$
 [&INDELCICLODELPASO]
 %SCRIBIR%02%ENFORMAINVERTIDA

%JEMPLO 3EANALIZANNUEVAMENTELOSCASOSDELEJEMPLOPARAILUSTRARELFUNCIONAMIENTODEL
ALGORITMO

A %XPRESIØNINlJA8 :
7

%XPRESIØNPRElJA 8
:7

%NLATABLASEPRESENTANLOSPASOSNECESARIOSPARALOGRARLATRADUCCIØNDESEADA
SIGUIENDOELALGORITMO

4!",! 3ÓMBOLO
0ASO %) 0ILA %02%
4RADUCCIØNDEEXPRESIØN ANALIZADO
INlJAAPRElJA  8 :
7
 8 :
7 7
 8 :

7
 8 :
7:
 8 7:

7:

 8 7:
8
 7:
8
 )NVERTIR%02% 8
:7
 1*-"4 91

%LOPERADORDEMULTIPLICACIØNSEPONEEN0),!ALSEREXAMINADO PASO!LESTAR
VACÓA0),!NOHAYOTROSOPERADORESQUESEPUDIERANQUITARˆSEGÞNSUPRIORIDADˆANTES
DEPONERELOPERADOR
%NCAMBIO ALANALIZARELOPERADORDESUMA PASO SECOMPARA
SUPRIORIDADCONLADELOPERADORDELTOPEDE0),!%NESTECASO ESMENORPORTANTO
SEEXTRAEELELEMENTODELTOPEDE0),!YSEAGREGAALAEXPRESIØNPRElJA PONIENDOl
NALMENTEELOPERADOR EN0),!#UANDOLAEXPRESIØNDEENTRADAQUEDAVACÓAESDECIR
QUEYASEHANANALIZADOTODOSSUSSÓMBOLOS SEEXTRAEREPETIDAMENTECADAELEMENTODE
0),!YSEAGREGAALAEXPRESIØNPRElJAHASTAQUE0),!QUEDEVACÓA

B %XPRESIØNINlJA8 :
74>9n6

%XPRESIØNPRElJAn
8:7>496

%NLATABLASEPRESENTANLOSPASOSNECESARIOSPARALOGRARLATRADUCCIØNDESEADA
SIGUIENDOELALGORITMO
#OMO LA EXPRESIØN SE RECORRE DE DERECHA A IZQUIERDA EL PRIMER OPERADOR QUE SE
PROCESAESLARESTA PASO0EROÏSTEESELOPERADORDELAEXPRESIØNDEMÈSBAJAPRIORI

4!",! 3ÓMBOLO
0ASO %) 0ILA %02%
4RADUCCIØNDEEXPRESIØN ANALIZADO
INlJAAPRElJA  8 :
74>9n6
 8 :
74>9n 6 6
 8 :
74>9 n n 6
 8 :
74> 9 n 69
 8 :
74 > n> 69
 8 :
7 4 n> 694
 n 694>
 8 :
7
 n 694>
 8 :
7 n 694>7
 8 :
n
694>7
 8 : n
694>7
 8 : n
694>7:
 8 n
694>7:
  8 n
694>7:8
  n
694>7:8
 n
694>7:8
 n 694>7:8

 n 694>7:8

 694>7:8
n
 )NVERTIR%02% n
8:7>496
92
>«‰ÌՏœÊÎÊ Ê Ê 1*-"4:$0-"4

DADPORTANTO PERMANECERÈEN0),!HASTAELlNALDELPROCESODECONVERSIØN PASO


#UANDO SE ENCUENTRA UN PARÏNTESIS DERECHO PASO  SE AGREGA DIRECTAMENTE A 0),!
MIENTRASQUECUANDOELSÓMBOLOANALIZADOESUNPARÏNTESISIZQUIERDO PASO SEEXTRAE
REPETIDAMENTECADAELEMENTODE0),!AGREGÈNDOLOA%02% HASTAQUESEENCUENTRAUN
PARÏNTESISDERECHO²STESERETIRADE0),!YNOSEAGREGAA%02%#UANDOYASEANA
LIZARONTODOSLOSSÓMBOLOSDELAEXPRESIØNSEPROCEDEAQUITARDE0),!SUSELEMENTOS
A×ADIÏNDOLOSA%02%&INALMENTESEINVIERTE%02%PARAOBTENERLAEXPRESIØNENNOTA
CIØNPRElJA PASO0ARAEVITARELÞLTIMOPASODELALGORITMO INVERTIRLAEXPRESIØN SE
PODRÓANIRCONCATENANDOLOSSÓMBOLOSEN%02%ENORDENINVERSO

/RDENACIØN
/TRAAPLICACIØNDELASPILASSEPUEDEVERENELMÏTODODEORDENACIØNRÈPIDA#OMOEL
TEMADEORDENACIØNESAMPLIAMENTETRATADOENELCAPÓTULO SESUGIEREREMITIRSEAÏL

 ,ACLASE0ILA
,ACLASE0ILATIENEATRIBUTOSYMÏTODOS,OSATRIBUTOSSONLACOLECCIØNDEELEMENTOSY
EL4/0%,OSMÏTODOS POROTRAPARTE SONTODASAQUELLASOPERACIONESANALIZADASENLA
SECCIØNANTERIORˆ0ILA?VACÓA 0ILA?LLENA 0ONEY1UITAˆ%NLAlGURASEPUEDE
OBSERVARGRÈlCAMENTELACLASE0ILA
3ETIENEACCESOALOSMIEMBROSDEUNOBJETODELACLASE0ILAPORMEDIODELANOTA
CIØNDEPUNTOS!LASUMIRQUELAVARIABLE0)/"*REPRESENTAUNOBJETODELACLASE0ILA
PREVIAMENTECREADO SEPUEDEHACER
0)/"*0ILA?LLENAPARAINVOCARELMÏTODOQUEDETERMINASILAPILAESTÈLLENAONO
%NESTEMÏTODONOHAYARGUMENTOS YAQUETODOSLOSVALORESREQUERIDOSSONMIEMBROS
DELACLASE
0)/"*0ONEARGUMENTO PARAINSERTARUNNUEVOELEMENTOENLAPILA%NESTEMÏTODO
SØLOHAYUNARGUMENTOQUEINDICAELVALORAGUARDARENLAPILALOSDEMÈSVALORESREQUE
RIDOSSONMIEMBROSDELACLASE

&)'52!
#LASE1JMB
 $0-"4 93

 #/,!3
5NACOLACONSTITUYEUNAESTRUCTURALINEALDEDATOSENLAQUELOSNUEVOSELEMENTOSSE
INTRODUCENPORUNEXTREMOYLOSYAEXISTENTESSEELIMINANPORELOTRO%SIMPORTANTE
SE×ALARQUELOSCOMPONENTESDELACOLASEELIMINANENELMISMOORDENENELCUALSE
INSERTARON%SDECIR ELPRIMERELEMENTOQUESEINTRODUCEENLAESTRUCTURASERÈELQUE
SEELIMINARÈENPRIMERORDEN$EBIDOAESTACARACTERÓSTICA LASCOLASTAMBIÏNRECIBENEL
NOMBREDEESTRUCTURAS&)&/&IRST )N &IRST /UTELPRIMEROENENTRARESELPRIMEROEN
SALIR 

&)'52!
%JEMPLOSPRÉCTICOS
DECOLAS
94
>«‰ÌՏœÊÎÊ Ê Ê 1*-"4:$0-"4

%XISTEN NUMEROSOS CASOS DE LA VIDA REAL EN LOS CUALES SE USA ESTE CONCEPTO 0OR
EJEMPLO LACOLADELOSBANCOSENLASQUELOSCLIENTESESPERANPARASERATENDIDOSˆLA
PRIMERAPERSONADELACOLASERÈLAPRIMERAENRECIBIRELSERVICIOˆ LACOLADELOSNI×OS
QUE ESPERAN A VECES PACIENTEMENTE PARA SUBIR A UN JUEGO MECÈNICO LAS COLAS DE LOS
VEHÓCULOSESPERANDOLALUZVERDEDELSEMÈFORO LASCOLASPARAENTRARAUNCINE TEATROO
ESTADIODEFÞTBOL ETCÏTERA

 2EPRESENTACIØNDECOLAS
,ASCOLAS ALIGUALQUELASPILAS NOEXISTENCOMOESTRUCTURASDEDATOSESTÈNDARENLOS
LENGUAJESDEPROGRAMACIØN%STETIPODEESTRUCTURADEDATOSSEPUEDEREPRESENTARME
DIANTEELUSODE

◗ !RREGLOS
◗ ,ISTAS

!LIGUALQUEENELCASODELASPILAS ENESTELIBROSEUTILIZARÈNARREGLOSPARAMOS
TRARSUFUNCIONAMIENTO3INEMBARGO LAIMPLEMENTACIØNMEDIANTELISTASESINCLUSOMÈS
SENCILLA%LLECTORPUEDEIMPLEMENTARLOSALGORITMOSNECESARIOSPARACOLAS DESPUÏSDE
ESTUDIARELCAPÓTULOQUESEDEDICAALAESTRUCTURALINEALDEDATOS
#UANDOSEIMPLEMENTANCONARREGLOSUNIDIMENSIONALES ESIMPORTANTEDElNIRUN
TAMA×OMÈXIMOPARALACOLAYDOSVARIABLESAUXILIARES5NADEELLASPARAQUEALMA
CENELAPOSICIØNDELPRIMERELEMENTODELACOLAˆ&2%.4%ˆYOTRAPARAQUEGUARDE
LAPOSICIØNDELÞLTIMOELEMENTODELACOLAˆ&).!,ˆ%NLAlGURASEMUESTRA
LAREPRESENTACIØNDEUNACOLAENLACUALSEHANINSERTADOTRESELEMENTOS Y
 ENESEORDEN
%LELEMENTOESTÈENEL&2%.4%YAQUEFUEELPRIMEROQUESEINSERTØMIENTRAS
QUEELELEMENTO QUEFUEELÞLTIMOENENTRAR ESTÈENEL&).!,DELACOLA

&)'52!
2EPRESENTACIØNDECOLAS
 $0-"4 95

&)'52!
2EPRESENTACIØNDECOLAS
A #OLALLENAB #OLACON
ALGUNOSELEMENTOSC #OLA
VACÓA

%NLAlGURA POROTRAPARTE SEPRESENTANEJEMPLOSDEA COLALLENA B COLACON


ALGUNOSELEMENTOSYC COLAVACÓA

 /PERACIONESCONCOLAS
,ADElNICIØNDELAESTRUCTURADEDATOSTIPOCOLAQUEDACOMPLETAALINCLUIRLASOPERACIO
NESQUESEPUEDENREALIZARENELLA,ASOPERACIONESBÈSICASQUEPUEDENEFECTUARSESON

◗ )NSERTARUNELEMENTOENLACOLA
◗ %LIMINARUNELEMENTODELACOLA

,ASINSERCIONESSELLEVARÈNACABOPOREL&).!,DELACOLA MIENTRASQUELASELIMI
NACIONESSEHARÈNPOREL&2%.4%ˆRECUERDEQUEELPRIMEROENENTRARESELPRIMEROEN
SALIRˆ
#ONSIDERANDOQUEUNACOLAPUEDEALMACENARUNMÈXIMONÞMERODEELEMENTOSY
QUEADEMÈS&2%.4%INDICALAPOSICIØNDELPRIMERELEMENTOY&).!,LAPOSICIØNDEL
ÞLTIMO SEPRESENTANACONTINUACIØNLOSALGORITMOSCORRESPONDIENTESALASOPERACIONES
MENCIONADAS

!LGORITMO )NSERTA?COLA

)NSERTA?COLA#/,! -!8 &2%.4% &).!, $!4/

[%STE ALGORITMO INSERTA EL ELEMENTO $!4/ AL lNAL DE UNA ESTRUCTURA TIPO COLA &2%.4% Y
&).!,SONLOSPUNTEROSQUEINDICAN RESPECTIVAMENTE ELINICIOYlNDE#/,!,APRIMERAVEZ
&2%.4%Y&).!,TIENENELVALOR YAQUELACOLAESTÈVACÓA-!8ESELMÈXIMONÞMERODE
ELEMENTOSQUEPUEDEALMACENARLACOLA]
96
>«‰ÌՏœÊÎÊ Ê Ê 1*-"4:$0-"4

 3I&).!,-!8 [6ERIlCAQUEHAYESPACIOLIBRE]


ENTONCES
(ACER&).!,←&).!, [!CTUALIZA&).!,]Y#/,!;&).!,=←$!4/
 3I&).!, ENTONCES[3EINSERTØELPRIMERELEMENTODE#/,!]
(ACER&2%.4%←
 [&INDELCONDICIONALDELPASO]
SINO
%SCRIBIRh$ESBORDAMIENTOn#OLALLENAv
 [&INDELCONDICIONALDELPASO]

!LGORITMO %LIMINA?COLA

%LIMINA?COLA#/,! &2%.4% &).!, $!4/

[%STEALGORITMOELIMINAELPRIMERELEMENTODEUNAESTRUCTURATIPOCOLAYLOALMACENAEN$!4/
&2%.4%Y&).!,SONLOSPUNTEROSQUEINDICAN RESPECTIVAMENTE ELINICIOYlNDELACOLA]

 3I&2%.4%≠ [6ERIlCAQUELACOLANOESTÏVACÓA]


ENTONCES
(ACER$!4/←#/,!;&2%.4%=
 3I&2%.4%&).!, [3IHAYUNSOLOELEMENTO]
ENTONCES
(ACER&2%.4%←Y&).!,←[)NDICA#/,!VACÓA]
SINO
(ACER&2%.4%←&2%.4% 
 [&INDELCONDICIONALDELPASO]
SINO
%SCRIBIRh3UBDESBORDAMIENTOn#OLAVACÓAv
 [&INDELCONDICIONALDELPASO]

%SPOSIBLEDElNIRALGORITMOSAUXILIARESPARADETERMINARSIUNACOLAESTÈLLENAOVA
CÓA!PARTIRDEESTOSALGORITMOSSEPODRÓANREESCRIBIRLOSALGORITMOSY
!CONTINUACIØNSEPRESENTANLOSALGORITMOSQUEPERMITENVERIlCARELESTADODEUNA
COLA QUEDANDOCOMOTAREASUGERIDALAREESCRITURADELOSDOSALGORITMOSANTERIORES

!LGORITMO #OLA?VACÓA

#OLA?VACÓA#/,! &2%.4% "!.$

[%STEALGORITMODETERMINASIUNAESTRUCTURADEDATOSTIPOCOLAESTÈVACÓA ASIGNANDOA"!.$
ELVALORDEVERDADCORRESPONDIENTE]

 3I&2%.4%
 $0-"4 97

ENTONCES
(ACER"!.$←6%2$!$%2/
SINO
(ACER"!.$←&!,3/
 [&INDELCONDICIONALDELPASO]

!LGORITMO #OLA?LLENA

#OLA?LLENA#/,! &).!, -!8 "!.$

[%STEALGORITMODETERMINASIUNAESTRUCTURADEDATOSTIPOCOLAESTÈLLENA ASIGNANDOA"!.$
EL VALOR DE VERDAD CORRESPONDIENTE -!8 ES EL NÞMERO MÈXIMO DE ELEMENTOS QUE PUEDE
ALMACENAR#/,!]

 3I&).!,-!8
ENTONCES
(ACER"!.$←6%2$!$%2/
SINO
(ACER"!.$←&!,3/
 [&INDELCONDICIONALDELPASO]

!QUÓSEINCLUYEUNEJEMPLOPARAILUSTRARELFUNCIONAMIENTODELASOPERACIONESDE
INSERCIØNYELIMINACIØNENCOLAS

%JEMPLO 2ETOMEELEJEMPLODELASECCIØN3EINSERTANEN#/,!LOSELEMENTOSLUNES
MARTES MIÏRCOLES JUEVESYVIERNESˆENESEORDENˆ DEMODOQUELAESTRUCTURAQUEDA
COMOSEMUESTRAENLAlGURA0ARAESTEEJEMPLO-!8

&)'52!
)NSERCIØNYELIMINACIØN
ENCOLAS
98
>«‰ÌՏœÊÎÊ Ê Ê 1*-"4:$0-"4

&)'52!
)NSERCIØNYELIMINACIØNEN
COLASA ,UEGODEELIMINAR
LUNESB ,UEGODEINSERTAR
SÉBADO

%LELEMENTOLUNESESELPRIMEROQUESEPUEDEELIMINARPORSERELPRIMEROQUESE
INSERTØENLACOLA,UEGODELAELIMINACIØN &2%.4%GUARDALAPOSICIØNDELSIGUIENTE
ELEMENTOlGA 3IAHORASEINSERTARASÈBADO ÏSTEOCUPARÓAAHORALAPOSICIØNSI
GUIENTEALELEMENTOVIERNESlGB 
!NALICELOQUEOCURREENLACOLA SISELLEVANACABOLASSIGUIENTESOPERACIONES

3EELIMINANMARTES MIÏRCOLES JUEVESYVIERNESlGA 


3EINSERTADOMINGOlGB 
3EELIMINASÈBADOlGC 

&)'52!
)NSERCIØNYELIMINACIØNENCOLASA ,UEGODEELIMINARMARTES MIÏRCOLES JUEVESYVIERNES
B ,UEGODEINSERTARDOMINGOC ,UEGODEELIMINARSÉBADO
 $0-"4 99

$ESPUÏSDEINSERTARALELEMENTODOMINGO YANOSEPUEDENINSERTARNUEVOSELEMEN
TOSALACOLAPORQUE&).!,ESIGUALQUE-!8&).!,-!8 3INEMBARGO COMO
LOREmEJALAlGURAC EXISTEESPACIODISPONIBLEDESPERDICIADO
/BSERVEQUELUEGODEINSERTARDOMINGOSELLEGØAUNASITUACIØNCONmICTIVAPORQUEA
PESARDEQUEHAYESPACIODISPONIBLE NOSEPUEDENINSERTAROTROSELEMENTOS%STEINCON
VENIENTESEPUEDESUPERARPERFECTAMENTESIMANEJAMOSLASCOLASENFORMACIRCULAR

 #OLASCIRCULARES
5NACOLACIRCULARCONSTITUYEUNAESTRUCTURADEDATOSLINEALENLACUALELSIGUIENTEELE
MENTO DEL ÞLTIMO EN REALIDAD ES EL PRIMERO $E ESTA FORMA SE UTILIZA DE MANERA MÈS
ElCIENTELAMEMORIADELACOMPUTADORA%NLAlGURASEMUESTRALAREPRESENTACIØN
GRÈlCADEUNACOLACIRCULAR
%NLAlGURASEILUSTRACØMOSEACTUALIZANLOSPUNTEROS&2%.4%Y&).!,EN
UNACOLACIRCULAR AMEDIDAQUESEINSERTANOELIMINANELEMENTOS%NLAlGURAALA
COLATIENEALGUNOSELEMENTOS&2%.4%Y&).!, %NLAlGURABSEHANELI

&)'52!
2EPRESENTACIØNDECOLAS
CIRCULARESA &RENTE&INAL
B &RENTE&INALC &RENTE
&INAL
100
>«‰ÌՏœÊÎÊ Ê Ê 1*-"4:$0-"4

MINADODELACOLADOSELEMENTOSˆPRIMEROSEQUITØ88YLUEGO99ˆ QUEDANDO&2%.
4%0ORÞLTIMO ENLAlGURACSEHAINSERTADOUNNUEVOELEMENTOˆ00ˆENLA
COLA#OMO&).!,-!8SELLEVØELAPUNTADORALAPRIMERAPOSICIØNQUEESTABAVACÓA
&).!, $EESTAMANERASELOGRAMEJORAPROVECHAMIENTODELESPACIODEMEMORIA
YAQUEALELIMINARUNELEMENTOLACASILLACORRESPONDIENTEDELACOLAQUEDADISPONIBLE
PARAFUTURASINSERCIONES
! CONTINUACIØN SE PRESENTAN LOS ALGORITMOS DE INSERCIØN Y ELIMINACIØN EN COLAS
CIRCULARES

!LGORITMO )NSERTA?CIRCULAR

)NSERTA?CIRCULAR#/,!#)2 -!8 &2%.4% &).!, $!4/

[%STEALGORITMOINSERTAELELEMENTO$!4/ALlNALDEUNAESTRUCTURATIPOCOLACIRCULARˆ#/
,!#)2ˆ &2%.4% Y &).!, SON LOS PUNTEROS QUE INDICAN RESPECTIVAMENTE EL INICIO Y
EL lN DE LA COLA CIRCULAR -!8 ES EL NÞMERO MÈXIMO DE ELEMENTOS QUE PUEDE ALMACENAR
#/,!#)2]

 3I&).!,-!8 Y&2%.4% O&).!,  &2%.4%


ENTONCES
%SCRIBIRh$ESBORDAMIENTOn#OLALLENAv
SINO
 3I&).!,-!8
ENTONCES
(ACER&).!,←
SINO
(ACER&).!,←&).!, 
 [&INDELCONDICIONALDELPASO]
(ACER#/,!#)2;&).!,=←$!4/
 3I&2%.4% ENTONCES
(ACER&2%.4%←
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]

!LGORITMO %LIMINA?CIRCULAR

%LIMINA?CIRCULAR#/,!#)2 -!8 &2%.4% &).!, $!4/

[%STEALGORITMOELIMINAELPRIMERELEMENTODEUNAESTRUCTURATIPOCOLACIRCULARˆ#/,!#)2ˆ
YLOALMACENAEN$!4/&2%.4%Y&).!,SONLOSPUNTEROSQUEINDICAN RESPECTIVAMENTE EL
INICIOYlNDELAESTRUCTURA-!8ESELTAMA×ODE#/,!#)2]

 3I&2%.4% [6ERIlCASILACOLAESTÈVACÓA]


ENTONCES
%SCRIBIRh3UBDESBORDAMIENTOn#OLAVACÓAv
 $0-"4 101

SINO
(ACER$!4/←#/,!#)2;&2%.4%=
 3I&2%.4%&).!,[3IHAYSØLOUNELEMENTO]
ENTONCES
(ACER&2%.4%←Y&).!,←
SINO
 3I&2%.4%-!8
ENTONCES
(ACER&2%.4%←
SINO
(ACER&2%.4%←&2%.4% 
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]

!CONTINUACIØNSEPRESENTAUNEJEMPLOPARAILUSTRARELFUNCIONAMIENTODELASOPE
RACIONESDEINSERCIØNYELIMINACIØNENCOLASCIRCULARES

%JEMPLO %NLAlGURAASEPRESENTAUNAESTRUCTURATIPOCOLACIRCULARDEMÈXIMOELEMENTOS
-!8   EN LA CUAL YA SE HAN ALMACENADO ALGUNOS VALORES %N LA lGURA B SE
MUESTRAELESTADODELACOLALUEGODEINSERTARELELEMENTO..
3ISEQUISIERAINSERTAROTROELEMENTOSEPRESENTARÓAUNERRORDEDESBORDAMIENTO YA
QUE&).!, &2%.4%
!CONTINUACIØNSEELIMINANLOSVALORES88 99 :: ++ 44Y66ENESEORDEN,A
COLAQUEDACOMOSEMUESTRAENLAlGURA

&)'52!
)NSERCIØNYELIMINACIØNENCOLASCIRCULARESA %STADOINICIALDELACOLACIRCULARB ,UEGO
DEINSERTAR..
102
>«‰ÌՏœÊÎÊ Ê Ê 1*-"4:$0-"4

&)'52!
)NSERCIØNYELIMINACIØN
ENCOLASCIRCULARES

!HORASEELIMINAELSIGUIENTEELEMENTO22!LSER&2%.4%-!8 SELEDAEL
VALORDE lGURA

&)'52!
)NSERCIØNYELIMINACIØN
ENCOLASCIRCULARES

!LELIMINAR.. COMO&2%.4%&).!, ESDECIR SØLOQUEDABAUNELEMENTOENLA


COLA ACTUALIZAMOSLOSDOSPUNTEROSENCERO,ACOLAQUEDAVACÓA lGURA

&)'52!
)NSERCIØNYELIMINACIØN
ENCOLASCIRCULARES

 $OBLECOLA
5NADOBLECOLAOBICOLAESUNAGENERALIZACIØNDEUNAESTRUCTURADEDATOSTIPOCOLA%N
UNADOBLECOLA LOSELEMENTOSSEPUEDENINSERTAROELIMINARPORCUALQUIERADELOSDOS
EXTREMOS%SDECIR SEPUEDENINSERTARYELIMINARVALORESTANTOPOREL&2%.4%COMOPOR
EL&).!,DELACOLA5NADOBLECOLASEREPRESENTACOMOSEMUESTRAENLAlGURA/B
SERVEQUELASDOSmECHASENCADAEXTREMOINDICANQUEAMBASOPERACIONESSONPOSIBLES
 $0-"4 103

&)'52!
2EPRESENTACIØNDEDOBLE
COLA

%XISTENDOSVARIANTESDELASDOBLESCOLAS

◗ $OBLECOLACONENTRADARESTRINGIDA
◗ $OBLECOLACONSALIDARESTRINGIDA

,APRIMERADEELLASPERMITEQUELASELIMINACIONESSEREALICENPORCUALESQUIERADE
LOSDOSEXTREMOS MIENTRASQUELASINSERCIONESSØLOPOREL&).!,DELACOLAlG 
,ASEGUNDAVARIANTEPERMITEQUELASINSERCIONESSEREALICENPORCUALQUIERADELOSDOS
EXTREMOS MIENTRASQUELASELIMINACIONESSØLOPOREL&2%.4%DELACOLAlG 

&)'52!
$OBLECOLACONENTRADA
RESTRINGIDA

&)'52!
$OBLECOLACONSALIDA
RESTRINGIDA

 !PLICACIONESDECOLAS
%LCONCEPTODECOLAESTÈLIGADOACOMPUTACIØN5NAAPLICACIØNCOMÞNDELASCOLASSE
PRESENTACUANDOSEENVÓAAIMPRIMIRALGÞNDOCUMENTOOPROGRAMAENLASCOLASDEIMPRE
SIØN#UANDOHAYUNASOLAIMPRESORAPARAATENDERAVARIOSUSUARIOS SUELESUCEDERQUE
ALGUNOSDEELLOSSOLICITENLOSSERVICIOSDEIMPRESIØNALMISMOTIEMPOOMIENTRASELDIS
POSITIVOESTÈOCUPADO%NESTOSCASOSSEFORMAUNACOLACONLOSTRABAJOSQUEESPERANPARA
SERIMPRESOSÏSTOSSEPROCESARÈNENELORDENENELCUALFUERONINTRODUCIDOSENLACOLA
104
>«‰ÌՏœÊÎÊ Ê Ê 1*-"4:$0-"4

/TROCASODEAPLICACIONESDECOLASENCOMPUTACIØNESELQUESEPRESENTAENLOSSIS
TEMASDETIEMPOCOMPARTIDO6ARIOSUSUARIOSCOMPARTENCIERTOSRECURSOS COMO#05Y
MEMORIADELACOMPUTADORA,OSRECURSOSSEASIGNANALOSPROCESOSQUEESTÈNENCOLADE
ESPERA SUPONIENDOQUETODOSTIENENUNAMISMAPRIORIDAD ENELORDENENELCUALFUERON
INTRODUCIDOSENLACOLA

 ,ACLASE#OLA
,A CLASE #OLA TIENE ATRIBUTOS Y MÏTODOS COMO CUALQUIER CLASE ,OS ATRIBUTOS SON LA
COLECCIØNDEELEMENTOSYLOSPUNTEROS&2%.4%Y&).!,,OSMÏTODOS POROTRAPARTE
SONTODASLASOPERACIONESANALIZADASENLASSECCIONESANTERIORES#OLA?VACÓA #OLA?LLE
NA )NSERTA?COLAY%LIMINA?COLA
%NLAlGURASEPUEDEOBSERVARGRÈlCAMENTEALACLASE#OLA3ETIENEACCESOA
LOSMIEMBROSDEUNOBJETODELACLASE#OLAPORMEDIODELANOTACIØNDEPUNTOS#UANDO
SEASUMEQUELAVARIABLE#//"*ESUNOBJETODELACLASE#OLA PREVIAMENTECREADO SE
PUEDEHACER
#//"*#OLA?LLENAPARAINVOCARELMÏTODOQUEDETERMINASILACOLAESTÈONOLLENA
%NESTEMÏTODONOHAYARGUMENTOS YAQUETODOSLOSVALORESREQUERIDOSSONMIEMBROS
DELACLASE
#//"*)NSERTA?COLAARGUMENTO PARA INSERTAR UN NUEVO ELEMENTO EN LA COLA %N
ESTEMÏTODOHAYUNÞNICOARGUMENTO QUEESELDATOAINSERTARTODOSLOSOTROSVALORES
REQUERIDOSSONMIEMBROSDELACLASE

&)'52!
#LASE#OLA°
&+&3$*$*04 105

▼ %*%2#)#)/3
0ILAS
Ê £° 4RADUZCALASSIGUIENTESEXPRESIONESANOTACIØNPOSlJAMEDIANTEELALGORITMO

A 8
: 7 4n6
B :n7
9 8>+
C 8>:n4
7
D 8n9
4n:
E :8 9
4 >7
F 7
:+n4

Ê Ó° 4RADUZCALASSIGUIENTESEXPRESIONESANOTACIØNPRElJACONELALGORITMO

A 8n4 >:
B :
+n7 8 >9n4
C 8 4
7+
D :
8n7>+
E :n8 >: :n9 >+
F 78n:
4 n9 >+

Ê Î° %SCRIBAUNPROGRAMAQUELEAUNAEXPRESIØNENNOTACIØNINlJA YLATRADUZCAANOTA


CIØNPOSlJA

Ê {° %SCRIBA UN PROGRAMA QUE LEA UNA EXPRESIØN EN NOTACIØN POSlJA Y LA TRADUZCA A
NOTACIØNPRElJA

Ê x° %SCRIBAUNPROGRAMAQUEEVALÞE CONLAAYUDADEUNAPILA UNAEXPRESIØNARITMÏTICA


DADAENNOTACIØNPRElJA

Ê È° %SCRIBAUNPROGRAMAQUEEVALÞE CONLAAYUDADEUNAPILA UNAEXPRESIØNARITMÏTICA


DADAENNOTACIØNPOSlJA

Ê Ç° %SCRIBAUNSUBPROGRAMAQUEINSERTEUNELEMENTOENUNAPILA#ONSIDERETODOSLOS
CASOSQUESEPUEDANPRESENTAR

Ê n° %SCRIBAUNSUBPROGRAMAQUEELIMINEUNELEMENTOENUNAPILA#ONSIDERETODOSLOS
CASOSQUESEPUEDANPRESENTAR

Ê ™° $IBUJELOSDISTINTOSESTADOSDEUNAESTRUCTURATIPOPILASISELLEVANACABOLASSI
GUIENTESOPERACIONES-UESTRECØMOVANQUEDANDOLAPILAYELPUNTEROALTOPEDE
LA MISMA #ONSIDERE QUE LA PILA ESTÈ INICIALMENTE VACÓA 4/0%   Y TIENE UNA
CAPACIDADMÈXIMAPARAELEMENTOS
106
>«‰ÌՏœÊÎÊ Ê Ê 1*-"4:$0-"4

A )NSERTAR0),! 8
B )NSERTAR0),! 9
C %LIMINAR0),! :
D %LIMINAR0),! 4
E %LIMINAR0),! 5
F )NSERTAR0),! 6
G )NSERTAR0),! 7
H %LIMINAR0),! 0
I )NSERTAR0),! 2

◗ z#ONCUÈNTOSELEMENTOSQUEDØLAPILA
◗ z(UBOALGÞNCASODEERRORDESBORDAMIENTOOSUBDESBORDAMIENTO 3IOCURRIØ
ALGÞNERROR EXPLÓQUELO

£ä°%SCRIBAUNSUBPROGRAMAQUEELIMINELOSELEMENTOSREPETIDOSDEUNAPILA,OSELE
MENTOSREPETIDOSOCUPANPOSICIONESSUCESIVAS

££°%SCRIBAUNSUBPROGRAMAQUEINVIERTALOSELEMENTOSDEUNAPILA

£Ó°$ElNALACLASE0ILA USANDOALGÞNLENGUAJEORIENTADOAOBJETOS CONBASEENLOSAL


GORITMOSPRESENTADOSPARAPROGRAMARLOSMÏTODOSPARAINSERTAR ELIMINARYVERIlCAR
ELESTADODELAPILA

#OLAS
£Î°3EA#UNACOLACIRCULARDEELEMENTOS)NICIALMENTELACOLAESTÈVACÓA&2%.4%
&).!, $IBUJEELESTADODE#LUEGODEREALIZARCADAUNADELASSIGUIENTES
OPERACIONES
A )NSERTARLOSELEMENTOS!! ""Y##
B %LIMINARELELEMENTO!!
C )NSERTARLOSELEMENTOS$$ %%Y&&
D )NSERTARELELEMENTO''
E )NSERTARELELEMENTO((
F %LIMINARLOSELEMENTOS""Y##

◗ z#ONCUÈNTOSELEMENTOSQUEDØ#
◗ z(UBOALGÞNCASODEERRORDESBORDAMIENTOOSUBDESBORDAMIENTO 3IOCU
RRIØALGÞNERROR EXPLÓQUELO

£{°%SCRIBAUNSUBPROGRAMAQUEINSERTEUNELEMENTOENUNACOLACIRCULAR#ONSIDERE
TODOSLOSCASOSQUESEPUEDANPRESENTAR

£x°%SCRIBAUNSUBPROGRAMAQUEELIMINEUNELEMENTODEUNACOLACIRCULAR#ONSIDERE
TODOSLOSCASOSQUESEPUEDANPRESENTAR
&+&3$*$*04 107

£È°5TILICEUNAESTRUCTURADECOLAPARASIMULARELMOVIMIENTODECLIENTESENUNACOLA
DEESPERADEUNBANCOˆSEPUEDEAUXILIARCONLOSSUBPROGRAMASESCRITOSENLOS
EJERCICIOSYˆ

£Ç°%SCRIBAUNSUBPROGRAMAQUEINVIERTALOSELEMENTOSDEUNACOLA

£n°Ê$ElNAUNALGORITMOPARAINSERTARUNELEMENTOENUNADOBLECOLA

£™°$ElNAUNALGORITMOPARAELIMINARUNELEMENTODEUNADOBLECOLA

Óä°Ê3EA#UNADOBLECOLACIRCULARDEELEMENTOS)NICIALMENTELADOBLECOLAESTÈVACÓA
&2%.4%&).!, $IBUJEELESTADODELACOLADESPUÏSDEREALIZARCADAUNA
DELASSIGUIENTESOPERACIONES

A )NSERTARPORELEXTREMODERECHOTRESELEMENTOS! "Y#
B %LIMINARPORELEXTREMOIZQUIERDOUNELEMENTO
C )NSERTARPORELEXTREMOIZQUIERDODOSELEMENTOS$Y%
D %LIMINARPORLADERECHAUNELEMENTO

Ó£°$ElNALACLASE#OLA MEDIANTEALGÞNLENGUAJEDEPROGRAMACIØNORIENTADOAOBJETOS
TOMANDO COMO BASE PARA PROGRAMAR LOS MÏTODOS LOS ALGORITMOS ESTUDIADOS PARA
INSERTAR ELIMINARYVERIlCARELESTADODELACOLA

ÓÓ°3ETIENEUNACOLADEIMPRESIØNDONDESEALMACENANLASCLAVESDELOSDOCUMENTOS
QUESEDEBENIMPRIMIR%NLAMEDIDAENQUELLEGAUNNUEVOTRABAJO ÏSTESEENCOLA
#UANDOLAIMPRESORASELIBERASETOMAUNTRABAJODELACOLAYSEIMPRIME5TILICELA
CLASEPREVIAMENTEDElNIDAPARADECLARARELOBJETO#OLA)MPRESIØNYEMPLÏELOENEL
DESARROLLODELAAPLICACIØNDESCRITA
#APÓTULO {
2%#523)¼.
 ).42/$5##)¼.

,ARECURSIØNORECURSIVIDADESUNCONCEPTOAMPLIO CONMUCHASVARIANTES YDIFÓCILDE


PRECISARCONPOCASPALABRAS!PARECEENNUMEROSASACTIVIDADESDELAVIDADIARIAPOR
EJEMPLO ENUNAFOTOGRAFÓADONDESEOBSERVAOTRAFOTOGRAFÓA/TROCASOILUSTRATIVOESEL
QUESEPRESENTAENLOSPROGRAMASDETELEVISIØN ENLOSCUALESUNPERIODISTATRANSlEREEL
CONTROLDELANOTICIAAOTROPERIODISTAQUESEENCUENTRAENOTRACIUDAD YÏSTE ASUVEZ
HACELOMISMOCONUNTERCERO#UANDOESTEÞLTIMOTERMINASUPARTICIPACIØNREGRESAEL
CONTROL AL SEGUNDO Y CUANDO ÏSTE TAMBIÏN lNALIZA SU INTERVENCIØN REGRESA EL CONTROL
ALPRIMERO%NESTECAPÓTULONOSLIMITAREMOSATRATARLARECURSIØNCOMOHERRAMIENTADE
PROGRAMACIØN
,ARECURSIØNESUNRECURSOMUYPODEROSOQUEPERMITEEXPRESARSOLUCIONESSIMPLES
YNATURALESACIERTOSTIPOSDEPROBLEMAS%SIMPORTANTECONSIDERARQUENOTODOSLOSPRO
BLEMASSONNATURALMENTERECURSIVOSALGUNOSSÓLOSONYOTROSNO
5NOBJETORECURSIVOESAQUELQUEAPARECEENLADElNICIØNDESÓMISMO ASÓCOMOEL
QUESELLAMAASÓMISMO,OSÈRBOLES POREJEMPLO QUESEESTUDIARÈNENELCAPÓTULO
REPRESENTANLASESTRUCTURASDEDATOS NOLINEALESYDINÈMICAS MÈSElCIENTESQUEEXISTEN
ACTUALMENTEENCOMPUTACIØN,ACARACTERÓSTICADELOSÈRBOLESESQUESONESTRUCTURASIN
HERENTEMENTERECURSIVAS%SDECIR ENCUALQUIERACTIVIDADDEPROGRAMACIØNQUESEREALICE
CONÈRBOLESSEUTILIZALARECURSIVIDAD
,ARECURSIØNSEPUEDEPRESENTARDEDOSMANERASDIFERENTES

A $IRECTAELPROGRAMAOSUBPROGRAMASELLAMADIRECTAMENTEASÓMISMO0OREJEM
PLO OBSERVEQUEENLAlGURA0REPRESENTAUNPROGRAMAYENALGUNAPARTEDEÏL
APARECEUNALLAMADAASÓMISMO
B )NDIRECTA EL SUBPROGRAMA LLAMA A OTRO SUBPROGRAMA Y ÏSTE EN ALGÞN MOMENTO
LLAMANUEVAMENTEALPRIMERO0OREJEMPLO ENLAlGURAELSUBPROGRAMA0LLAMAAL
SUBPROGRAMA1YÏSTE ASUVEZ INVOCAALPRIMEROESDECIR ELCONTROLREGRESAA0

%NTODADElNICIØNRECURSIVADEUNPROBLEMASIEMPRESEDEBENESTABLECERDOSPASOS
DIFERENTESYMUYIMPORTANTESELPASOBÈSICOYELPASORECURSIVO%LPRIMERO UNOO
VARIOS DEPENDIENDODELPROBLEMA SEUTILIZACOMOCONDICIØNDEPARADAOlNDELARECUR
SIVIDAD!ÏSTELLEGAMOSCUANDOENCONTRAMOSLASOLUCIØNDELPROBLEMAOCUANDODECI
DIMOSQUEYANOVAMOSASEGUIR PORQUENOESTÈNDADASLASCONDICIONESPARAHACERLO%L
110
>«‰ÌՏœÊ{Ê Ê Ê 3&$634*Î/

&)'52!
2ECURSIØNDIRECTA

PASOSEGUNDO POROTRAPARTE PROPICIALARECURSIVIDAD3EPUEDENPRESENTARUNOOVARIOS


NUEVAMENTEDEPENDIENDODELPROBLEMAARESOLVER
#UANDOSEANALIZALASOLUCIØNRECURSIVADEUNPROBLEMAESIMPORTANTEDETERMINAR
CONPRECISIØNCUÈLESSERÈNLOSPASOSBÈSICOYRECURSIVO%NCADAVUELTADELCICLOESIM
PORTANTEQUENOSACERQUEMOSCADAVEZMÈSALASOLUCIØNDELPROBLEMA OSEA ALPASO
BÈSICO3IESTONOOCURRE ENTONCESPODEMOSESTARANTEUNCICLOEXTRA×O%SDECIR ELPRO
BLEMAESTARÓAMALDElNIDOY ENTALCASO LAMÈQUINASEQUEDARÓAEJECUTANDOPORTIEMPO
INDElNIDOELPROGRAMAENQUEESTUVIERA YSØLOTERMINARÓAALAGOTARSELAMEMORIA
!CONTINUACIØNSEPRESENTANALGUNOSEJEMPLOSQUENOSPUEDENAYUDARACOMPREN
DERMÈSRÈPIDAMENTEELCONCEPTORECURSIØN

%JEMPLO &ACTORIALDEUNNÞMERO
%LFACTORIALDEUNNÞMEROENTEROPOSITIVONSEDElNECOMOELPRODUCTODELOSNÞMEROS
COMPRENDIDOSENTREYN4AMBIÏNCOMONPORELFACTORIALDENn ASÓAPARECEEL
CONCEPTODERECURSIØN,AEXPRESIØNNSIMBOLIZAELFACTORIALDEN!CONTINUACIØNSE
ILUSTRAESTECASO
0ORDElNICIØN

 →0ASOBÈSICO
 →0ASOBÈSICO

&)'52!
2ECURSIØNINDIRECTA
 */530%6$$*Î/ 111
















NN
Nn c
Nn
x



 →0ASORECURSIVO

!LCALCULAR POREJEMPLO ELFACTORIALDE DECIMOSQUEESIGUALA


!LFACTO
RIALDE LOCALCULAMOSCOMO
!LFACTORIALDE COMO
 YASÓSUCESIVAMENTE
HASTALLEGARAUNPASOBÈSICOQUEDETIENELARECURSIVIDAD,LEGAMOSADElNIR ENTONCES
ELFACTORIALDEUNNÞMERONENTÏRMINOSDELFACTORIALDELNÞMERONn 


&ØRMULA

 3INON 0ASOBÈSICO

N

N
Nn  3IN 0ASORECURSIVO

!CONTINUACIØNSEPRESENTAELALGORITMORECURSIVODELCÈLCULODELFACTORIAL

!LGORITMO &ACTORIAL?REC

&ACTORIAL?REC.

[%STEALGORITMOCALCULAELFACTORIALDEUNNÞMERO.ENFORMARECURSIVA DONDE.ESUNVALOR
NUMÏRICOENTERO POSITIVOONULO]

 3I.
ENTONCES
(ACER&ACTORIAL?REC←[0ASOBÈSICO]
SINO
(ACER&ACTORIAL?REC←.
&ACTORIAL?REC.n
[,LAMADAˆPASOˆRECURSIVA]
 [&INDELCONDICIONALDELPASO]

#UANDO SE REALIZA UNA LLAMADA RECURSIVA SE UTILIZA EN FORMA IMPLÓCITA UNA ES
TRUCTURA TIPO PILA PARA ALMACENAR LAS INSTRUCCIONES PENDIENTES DE EJECUTAR CON TODOS
LOSVALORESQUETIENENLASVARIABLESOCONSTANTESENESEMOMENTO#UANDOSETERMINALA
EJECUCIØNSELLEGAALESTADOBÈSICO SETOMALAINSTRUCCIØNQUESEENCUENTRAENELTOPEDE
LAPILAYSECONTINÞAOPERANDO%STAACCIØNSEREPITEHASTAQUELAPILAQUEDEVACÓA
112
>«‰ÌՏœÊ{Ê Ê Ê 3&$634*Î/

%NLAlGURASEPUEDEOBSERVARENFORMAGRÈlCAELSEGUIMIENTODELALGORITMO
PARA.
/BSERVEQUEENLAPILAELNÞMEROQUESEENCUENTRAENTRECORCHETESENLAPRIMERACO
LUMNADELAIZQUIERDAHACEREFERENCIAALALLAMADARECURSIVAQUESEREALIZA%STESÓMBOLO
PERMITEOBSERVARELORDENENQUESEREALIZANLASLLAMADASRECURSIVAS0OREJEMPLO ;=
EXPRESAQUEESAESLAPRIMERALLAMADARECURSIVA ;=REPRESENTALASEGUNDALLAMADAYASÓ
SUCESIVAMENTE0OROTRAPARTE ELMISMONÞMEROENTRECORCHETESALAIZQUIERDARELACIONA
LALLAMADARECURSIVACONELVALORQUEINGRESAALALGORITMOENCADALLAMADA
!CONTINUACIØNSEPRESENTALAVARIANTEITERATIVADELCÈLCULODELFACTORIAL.UNCAHAY
QUEDESCARTARLASVARIANTESITERATIVASDELASOLUCIØNDEUNPROBLEMA PORQUEAUNCUANDO
ÏSTESEPUEDERESOLVERNATURALMENTEDEFORMARECURSIVA ESIMPORTANTETENERSIEMPREEN
CUENTAQUELARECURSIØNNECESITADEUNAPILAPARASUFUNCIONAMIENTOYQUEÏSTACONSUME
ESPACIODEMEMORIA%NALGUNOSLENGUAJESDEPROGRAMACIØN ELESPACIODEDICADOALA
PILAESMUYPEQUE×O PORLOQUESIELPROBLEMAQUESEINTENTARESOLVERREQUIEREDEUNA
CANTIDADDEESPACIOMAYORˆPILAˆQUELAQUEOFRECEELLENGUAJE ELPROBLEMANOSE
PODRÈRESOLVERPORFALTADEMEMORIA%NTALCASO UNAFORMAPARAREMEDIARESTEINCONVE
NIENTEESUTILIZANDOITERATIVIDADENLUGARDERECURSIVIDAD

!LGORITMO &ACTORIAL?ITE

&ACTORIAL?ITE.

[%STEALGORITMOCALCULAELFACTORIALDEUNNÞMERO.ENFORMAITERATIVA DONDE.ESUNVALOR
NUMÏRICOENTERO POSITIVOONULO]

[&!#4ESUNAVARIABLEDETIPOENTERO]

 (ACER&!#4←
 -IENTRAS. 2EPETIR[#ICLOPARACALCULAR.]
(ACER&!#4←.
&!#4Y.←.n
 [&INDELCICLODELPASO]
 %SCRIBIR&!#4

&)'52!
&UNCIONAMIENTO
INTERNODELARECUR
SIØN FACTORIAL
 */530%6$$*Î/ 113

,ASIGUIENTETABLAPRESENTALOSVALORESQUEVANADQUIRIENDOLASVARIABLES DURANTE
ELCÈLCULODE

4!",! . &!#4
#ÉLCULODELFACTORIAL
ENFORMAITERATIVA  

 

 

 

 

%JEMPLO 3UCESIØNDE&IBONACCI/TROPROBLEMACLÈSICODERECURSIVIDADESELDELCÈLCULODELA
SUCESIØNDE,EONARDODE0ISA CONOCIDOCOMO&IBONACCI

          ETCÏTERA

!LGUNASPROPIEDADESDEESTASUCESIØN SEGÞN7IKIPEDIA LAENCICLOPEDIALIBRE SON

◗ %L COCIENTE ENTRE UN TÏRMINO Y EL INMEDIATAMENTE ANTERIOR VARÓA CONTINUAMENTE
PEROSEESTABILIZAENUNNÞMEROIRRACIONALCONOCIDOCOMORAZØNÈUREAONÞMERO
ÈUREO QUEESLASOLUCIØNPOSITIVADELAECUACIØNX£nXn YSEPUEDEAPROXIMAR
POR
◗ #UALQUIERNÞMERONATURALSEPUEDEESCRIBIRMEDIANTELASUMADEUNNÞMEROLIMITA
DODETÏRMINOSDELASUCESIØNDE&IBONACCI CADAUNODEELLOSDISTINTOALOSDEMÈS
0OREJEMPLO      
◗ 4ANSØLOUNTÏRMINODECADATRESESPAR UNODECADACUATROESMÞLTIPLODE UNODE
CADACINCOESMÞLTIPLODE ETC%STOSEPUEDEGENERALIZAR DEFORMAQUELASUCESIØN
DE&IBONACCIESPERIØDICAENLASCONGRUENCIASMØDULOM PARACUALQUIERM
◗ 3I&IBONACCIDEP &P ESUNNÞMEROPRIMO PTAMBIÏNLOES CONUNAÞNICAEXCEP
CIØN& ESPRIMO PERONOLOES
◗ ,ASUMAINlNITADELOSTÏRMINOSDELASUCESIØN&N NESEXACTAMENTE

%L&IBONACCIDEUNNÞMEROSEOBTIENEDELASUMADELOSDOSNÞMEROS&IBONACCI
ANTERIORES0ORDElNICIØN

&IBONACCI  →0ASOBÈSICO


&IBONACCI  →0ASOBÈSICO
&IBONACCI &IBONACCI &IBONACCI
    
&IBONACCI &IBONACCI &IBONACCI
    
&IBONACCI &IBONACCI &IBONACCI
    

&IBONACCIN &IBONACCINn &IBONACCINn →0ASORECURSIVO
114
>«‰ÌՏœÊ{Ê Ê Ê 3&$634*Î/

,AFØRMULAPRESENTAUNADElNICIØNRECURSIVADELASERIEDE&IBONACCI


&ØRMULA

N SI N ON

&IBONACCIN 

&IBONACCINn &IBONACCINn SI N

%NESTEEJEMPLOELPASOBÈSICOSEPRESENTACUANDONON%NELPASORECUR
SIVODELAFØRMULASEUTILIZAELCONCEPTODE&IBONACCIAPLICADOANn YNn 0OR
SERNUNNÞMEROENTEROPOSITIVOSERÈNNn YNn VALORESMÈSCERCANOSALESTADO
BÈSICO
%LALGORITMOPRESENTAUNASOLUCIØNRECURSIVADELCÈLCULODEUNNÞMERO&IBO
NACCIN

!LGORITMO &IBONACCI?REC

&IBONACCI?REC.

[%STEALGORITMOCALCULAELNÞMERO&IBONACCICORRESPONDIENTEA.ENFORMARECURSIVA DONDE.
ESUNVALORNUMÏRICOENTERO POSITIVOONULO]

 3I. O.


ENTONCES
(ACER&IBONACCI?REC←.[0ASOBÈSICO]
SINO
(ACER&IBONACCI?REC←&IBONACCI?REC.n &IBONACCI?REC.n
[,LAMADASRECURSIVAS]
 [&INDELCONDICIONALDELPASO]

%NLAlGURASEPUEDEOBSERVARELSEGUIMIENTODELALGORITMOPARA.
/BSERVEQUEENLAPILAELNÞMEROQUESEENCUENTRAENTRECORCHETESHACEREFERENCIA
ALALLAMADARECURSIVAQUESEREALIZA0OREJEMPLO ;=EXPRESAQUEÏSAESLAPRIMERA
LLAMADARECURSIVA ;=LASEGUNDALLAMADAYASÓSUCESIVAMENTE0OROTRAPARTE ELMISMO
NÞMEROENTRECORCHETESALAIZQUIERDA &IBONACCI?REC. RELACIONALALLAMADARECURSIVA
CONELVALORQUEINGRESAALALGORITMOENCADALLAMADA
&IBONACCIREPRESENTAELCASODEUNALGORITMOQUESEPUEDERESOLVERNATURALMENTE
DEMANERARECURSIVA PEROQUERESULTAINElCIENTEHACERLODEESTAFORMATANTOENCUANTOA
TIEMPOCOMOAESPACIOQUESEUTILIZAENLAPILAPARAALMACENARLASLLAMADASPENDIENTES
DEEJECUTAR!DEMÈS OBSERVEQUEENMUCHASOCASIONESSETIENEQUERESOLVERELMISMO
 */530%6$$*Î/ 115

&)'52!
&UNCIONAMIENTOINTERNODELARECURSIØNNÞMEROS&IBONACCI

PROBLEMA AUNCUANDOYATENGAMOSUNASOLUCIØNPARAESECASO YESTORESULTACOMPLETA


MENTEIMPRÈCTICOADEMÈSDEINElCIENTE%NELEJEMPLOQUESEMUESTRAENLAlGURA
&IBONACCI?REC SETUVOQUERESOLVERENCINCOOCASIONES LLAMADASRECURSIVAS  
Y
!CONTINUACIØNSEPRESENTAUNAVARIANTEITERATIVAPARARESOLVERELPROBLEMADELOS
NÞMEROSDE&IBONACCI

!LGORITMO &IBONACCI?ITE

&IBONACCI?ITE.

[%STEALGORITMOCALCULAELNÞMERO&IBONACCICORRESPONDIENTEA.ENFORMAITERATIVA.ESUN
VALORNUMÏRICOENTERO POSITIVOONULO]
[&)"/ &)"! &)""E)SONVARIABLESDETIPOENTERO]
116
>«‰ÌՏœÊ{Ê Ê Ê 3&$634*Î/

 3I. O.


ENTONCES
(ACER&)"/←.
SINO
(ACER&)"!← &)""←E)←
 [&INDELCONDICIONALDELPASO]
 -IENTRAS)≤. 2EPETIR
(ACER&)"/←&)"" &)"! &)"!←&)"" &)""←&)"/E)←) 
 [&INDELCICLODELPASO]
 %SCRIBIR&)"/

%NLATABLASEPRESENTANLOSVALORESQUEVANADQUIRIENDOLASVARIABLESDURANTEEL
CÈLCULODELNÞMERO&IBONACCI.

4!",! . &)"/ &)"! &)"" )


#ÉLCULODELOSNÞMEROS
   
&IBONACCIENFORMAITERATIVA
   

   

   

   

   

%JEMPLO )MPRESIØNDEUNARREGLO
$ADOCOMODATOUNARREGLOUNIDIMENSIONALDETIPOENTERO ESCRIBAELCONTENIDODELAS
CASILLASDELMISMODEIZQUIERDAADERECHA
!CONTINUACIØNSEPRESENTAELALGORITMOCORRESPONDIENTE

!LGORITMO !RREGLO?IMP

!RREGLO?IMP! .

[%LALGORITMOESCRIBEDEIZQUIERDAADERECHALOSELEMENTOSDEUNARREGLOUNIDIMENSIONAL!DE
TIPOENTERO.REPRESENTAELTAMA×ODELARREGLO]

 3I.≠ ENTONCES


!RREGLO?IMP! .n
%SCRIBIR!;.=
 [&INDELCONDICIONALDELPASO]
 */530%6$$*Î/ 117

&)'52!
&UNCIONAMIENTOIN
TERNODELARECURSIØN
IMPRESIØNDEARREGLOS

%N LA lGURA  SE PUEDE OBSERVAR EL SEGUIMIENTO DEL ALGORITMO PARA UN ARREGLO
UNIDIMENSIONALDETIPOENTERODESIETEELEMENTOS
/BSERVEQUE%;.=ENLAPILASEUTILIZAPARAMOSTRARELORDENENQUESEREALIZANLAS
LLAMADASRECURSIVAS0OROTRAPARTE EN)MPRESIØNDERESULTADOS ELMISMOSÓMBOLOSE
UTILIZAPARARELACIONARLALLAMADARECURSIVACONELVALORQUESEIMPRIME

%JEMPLO )MPRESIØNDEUNARREGLO
$ADOCOMODATOUNARREGLOUNIDIMENSIONALDETIPOENTERO ESCRIBAELCONTENIDODELAS
CASILLASDELMISMODEDERECHAAIZQUIERDA
!CONTINUACIØNSEPRESENTAELALGORITMOCORRESPONDIENTE

!LGORITMO !RREGLO?IMP

!RREGLO?IMP! .

[%LALGORITMOESCRIBEDEDERECHAAIZQUIERDALOSELEMENTOSDEUNARREGLOUNIDIMENSIONAL!DE
TIPOENTERO.REPRESENTAELTAMA×ODELARREGLO]

 3I.≠ ENTONCES


%SCRIBIR!;.=
!RREGLO?IMP! .n
 [&INDELCONDICIONALDELPASO]

%SIMPORTANTESE×ALARQUE ENESTECASO ADIFERENCIADELALGORITMO NOSEUTILIZA


LAPILAˆINTERNAMENTEˆPARAIRGUARDANDOINSTRUCCIONESPENDIENTESDEEJECUCIØN,UE
GODEEVALUARSELACONDICIØN SIÏSTARESULTAVERDADERASEESCRIBEELVALORDELAPOSICIØN.
118
>«‰ÌՏœÊ{Ê Ê Ê 3&$634*Î/

DELARREGLOYSELLAMANUEVAMENTEALAFUNCIØN AHORACON.n5NAVEZQUESEALCANZA
ELESTADOBÈSICO ELALGORITMOTERMINA

%JEMPLO 3UMADEUNARREGLO
$ADOCOMODATOUNARREGLOUNIDIMENSIONALDETIPOENTERO OBTENGALASUMADELMISMO
!CONTINUACIØNSEPRESENTAELALGORITMOCORRESPONDIENTE

!LGORITMO !RREGLO?SUM

!RREGLO?SUM! .

[%LALGORITMOOBTIENELASUMADELOSELEMENTOSDEUNARREGLOUNIDIMENSIONAL!DETIPOENTERO
.REPRESENTAELTAMA×ODELARREGLO]

 3I.
ENTONCES
(ACER!RREGLO?SUM←
SINO
(ACER!RREGLO?SUM←!;.= !RREGLO?SUM6 .n
 [&INDELCONDICIONALDELPASO]

%NLAlGURASEOBSERVAELSEGUIMIENTODELALGORITMOPARAUNARREGLOUNIDIMEN
SIONALDETIPOENTERODESIETEELEMENTOS

&)'52!
&UNCIONAMIENTOINTERNODELARECURSIØNSUMADEARREGLOS
 */530%6$$*Î/ 119

/BSERVENUEVAMENTEQUEELNÞMEROENTRECORCHETESENLA0ILA SEUTILIZAPARAMOS
TRARELORDENCONQUESEREALIZANLASLLAMADASRECURSIVAS%LNÞMEROENTRECORCHETESQUE
SEENCUENTRAEN!RREGLO?SUM! . RELACIONALALLAMADARECURSIVACONLOSVALORESQUE
RECIBELAFUNCIØN

%JEMPLO %UCLIDES
%LALGORITMODE%UCLIDESREPRESENTAUNMÏTODOEFECTIVOPARAENCONTRARELMÈXIMOCO
MÞNDIVISORMCD ENTREDOSNÞMEROSENTEROSPOSITIVOS%LALGORITMOCONSISTEENVARIAS
DIVISIONESEUCLIDIANASSUCESIVAS%NLAPRIMERADIVISIØNSETOMACOMODIVIDENDOELMA
YORDELOSNÞMEROSYCOMODIVISORELOTROAHORRANDOASÓUNPASO,UEGOELDIVISORYEL
RESTOSIRVEN RESPECTIVAMENTE DEDIVIDENDOYDIVISORDELASIGUIENTEDIVISIØN%LPROCESO
SEDETIENECUANDOSEOBTIENEUNRESTONULO
,AFØRMULAPRESENTALADElNICIØNRECURSIVADELALGORITMODE%UCLIDES%SIM
PORTANTEMENCIONARQUEDEBECUMPLIRSEQUE-≥.!CONTINUACIØNSEPRESENTAELALGO
RITMOCORRESPONDIENTE


&ØRMULA
- 3I.

%UCLIDES- .

%UCLIDES. --/$. %NCUALQUIEROTROCASO

!LGORITMO %UCLIDES

%UCLIDES- .

[%STEALGORITMOCALCULAELMÈXIMOCOMÞNDIVISORDEDOSNÞMEROSENTEROSPOSITIVOS-Y.SON
VALORESNUMÏRICOSENTEROSPOSITIVOS]

 3I.
ENTONCES
(ACER%UCLIDES←-
SINO
(ACER%UCLIDES←%UCLIDES. --/$.
 [&INDELCONDICIONALDELPASO]

%NLAlGURASEOBSERVAELSEGUIMIENTODELALGORITMOPARADOSCORRIDASDIFEREN
TES%NLAPRIMERA -Y.%NLASEGUNDA -Y.
%SIMPORTANTESE×ALARQUE ENESTECASO NOSEUTILIZALAPILAINTERNAMENTEPARAIR
GUARDANDOINSTRUCCIONESPENDIENTESDEEJECUCIØN5NAVEZQUESEALCANZAELESTADOBÈ
SICO ELALGORITMOTERMINADANDOELRESULTADOlNAL
120
>«‰ÌՏœÊ{Ê Ê Ê 3&$634*Î/

&)'52!
&UNCIONAMIENTOINTERNODE
LARECURSIØNALGORITMO
DE%UCLIDES

%JEMPLO !CKERMANN
,A FUNCIØN DE!CKERMANN UTILIZADA EN LA TEORÓA DE LA COMPUTACIØN ES UNA FUNCIØN
RECURSIVAQUETOMADOSNÞMEROSNATURALESCOMOARGUMENTOSYDEVUELVEUNNÞMERONA
TURAL,AFØRMULAPRESENTALADElNICIØNRECURSIVADELAFUNCIØNDE!CKERMANN


«N  SI M   &ØRMULA
®
!  M N  ¬ !  M   SI M   Y N  
®
­ !  M  !  M N  SI M   Y N  

3EGÞN7IKIPEDIA LAFUNCIØNCRECERÈPIDAMENTE0ARADARSEUNAIDEADELAMAGNI
TUDDELOSVALORESQUEAPARECENDELAlLAENADELANTECUANDOMESIGUALA SEPUEDE
DESTACARQUE POREJEMPLO !  ESMAYORQUEELNÞMERODEPARTÓCULASQUEFORMANEL
UNIVERSOELEVADOALAPOTENCIAYELRESULTADODE!  NOSEPUEDEESCRIBIRDADO
QUENOCABRÓAENELUNIVERSOFÓSICO%NGENERAL PORENCIMADELAlLAYANOESPOSIBLE
ESCRIBIRTODOSLOSDÓGITOSDELRESULTADODELAFUNCIØN
%NLATABLASEPRESENTA CONELOBJETODEQUEELLECTORPUEDAOBSERVARLACOM
PLEJIDADDELAFUNCIØNCUANDOLOSVALORESSEINCREMENTAN ELRESULTADODELAFUNCIØN
DE!CKERMANNYELNIVELDEPROFUNDIDADQUESEALCANZACUANDO-Y.TOMANCIERTOS
VALORES

4!",! - . !CKERMANN 0ROFUNDIDAD


!CKERMANNYVALORES
   
DE-Y.
   

   

   

CONTINÞA
 */530%6$$*Î/ 121

4!",! - . !CKERMANN 0ROFUNDIDAD


CONTINÞACIØN
   

   

   

   

   

   

   

!CONTINUACIØNSEPRESENTAELALGORITMOQUERESUELVEELPROBLEMADE!CKERMANN

!LGORITMO !CKERMANN

!CKERMANN- .

[%STE ALGORITMO CALCULA LA FUNCIØN DE !CKERMANN - Y . SON VALORES NUMÏRICOS ENTEROS
POSITIVOSONULOS]

 3I-
ENTONCES
(ACER!CKERMANN←.  [%STADOBÈSICO]
SINO
 3I.
ENTONCES
(ACER!CKERMANN←!CKERMANN-n 
SINO
(ACER!CKERMANN←!CKERMANN-n !CKERMANN- .n
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]

%NLAlGURASEPUEDEOBSERVARELSEGUIMIENTODELALGORITMODE!CKERMANNPARA
VALORESDE-Y.
#ONSIDERE NUEVAMENTE QUE EL NÞMERO ENTRE CORCHETES TANTO EN LA PILA COMO EN
!CKERMANN. SEUTILIZAPARAOBSERVARELORDENCONQUESEREALIZANLASLLAMADASRECUR
SIVAS

%JEMPLO !LGORITMODEPARTICIØN
%STEALGORITMO RECIENTEMENTEDESCUBIERTO PERMITECONOCERTODASLASFORMASENLASCUA
LESUNNÞMEROENTEROPOSITIVOPUEDESERDESCOMPUESTOCOMOLASUMADEVARIOSSUMAN
122
>«‰ÌՏœÊ{Ê Ê Ê 3&$634*Î/

&)'52!
&UNCIONAMIENTOINTERNODELARECURSIØNFUNCIØNDE!CKERMANN

DOS,ASOLUCIØNENCONTRADAAESTEPROBLEMAPUEDESERVIRTANTOALAFÓSICADEPARTÓCULAS
COMOALASEGURIDADINFORMÈTICA
3EGÞNEL.EW3CIENTIST +ARL-AHLBURG ESTUDIANTEDELA5NIVERSIDADDE7ISCONSIN
HADEDICADOUNA×OPARASOLUCIONARELPROBLEMAQUEIMPLICATRABAJARCONPATRONESDENÞ
MEROSh(ELLENADODECÈLCULOSYECUACIONESCUADERNOTRASCUADERNOv DICE-AHLBURG
,OSPATRONESFUERONDESCUBIERTOSPORPRIMERAVEZPOR2AMANUJAN  UN
HINDÞQUEFUEEXPULSADODELAUNIVERSIDADPORDESCUIDARLOSESTUDIOSDETODOLOQUENO
FUERANMATEMÈTICAS3UPASIØNPORLASMATEMÈTICASLELLEVØASEGUIRINVESTIGANDOYAES
CRIBIRAMATEMÈTICOSINGLESESEXPONIENDOSUSTEORÓAS!UTODIDACTO EMPEZØATRABAJAREN
EL-ADRAS0ORT4RUST YLUEGO EN FUEADMITIDOENLA5NIVERSIDADDE#AMBRIDGE
0OSTERIORMENTEFUEELEGIDOMIEMBRODELA2OYAL3OCIETYYDEL4RINITY#OLLEGE0OCOS
A×OSDESPUÏSREGRESØALA)NDIA DONDEFALLECIØTRASUNAMISTERIOSAENFERMEDAD
!CONTINUACIØNSEPRESENTALAFØRMULACORRESPONDIENTE
 */530%6$$*Î/ 123


&ØRMULA
 3I-

 3I.

0ARTICIØN- . 0ARTICIØN- - 3I-.

 0ARTICIØN- n- 3I-.

0ARTICIØN- .n 0ARTICIØN-n. . 3I-.

!CONTINUACIØNSEPRESENTAELALGORITMOCORRESPONDIENTE

!LGORITMO 0ARTICIØN

0ARTICIØN- .

[%STEALGORITMOCALCULADECUANTASFORMASDIFERENTESSEPUEDEDESCOMPONERUNNÞMEROENTERO
POSITIVO-Y.SONVALORESNUMÏRICOSENTEROSPOSITIVOS!LINICIARELALGORITMO-.]

 3I- O.


ENTONCES
(ACER0ARTICIØN←[%STADOBÈSICO]
SINO
3I-.
ENTONCES
(ACER0ARTICIØN- -
SINO
 3I-.
ENTONCES
(ACER0ARTICIØN← 0ARTICIØN- -n
SINO
(ACER0ARTICIØN←0ARTICIØN- .n 0ARTICIØN-n. .
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]

%NLAlGURASEPRESENTAELSEGUIMIENTODELALGORITMOPARAOBTENERELNÞMERODE
FORMASENQUESEPUEDEDESCOMPONERELNÞMERO -.
/BSERVE NUEVAMENTE QUE EL NÞMERO ENTRE CORCHETES TANTO EN LA PILA COMO EN
0ARTICIØN- . SEUTILIZAPARAOBSERVARELORDENCONQUESEREALIZANLASLLAMADASRE
CURSIVAS
124
>«‰ÌՏœÊ{Ê Ê Ê 3&$634*Î/

&)'52!
&UNCIONAMIENTOINTERNODELARECURSIØNALGORITMODEPARTICIØN

%JEMPLO ,OSNÞMEROSDE#ATALAN
%STOSNÞMEROSSEUTILIZANENUNAGRANVARIEDADDEPROBLEMASDECOMBINATORIA4IENEN
VARIASAPLICACIONESPOREJEMPLO DADOSCOMODATOSNMATRICES PERMITENENCONTRAREL
NÞMERODEFORMASENQUESEPODRÓANMULTIPLICAR/TRAAPLICACIØNCONSISTEENDETERMINAR
ELNÞMERODEFORMASENQUEUNPOLÓGONOCONN LADOSSEPUEDEDESCOMPONERENN
TRIÈNGULOS
%N COMBINATORIA LOS NÞMEROS DE #ATALAN FORMAN UNA SECUENCIA DE NÞMEROS NA
TURALESQUEAPARECEENVARIOSPROBLEMASDECONTEOQUEHABITUALMENTESONRECURSIVOS
/BTIENENSUNOMBREDELMATEMÈTICOBELGA%UGÒNE#HARLES#ATALAN  
%LENÏSIMONÞMERODE#ATALANSEOBTIENESEGÞNLASIGUIENTEFØRMULA


&ØRMULA
 ¥ N´
#N  CON N r 
N  ¦§ N µ¶

5NAMANERARECURSIVADEEXPRESARLOSNÞMEROSDE#ATALANSEOBSERVAENLASIGUIENTE
FØRMULA
 */530%6$$*Î/ 125


&ØRMULA
 3I.

#ATALAN.
. 
¤) 
#ATALAN)
#ATALAN.n) %NCUALQUIEROTROCASO

,OSPRIMEROSNÞMEROSDE#ATALANSIGUIENDOLAFØRMULARECURSIVASON

         

%LPROBLEMA SINEMBARGO LOREPRESENTALAGRANCANTIDADDELLAMADASRECURSIVASQUE


SENECESITANREALIZARPARAALCANZARESTOSRESULTADOS0OREJEMPLO SI.QUEARROJARÓA
COMOVALORELNÞMERO SENECESITARÓACASIUNACENTENADELLAMADASRECURSIVAS
!CONTINUACIØNSEPRESENTAELALGORITMOQUERESUELVEESTEPROBLEMA

!LGORITMO #ATALAN

#ATALAN.

[%STEALGORITMOOBTIENEELRESULTADODELOSNÞMEROSDE#ATALAN.ESUNVALORNUMÏRICOENTERO
POSITIVO]

[)Y3SONVARIABLESDETIPOENTERO]

 3I.
ENTONCES
(ACER#ATALAN←[%STADOBÈSICO]
SINO
(ACER3←
 2EPETIRCON)DESDEHASTA.
(ACER#ATALAN←3 #ATALAN)
#ATALAN.n)
 [&INDELCICLODELPASO]
 [&INDELCONDICIONALDELPASO]

,AlGURAMUESTRAELSEGUIMIENTODELALGORITMODE#ATALANPARA.

%JEMPLO #OElCIENTESBINOMIALES
%LTRIÈNGULODE0ASCALESUNTRIÈNGULODENÞMEROSENTEROS INlNITOYSIMÏTRICOCUYAS
DIEZPRIMERASLÓNEASSEPUEDENOBSERVARENLAlGURA
126
>«‰ÌՏœÊ{Ê Ê Ê 3&$634*Î/

&)'52!
&UNCIONAMIENTOINTERNODELARECURSIØNLOSNÞMEROSDE#ATALAN

%LTRIÈNGULOSECONSTRUYEDELASIGUIENTEMANERAPRIMEROSEESCRIBEELDELPRIMER
RENGLØN LACIMADELTRIÈNGULO!PARTIRDELASIGUIENTELÓNEAENTRECADANÞMEROSEDEJA
UN NÞMERO DETERMINADO DE ESPACIOS EN BLANCO TRES EN ESTE CASO PARA DAR CLARIDAD
#ADANÞMEROQUESEESCRIBEENUNRENGLØNESLASUMADELOSDOSQUESEENCUENTRANEN
ELRENGLØNDEARRIBA0OREJEMPLO ELQUESEENCUENTRAENMEDIODELSEGUNDORENGLØN
REPRESENTALASUMADELOSDOSNÞMEROSQUESEENCUENTRANARRIBADEÏL%LDELQUINTO
RENGLØNSEDERIVADELASUMADELOSDOSNÞMEROSDEARRIBA Y%LPRIMERDELSEXTO
RENGLØNSEDERIVADELASUMADELOSDOSNÞMEROSQUESEENCUENTRANARRIBA Y YASÓ
SUCESIVAMENTE
3EPUEDEOBSERVAR ADEMÈS QUELOSLADOSEXTERIORESDELTRIÈNGULOESTÈNFORMADOS
POR3ILEQUITAMOSELLADODELCOSTADOIZQUIERDO ENTONCESNOSQUEDANLOSNÞMEROS
NATURALESENORDENCRECIENTEDELAL0ODEMOSHACERLOMISMOCONELOTROCOSTADO YA
QUEEXISTEUNEJEDESIMETRÓAVERTICALQUEPASAPORELVÏRTICEDELTRIÈNGULO
 */530%6$$*Î/ 127

&)'52!
4RIÉNGULODE0ASCAL

,A FØRMULA QUE DA EL DESARROLLO DE A B  SEGÞN LAS POTENCIAS CRECIENTES DE A
Y DECRECIENTES DE B SE LLAMA BINOMIO DE .EWTON %N ESTA EXPRESIØN LO ÞNICO QUE SE
DESCONOCESONLOSCOElCIENTESDELOSMONOMIOSAKBNnK,ADElNICIØNHABITUALDELOS
COElCIENTESBINOMIALESSEEXPRESAENTÏRMINOSDEFACTORIALES COMOSEPUEDEOBSERVAR
ENLAFØRMULA


&ØRMULA
K N
#   b K b N
N K   N K 

3INEMBARGO TAMBIÏNESPOSIBLEPRESENTARUNADElNICIØNRECURSIVA COMOSEMUES


TRAENLASIGUIENTEFØRMULA


&ØRMULA
 3I#".  O#. .

#". +

87.n + #".n +n 3I.+

%LALGORITMODESCRIBELASOLUCIØNDELPROBLEMADELOSCOElCIENTESBINOMIA
LES
128
>«‰ÌՏœÊ{Ê Ê Ê 3&$634*Î/

!LGORITMO #"

#". +

[%STE ALGORITMO OBTIENE EL RESULTADO DE LOS COElCIENTES BINOMIALES . Y + SON VALORES
NUMÏRICOSENTEROSPOSITIVOSONULOS]

 3I+ O.+


ENTONCES
(ACER#"←[%STADOBÈSICO]
SINO
(ACER#"←#".n +n #".n +
 [&INDELCONDICIONALDELPASO]

%NLAlGURA SEPUEDEOBSERVARELSEGUIMIENTODELALGORITMOPARA.Y+

.OOLVIDEQUELOSNÞMEROSQUEAPARECENENTRECORCHETESSONPARAILUSTRARELORDEN
ENQUESEREALIZANLASLLAMADASRECURSIVAS

&)'52!
&UNCIONAMIENTOINTERNODELARECURSIØNCOElCIENTESBINOMIALES
 &-130#-&."%&-"45033&4%&)"/0* 129

 %,02/",%-!$%,!34/22%3$%(!./)
%LPROBLEMADELAS4ORRESDE(ANOIESUNPROBLEMACLÈSICODERECURSIØN YAQUEPERTE
NECEALACLASEDEPROBLEMASCUYASOLUCIØNSESIMPLIlCANOTABLEMENTEALUTILIZARESTE
CONCEPTO
3ETIENENTRESTORRESYUNCONJUNTODE.DISCOSDEDIFERENTESTAMA×OS#ADAUNO
DEELLOSTIENEUNAPERFORACIØNENELCENTROQUELEPERMITEDESLIZARSEPORCUALQUIERADE
LASTORRES)NICIALMENTELOS.DISCOSESTÈNORDENADOSDEMAYORAMENORENUNADELAS
TORRES
%LOBJETIVODELPROBLEMACONSISTEENPASARLOS.DISCOSDELATORREDEORIGENAUNA
TORREDESTINO UTILIZANDOLAOTRATORREDISPONIBLE COMOAUXILIAR!CONTINUACIØNSEPRE
SENTANLASREGLASQUESEDEBENRESPETARENCADAMOVIMIENTO

 %NCADAMOVIMIENTOSØLOPUEDEINTERVENIRUNDISCOPORLOTANTO SIEMPRESERÈEL


DISCOSUPERIORELQUEPUEDAMOVERSE
 .OPUEDEQUEDARUNDISCOSOBREOTRODEMENORTAMA×O

3UPONGAMOS QUE LAS TORRES SE IDENTIlCAN CON LOS NOMBRES ! " Y # ,OS DISCOS
INICIALMENTESEENCUENTRANENLATORRE!ˆORIGENˆ%LOBJETIVO COMOSE×ALAMOSANTE
RIORMENTE CONSISTEENTRANSFERIRTODOSLOSDISCOSALATORRE"ˆDESTINOˆ UTILIZANDOLA
TORRE#COMOAUXILIAR%NLASlGURASAYBSEPRESENTANELESTADOINICIALYELESTADO
lNAL RESPECTIVAMENTE DELPROBLEMADELAS4ORRESDE(ANOIPARACINCODISCOS
%SIMPORTANTEOBSERVAR SISEANALIZADETENIDAMENTEELPROBLEMA QUEÏSTESEPUEDE
DESCOMPONER EN TRES SUBPROBLEMAS UNO DE LOS CUALES EL SEGUNDO SE CONSIDERA TRI
VIALIDAD PORQUE IMPLICA ÞNICAMENTE UN MOVIMIENTO 3E MUESTRAN A CONTINUACIØN LOS
DIFERENTESSUBPROBLEMAS

 4RANSFERIR.n DISCOSDELATORRE!ˆORIGENˆALATORRE#ˆAUXILIARˆ


 -OVERUNDISCODELATORRE!ˆORIGENˆALATORRE"ˆDESTINOˆ
 4RANSFERIR.n DISCOSDELATORRE#ˆAUXILIARˆALATORRE"ˆDESTINOˆ

%NLAlGURASEPRESENTALASOLUCIØNALPROBLEMADELAS4ORRESDE(ANOIPARA
DOSDISCOS .
/BSERVEQUESEREALIZANTRESMOVIMIENTOS

-OVERDE!A#
-OVERDE!A"
-OVERDE#A"

%NLAlGURA POROTRAPARTE SEILUSTRALASOLUCIØNDELPROBLEMADELAS4ORRES


DE(ANOIPARATRESDISCOS .0RIMEROSETRANSlERENDOS.n DISCOSDELATORRE!
ALATORREAUXILIAR#lGURASB CYD 0OSTERIORMENTESEREALIZAELMOVIMIENTODEL
DISCODELATORRE!ALATORREDESTINO"lGURAE &INALMENTESERESUELVEELTERCER
SUBPROBLEMA SETRANSlEREN.n DISCOSDELATORRE#ˆAUXILIARˆALATORRE!lGURAS
F G H 
130
>«‰ÌՏœÊ{Ê Ê Ê 3&$634*Î/

&)'52!
4ORRESDE(ANOI
A %STADOINICIAL
B Ê%STADOlNAL

,OSMOVIMIENTOSQUESEREALIZANPARARESOLVERESTEPROBLEMASONMOVERDE!A#

-OVERDE!A"
-OVERDE"A#
-OVERDE!A"
-OVERDE#A!
-OVERDE#A"
-OVERDE!A"

,UEGODEREALIZARNUMEROSASPRUEBASPARADISTINTOSVALORESDE. SEPUEDECONCLUIR
QUEPARACUALQUIER. ELNÞMERODEMOVIMIENTOS.- ESTÈDADOPORLASIGUIENTEFØR
MULA


.-Nn &ØRMULA

!SÓ POREJEMPLO PARACINCODISCOSSEEFECTUARÈNMOVIMIENTOS PARADIEZDISCOS


MOVIMIENTOSYPARADISCOSMOVIMIENTOS
!CONTINUACIØNSEPRESENTAELALGORITMORECURSIVOQUEPERMITERESOLVERESTEPRO
BLEMA
 &-130#-&."%&-"45033&4%&)"/0* 131

&)'52!
4ORRESDE(ANOI. 
A %STADOINICIALB ,UEGO
DEMOVERUNDISCODE!A
#C ,UEGODEMOVERUN
DISCODE!A"D %STADO
lNAL
132
>«‰ÌՏœÊ{Ê Ê Ê 3&$634*Î/

&)'52!
4ORRESDE(ANOI. 
A %STADOINICIAL
B ,UEGODEMOVERUNDISCO
DE!A"
C ,UEGODEMOVERUNDISCO
DE!A#
D ,UEGODEMOVERUNDISCO
DE"A#
 &-130#-&."%&-"45033&4%&)"/0* 133

&)'52!
CONTINUACIØN
E ,UEGODEMOVERUNDISCO
DE!A"
F ,UEGODEMOVERUNDISCO
DE#A!
G ,UEGODEMOVERUNDISCO
DE#A"
H %STADOlNAL
134
>«‰ÌՏœÊ{Ê Ê Ê 3&$634*Î/

!LGORITMO (ANOI

(ANOI. /2)'%. $%34)./ !58),)!2

[%STEALGORITMOOBTIENEYESCRIBELOSMOVIMIENTOSQUESEDEBENREALIZARPARATRANSFERIRLOS.
DISCOSDELATORRE/2)'%.ALATORRE$%34)./ CONAYUDADELATORRE!58),)!2]

 3I.
ENTONCES
%SCRIBIRh-OVERUNDISCODE/2)'%.A$%34)./v[%STADOBÈSICO]
SINO
[-OVER.nDISCOSDELATORRE/2)'%.ALATORRE!58),)!2]
(ANOI.n /2)'%. !58),)!2 $%34)./
%SCRIBIRh-OVERUNDISCODE/2)'%.A$%34)./v
[-OVER.nDISCOSDELATORRE!58),)!2ALATORRE$%34)./]
(ANOI.n !58),)!2 $%34)./ /2)'%.
 [&INDELCONDICIONALDELPASO]

%NLAlGURASEMUESTRAELSEGUIMIENTODELALGORITMOPARACUATRODISCOS
&)'52!
&UNCIONAMIENTOINTERNODELARECURSIØNTORRESDE(ANOI
 &-130#-&."%&-"45033&4%&)"/0* 135

%LALGORITMORECURSIVOANTERIOROFRECEUNASOLUCIØNCLARAYCOMPACTAALPROBLEMA
DELAS4ORRESDE(ANOI3INEMBARGO ESPOSIBLETAMBIÏNPRESENTARUNASOLUCIØNITERATIVA
AESTEPROBLEMA PEROESCONVENIENTEMENCIONARQUEENESTECASOESMÈSCOMPLICADAY
EXTENSA
5NSUBPROGRAMAGENERALMENTETRABAJACONVARIABLESLOCALESYPARÈMETROS#UANDO
SEHACEUNALLAMADARECURSIVAALSUBPROGRAMA LOSVALORESACTUALESDEVARIABLESYPARÈ
METROSSEDEBENCONSERVAR!DEMÈSSEDEBEALMACENARLADIRECCIØNALACUALSETENDRÈ
QUEREGRESARELCONTROLUNAVEZQUESETERMINADEEJECUTAR
%L ALGORITMO ANTERIOR TRABAJA CON CUATRO PARÈMETROS . /2)'%. $%34)./ Y
!58),)!20ARACONSTRUIRELALGORITMOITERATIVO SISEQUIERENCONSERVARLOSVALORESDE
LOSPARÈMETROSENCADALLAMADARECURSIVA SEDEBERÈDElNIRUNAPILAPARACADAUNODE
ELLOS/TRAALTERNATIVASERÓADElNIRUNAÞNICAPILA ENLAQUECADAELEMENTOFUERACAPAZ
DEALMACENARLOSCUATROPARÈMETROS%NELALGORITMOQUESEVAAPRESENTARSETRABAJACON
CUATROPILAS

0),!.PARAALMACENARIMÈGENESDE.
0),!/PARAALMACENARIMÈGENESDE/2)'%.
0),!$PARAALMACENARIMÈGENESDE$%34)./
0),!8PARAALMACENARIMÈGENESDE!58),)!2

4AMBIÏN SERÈ NECESARIO MANEJAR UN 4/0% PARA LAS PILAS %L SIGUIENTE ALGORITMO
PRESENTAUNASOLUCIØNITERATIVAALPROBLEMADELAS4ORRESDE(ANOI

!LGORITMO (ANOI?ITE

(ANOI?ITE. /2)'%. $%34)./ !58),)!2

[%STEALGORITMORESUELVEELPROBLEMADELAS4ORRESDE(ANOIDEMANERANORECURSIVA/2)'%.
$%34)./Y!58),)!2SONPARÈMETROSQUEREPRESENTANLASTRESTORRES.SIMBOLIZAELNÞMERO
DEDISCOS]
[0),!. 0),!/ 0),!$Y0),!8SONESTRUCTURASDEDATOSTIPOPILA4/0%ESUNAVARIABLE
DE TIPO ENTERO6!2!58 ES UNA VARIABLE DE TIPO CARÈCTER "!.$ ES UNA VARIABLE DE TIPO
BOOLEANO]

 (ACER4/0%←Y"!.$←&!,3/
 -IENTRAS. Y"!.$&!,3/ 2EPETIR
 -IENTRAS. 2EPETIR
(ACER4/0%←4/0%  0),!.;4/0%=←. 0),!/;4/0%=←/2)'%.
0),!$;4/0%=←$%34)./ 0),!8;4/0%=←!58),)!2
[3IMULALLAMADAA(ANOICON.n /2)'%. !58),)!2Y$%34)./]
(ACER.←.n 6!2!58←$%34)./ $%34)./←!58),)!2
Y!58),)!2←6!2!58
 [&INDELCICLODELPASO]
%SCRIBIRh-OVERUNDISCODE/2)'%.A$%34)./v
(ACER"!.$←6%2$!$%2/
 3I4/0% [,ASPILASNOESTÈNVACÓAS]
136
>«‰ÌՏœÊ{Ê Ê Ê 3&$634*Î/

ENTONCES
[3EEXTRAENLOSELEMENTOSDEL4/0%DELAPILAS]
(ACER.←0),!.;4/0%= /2)'%.←0),!/;4/0%=
$%34)./←0),!$;4/0%= !58),)!2←0),!!;4/0%=
Y4/0%←4/0%n
%SCRIBIRh-OVERUNDISCODE/2)'%.A$%34)./v
[3IMULALLAMADAA(ANOICON.n !58),)!2 $%34)./Y/2)'%.]
(ACER.←.n 6!2!58←/2)'%. /2)'%.←!58),)!2
!58),)!2←6!2!58Y"!.$←&!,3/
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]

%NLAlGURASEMUESTRAELSEGUIMIENTODELALGORITMOPARATRESDISCOS

&)'52!
3EGUIMIENTODELALGORITMO
ITERATIVO4ORRESDE(ANOI
 3&$634*7*%"%&/03%&/"$*Î/:#Ò426&%" 137

 2%#523)6)$!$%.­2"/,%3
,OSÈRBOLESREPRESENTANLASESTRUCTURASDEDATOSDINÈMICASYNOLINEALESMÈSINTERESAN
TESDECOMPUTACIØN,AESTRUCTURADEÈRBOLESBALANCEADOSO!6,ESLAESTRUCTURADE
DATOSMÈSElCIENTEPARATRABAJARENLAMEMORIARÈPIDADELACOMPUTADORA0OROTRAPARTE
LAESTRUCTURADEDATOS«RBOLES " REPRESENTALAESTRUCTURADEDATOSMÈSElCIENTEPARA
TRABAJARENMEMORIASECUNDARIAˆDISPOSITIVOSDEALMACENAMIENTOSECUNDARIOˆ
,OS ÈRBOLES SON UNA ESTRUCTURA INHERENTEMENTE RECURSIVA Y TODAS LAS OPERACIONES
QUESEREALIZANENÈRBOLESSEDEBENPROGRAMARENFORMARECURSIVA!DIFERENCIADEOTRAS
ESTRUCTURASDEDATOSENLASCUALESLASOPERACIONESSEPUEDENIMPLEMENTARTANTOENFORMA
RECURSIVACOMOITERATIVA INDEPENDIENTEMENTEDELASDIFERENCIASQUESEPUEDENOBSERVAR
CONRESPECTOALAElCIENCIA ENLOSÈRBOLESSØLOSEPUEDETRABAJARDEMANERARECURSIVA
%NELCAPÓTULOCORRESPONDIENTEAÈRBOLESELLECTORPODRÈPRACTICARENFORMAINTENSA
LARECURSIVIDAD

 2%#523)6)$!$%./2$%.!#)¼.9"Â315%$!
%NLOSCAPÓTULOSYELLECTORPODRÈAPLICARNUEVAMENTEELCONCEPTODERECURSIVIDAD%N
ELCAPÓTULOSEPRESENTAELMÏTODOMÈSElCIENTEDEORDENACIØN 1UICKSORT QUEFUNCIONA
DEMANERARECURSIVA
%NELCAPÓTULO CORRESPONDIENTEABÞSQUEDA ELLECTORPODRÈESTUDIARNUEVAMENTE
GRANCANTIDADDEALGORITMOSRECURSIVOS
138
>«‰ÌՏœÊ{Ê Ê Ê 3&$634*Î/

▼ %*%2#)#)/3

Ê £° )NVERSIØN DE CAPITAL 3E HA DEPOSITADO EN UNA INSTITUCIØN BANCARIA UN MONTO DE
CAPITALMPORELCUALSERECIBEUN8DEINTERÏSANUAL%LPROBLEMACONSISTEENDE
TERMINARELCAPITALQUESETENDRÈALCABODENA×OS%SCRIBAUNSUBPROGRAMARECUR
SIVOQUERESUELVAESTEPROBLEMA2ECUERDEQUEDEBEESTABLECERLOSESTADOSBÈSICOY
RECURSIVODELPROBLEMA

Ê Ó° 2ETOMEELPROBLEMAANTERIORYRESUÏLVALODEMANERAITERATIVA#OMPARESUSSOLU
CIONES TENIENDOENCUENTALAElCIENCIAENELMANEJODEMEMORIAYLALEGIBILIDADDEL
CØDIGOGENERADO

Ê Î° %SCRIBA UN SUBPROGRAMA RECURSIVO QUE INVIERTA EL ORDEN DE LOS ELEMENTOS DE UN
ARREGLODE.NÞMEROSENTEROS%SDECIR QUEELELEMENTOQUEESTÈENLAPOSICIØNSE
INTERCAMBIECONELQUEESTÈENLAPOSICIØN. ELDELAPOSICIØN CONELDELA.n
YASÓSUCESIVAMENTE

Ê {° 2ETOMEELPROBLEMAANTERIORYRESUÏLVALODEMANERAITERATIVA#OMPARESUSSOLU
CIONES TENIENDOENCUENTALAElCIENCIAENELMANEJODEMEMORIAYLALEGIBILIDADDEL
CØDIGOGENERADO

Ê x° %SCRIBAUNSUBPROGRAMARECURSIVOQUEINVIERTAELORDENDEUNACADENADECARACTE
RES0OREJEMPLO SILACADENADEENTRADAES2/-! ELRESULTADOQUEDEBEARROJAREL
PROGRAMAES!-/2

Ê È° 3ETIENENTRESARREGLOS352 #%.42/Y./24%QUEALMACENANLOSNOMBRESDE


LOSPAÓSESDE3UR #ENTROY.ORTEAMÏRICA RESPECTIVAMENTE,OSTRESARREGLOSESTÈN
ORDENADOSENFORMAALFABÏTICA%SCRIBAUNSUBPROGRAMARECURSIVOQUEMEZCLELOS
TRESARREGLOSANTERIORES FORMANDOUNCUARTOARREGLO !-²2)#! ENELCUALAPA
REZCANLOSNOMBRESDETODOSLOSPAÓSESDELCONTINENTEORDENADOSALFABÏTICAMENTE
#OMPAREESTASOLUCIØNCONLADESARROLLADAPARAELPROBLEMADELCAPÓTULO

Ê Ç° $ADOCOMODATOELSIGUIENTEPROGRAMA SÓGALOYDIGAQUÏIMPRIMEPARALOSSIGUIEN


TESVALORESDE88 8 8

08
[8ESUNPARÈMETRODETIPOENTEROPOSITIVO]
 3I8
ENTONCES
0←8n
SINO
(ACER0←008 
 [&INDELCONDICIONALDELPASO]
&+&3$*$*04 139

Ê n° %SCRIBAUNSUBPROGRAMARECURSIVOQUELEPERMITACALCULARELDETERMINANTEDEUNA
MATRIZCUADRADADEDIMENSIØNN

Ê ™° %SCRIBAUNSUBPROGRAMARECURSIVOQUEBUSQUEUNVALOR8ENUNARREGLOUNIDIMEN
SIONALDEENTEROS ORDENADOENFORMADECRECIENTE

£ä°%SCRIBAUNSUBPROGRAMARECURSIVOTALQUEDADOCOMODATOUNARREGLOUNIDIMENSIO
NALDEENTEROSPOSITIVOSDEDIMENSIØN. DETERMINESILASSUMASDELASDOSMITADES
DELELEMENTOAL.YDELELEMENTO. AL. SONIGUALES

££°%SCRIBAUNSUBPROGRAMARECURSIVOQUEQUITETODOSLOSESPACIOSENBLANCODEUNA
CADENADECARACTERES

£Ó°$ADOSCOMODATOSDOSNÞMEROSENTEROSPOSITIVOS!Y"ˆELSEGUNDOPUEDESER
TAMBIÏNNULOˆ ESCRIBAUNSUBPROGRAMARECURSIVOQUECALCULE!"

£Î°%SCRIBAUNSUBPROGRAMAQUERESUELVALAFUNCIØNDE!CKERMANNENFORMAITERATIVA
#OMPARESUSOLUCIØNCONLAANALIZADAENESTELIBRO

£{°%SCRIBAUNSUBPROGRAMARECURSIVOQUE DADOCOMODATOUNNÞMEROENTEROPOSITIVO
REGRESESITODOSLOSDÓGITOSDEDICHONÞMEROSONPARESYENOTROCASO

£x°2ETOMEELPROBLEMAANTERIORYRESUÏLVALODEMANERAITERATIVA#OMPARESUSSOLU
CIONES TENIENDOENCUENTALAElCIENCIAENELMANEJODEMEMORIAYLALEGIBILIDADDEL
CØDIGOGENERADO

£È°%SCRIBAUNSUBPROGRAMARECURSIVOQUE DADOCOMODATOUNNÞMEROENTEROPOSITIVO
REGRESESIELNÞMEROESDIVISIBLEPORYENOTROCASO%LCRITERIOQUEDEBERÈ
USARSEPARADETERMINARSIESDIVISIBLEESQUELADIFERENCIAENTRELASUMADELOSDÓ
GITOSQUEOCUPANPOSICIONESPARESYLASUMADELOSDÓGITOSQUEOCUPANPOSICIONES
IMPARESSEAUNMÞLTIPLODE0OREJEMPLO SIELNÞMEROES SETIENEQUE
  n  YESMÞLTIPLODE

£Ç°2ETOMEELPROBLEMAANTERIORYRESUÏLVALODEMANERAITERATIVA#OMPARESUSSOLU
CIONES TENIENDOENCUENTALAElCIENCIAENELMANEJODEMEMORIAYLALEGIBILIDADDEL
CØDIGOGENERADO

£n°%SCRIBAUNSUBPROGRAMARECURSIVOQUE DADOCOMODATOUNNÞMEROENTEROPOSITIVO
REGRESECOMORESULTADOLASUMADESUSDIVISORES

£™°2ETOMEELALGORITMOˆ#ONV?POSTlJAˆOELˆ#ONV?PRElJAˆ DELCAPÓTULO
 YDESARROLLEUNAVERSIØNRECURSIVADELMISMO#OMPARESUSOLUCIØNCONLAANALI
ZADAENESTELIBRO)DENTIlQUEVENTAJASYDESVENTAJASDECADAUNADEELLAS

Óä°%SCRIBAUNSUBPROGRAMARECURSIVOQUEINVIERTAELORDENDELOSELEMENTOSDEUNA
PILA0UEDEUTILIZARCUALQUIERESTRUCTURADEDATOSCOMOAUXILIAR SILOREQUIERE
140
>«‰ÌՏœÊ{Ê Ê Ê 3&$634*Î/

Ó£°%SCRIBAUNMÏTODORECURSIVO PARALACLASE#OLA QUEIMPRIMATODOSLOSELEMENTOS


DEUNACOLACIRCULAR

ÓÓ°2ETOMEELPROBLEMAANTERIORYRESUÏLVALODEMANERAITERATIVA#OMPARESUSSOLU
CIONES TENIENDOENCUENTALAElCIENCIAENELMANEJODEMEMORIAYLALEGIBILIDADDEL
CØDIGOGENERADO

Óΰ%SCRIBAUNMÏTODORECURSIVO PARALACLASE#OLA QUEINVIERTAELORDENDELOSELE


MENTOSDEUNACOLA0UEDEUTILIZARCUALQUIERESTRUCTURADEDATOSCOMOAUXILIAR SILO
REQUIERE
#APÓTULO x
,)34!3
 ).42/$5##)¼.

,ASESTRUCTURASDEDATOSPRESENTADASHASTAELMOMENTO ARREGLOSYREGISTROS SEDENOMI


NANESTÈTICAS2ECIBENESTENOMBREDEBIDOAQUEDURANTELACOMPILACIØNSELESASIGNAUN
ESPACIODEMEMORIA YÏSTEPERMANECEINALTERABLEDURANTELAEJECUCIØNDELPROGRAMA
%NESTECAPÓTULOSEPRESENTALAESTRUCTURADEDATOSLISTA%STEESUNTIPODEESTRUCTURA
LINEALYDINÈMICADEDATOS,INEALPORQUEACADAELEMENTOLEPUEDESEGUIRSØLOOTROELE
MENTODINÈMICAPORQUESEPUEDEMANEJARLAMEMORIADEMANERAmEXIBLE SINNECESIDAD
DERESERVARESPACIOCONANTELACIØN
,APRINCIPALVENTAJADEMANEJARUNTIPODINÈMICODEDATOSESQUESEPUEDENADQUI
RIRPOSICIONESDEMEMORIAAMEDIDAQUESENECESITANÏSTASSELIBERANCUANDOYANOSE
REQUIEREN!SÓESPOSIBLECREARESTRUCTURASDINÈMICASQUESEEXPANDANOCONTRAIGAN SE
GÞNSELESAGREGUEOELIMINEELEMENTOS%LDINAMISMODEESTASESTRUCTURASSOLUCIONAEL
PROBLEMADEDECIDIRCUÈLESLACANTIDADØPTIMADEMEMORIAQUESEDEBERESERVARPARAUN
PROBLEMAESPECÓlCO3INEMBARGO ESIMPORTANTEDESTACARQUELASESTRUCTURASDINÈMICAS
NOPUEDENREEMPLAZARALOSARREGLOSENTODASSUSAPLICACIONES%XISTENNUMEROSOSCASOS
QUEPODRÓANFÈCILMENTESERSOLUCIONADOSAPLICANDOARREGLOS MIENTRASQUESISEUTILIZARAN
ESTRUCTURASDINÈMICAS COMOLASLISTAS LASOLUCIØNDEESTOSPROBLEMASSECOMPLICARÓA
,AS LISTAS LIGADAS SON COLECCIONES DE ELEMENTOS LLAMADOS NODOS EL ORDEN ENTRE
ÏSTOSSEESTABLECEPORMEDIODEUNTIPODEDATOSDENOMINADOPUNTEROS APUNTADORES
DIRECCIONESOREFERENCIASAOTROSNODOS0ORTANTO SIEMPREESIMPORTANTEDISTINGUIREN
TREUNDATODETIPOAPUNTADORYELDATOCONTENIDOENLACELDAALCUALÏSTEAPUNTA3EUSARÈ
LANOTACIØN0←>$PARAINDICARQUE0ESUNAPUNTADORALNODO$ #REAR0 PARASE×ALAR
ELPROCESODEASIGNACIØNDEMEMORIAALNODO0 Y1UITAR0 PARAINDICARELPROCESO
INVERSOESDECIR CUANDOSELIBERAUNAPOSICIØNDEMEMORIAAPUNTADAPOR0
,ASOPERACIONESMÈSIMPORTANTESQUESEREALIZANENLASESTRUCTURASDEDATOSSONLAS
DEBÞSQUEDA INSERCIØNYELIMINACIØN3EUTILIZANTAMBIÏNPARACOMPARARLAElCIENCIA
DELASESTRUCTURASDEDATOSYDEESTAFORMAOBSERVARCUÈLESLAESTRUCTURAQUEMEJORSE
ADAPTAALTIPODEPROBLEMAQUESEQUIERARESOLVER,ABÞSQUEDA POREJEMPLO ESUNA
OPERACIØNQUENOSEPUEDEREALIZARENFORMAElCIENTEENLASLISTAS0OROTRAPARTE LAS
OPERACIONESDEINSERCIØNYELIMINACIØNSEEFECTÞANDEMANERAElCIENTEENESTETIPODE
ESTRUCTURASDEDATOS
%STECAPÓTULOSEDEDICARÈALASESTRUCTURASDINÈMICASLINEALESLLAMADASLISTASEN
TREELLASSEDISTINGUENTRESTIPOSLISTASSIMPLEMENTELIGADAS LISTASDOBLEMENTELIGADAS
142
>«‰ÌՏœÊxÊ Ê Ê -*45"4

YLISTASCIRCULARES%NELSIGUIENTECAPÓTULOSEPRESENTARÈNLASESTRUCTURASDINÈMICAS
NOLINEALES DENOMINADASÈRBOLES

 ,)34!33)-0,%-%.4%,)'!$!3

5NALISTASIMPLEMENTELIGADACONSTITUYEUNACOLECCIØNDEELEMENTOSLLAMADOSNODOS
%LORDENENTREÏSTOSSEESTABLECEPORMEDIODEPUNTEROSESDECIR DIRECCIONESOREFE
RENCIASAOTROSNODOS5NTIPOESPECIALDELISTASIMPLEMENTELIGADAESLALISTAVACÓA,A
lGURAPRESENTALAESTRUCTURADEUNNODODEUNALISTASIMPLEMENTELIGADA
%NGENERAL UNNODOCONSTADEDOSPARTES

◗ 5NCAMPO).&/2-!#)».QUESERÈDELTIPODELOSDATOSQUESEQUIERAALMACENAR
ENLALISTA
◗ 5NCAMPO,)'! DETIPOPUNTERO QUESEUTILIZAPARAESTABLECERLALIGAOELENLACE
CONOTRONODODELALISTA3IELNODOFUERAELÞLTIMODELALISTA ESTECAMPOTENDRÈ
COMOVALOR.),ˆVACÓOˆ!LEMPLEARSEELCAMPOLIGAPARARELACIONARDOSNODOS
NOSERÈNECESARIOALMACENARFÓSICAMENTEALOSNODOSENESPACIOSCONTIGUOS

%NLAlGURASEPRESENTAUNEJEMPLODEUNALISTASIMPLEMENTELIGADAQUEALMACE
NAAPELLIDOS%LPRIMERNODODELALISTAESAPUNTADOPORUNAVARIABLE0 DETIPOAPUNTADOR
ˆ0ALMACENALADIRECCIØNDELPRIMERNODOˆ%LCAMPOLIGADELÞLTIMONODODELALISTA
TIENEUNVALOR.), QUEINDICAQUEDICHONODONOAPUNTAANINGÞNOTRO%LAPUNTADOR
ALINICIODELALISTAESIMPORTANTEPORQUEPERMITEPOSICIONARNOSENELPRIMERNODODELA
MISMAYTENERACCESOALRESTODELOSELEMENTOS3I PORALGUNARAZØN ESTEAPUNTADORSE
EXTRAVIARA ENTONCESPERDERÓAMOSTODALAINFORMACIØNALMACENADAENLALISTA0OROTRA
PARTE SI LA LISTA SIMPLEMENTE LIGADA ESTUVIERA VACÓA ENTONCES EL APUNTADOR AL INICIO
TENDRÈELVALOR.),

 /PERACIONESCONLISTASSIMPLEMENTELIGADAS
,ASOPERACIONESQUEPUEDENEFECTUARSEENUNALISTASIMPLEMENTELIGADASON

◗ 2ECORRIDODELALISTA
◗ )NSERCIØNDEUNELEMENTO
◗ "ORRADODEUNELEMENTO
◗ "ÞSQUEDADEUNELEMENTO

&)'52!
%STRUCTURADEUNNODO
 -*45"44*.1-&.&/5&-*("%"4 143

&)'52!
%JEMPLODELISTA

!NTESDEANALIZARCADAUNADEESTASOPERACIONES SEPRESENTARÈUNALGORITMOQUE
PERMITECREARUNALISTASIMPLEMENTELIGADA ALINCORPORARCADANUEVONODOALINICIO

!LGORITMO #REA?INICIO

#REA?INICIO

[%STEALGORITMOPERMITECREARUNALISTASIMPLEMENTELIGADA AGREGANDOCADANUEVONODOAL
INICIODELAMISMA]
[0Y1SONVARIABLESDETIPOPUNTERO,OSCAMPOSDELNODOSON).&/ QUESERÈDELTIPODE
DATOSQUESEQUIERAALMACENARENLALISTA Y,)'!DETIPOAPUNTADOR0APUNTAALINICIODELA
LISTA2%3ESUNAVARIABLEDETIPOENTERO]

 #REAR0 [3ECREAELPRIMERNODODELALISTASIMPLEMENTELIGADA]


 ,EER0>).&/
 (ACER0>,)'!←.),
 %SCRIBIRhz$ESEAINGRESARMÈSNODOSALALISTA3Ó .Ov
 ,EER2%3
 -IENTRAS2%3 2EPETIR
#REAR1
,EER1>).&/
(ACER1>,)'!←0Y0←1
%SCRIBIRhz$ESEAINGRESARMÈSNODOSALALISTA3Ó .Ov
,EER2%3
 [&INDELCICLODELPASO]

6EAMOSUNEJEMPLOPARAILUSTRARELFUNCIONAMIENTODEESTEALGORITMO

%JEMPLO $ADOSLOSSIGUIENTESDATOS'ARCÓA 0ÏREZ ,ØPEZY3ANTOS GENEREUNALISTASIMPLEMENTE


LIGADAMEDIANTEELALGORITMO%NLASIGUIENTElGURASEPUEDEOBSERVAR PASOAPASO
CØMOSEVACONSTRUYENDOLALISTA
#OMOSEAPRECIAENLAlGURAD LALISTAQUEDØENORDENINVERSOCONRESPECTOAL
ORDENENELQUEFUERONDADOSLOSDATOS0ARALOGRARQUELOSDATOSQUEDENENELORDENEN
ELQUEFUERONDADOS SEDEBEAGREGARCADANODOALlNALDELALISTA!CONTINUACIØNSE
PRESENTAUNALGORITMOQUEPERMITECREARUNALISTASIMPLEMENTELIGADA ALINCORPORARCADA
NUEVONODOALlNAL
144
>«‰ÌՏœÊxÊ Ê Ê -*45"4

&)'52!
#REACIØNDELISTASA ,UEGO
DECREARELPRIMERNODO
B ,UEGODEINSERTARAh0Ï
REZvC ,UEGODEINSERTAR
Ah,ØPEZvD ,UEGODE
INSERTARAh3ANTOSv
.OTA,ASmECHASDISCONTINUAS
INDICANLOSCAMBIOSORIGINADOS
ALINSERTARUNNUEVOELEMENTO
ALINICIODELALISTA

!LGORITMO #REA?lNAL

#REA?lNAL

[%STEALGORITMOPERMITECREARUNALISTASIMPLEMENTELIGADA AGREGANDOCADANUEVONODOAL
lNALDELAMISMA]
[0 1Y4SONVARIABLESDETIPOAPUNTADOR,OSCAMPOSDELNODOSON).&/ QUESERÈDELTIPO
DEDATOSQUESEQUIERAALMACENARENLALISTA Y,)'!DETIPOAPUNTADOR0APUNTAALINICIODELA
LISTA2%3ESUNAVARIABLEDETIPOENTERO]

 #REAR0 [3ECREAELPRIMERNODODELALISTA]


 ,EER0>).&/
 (ACER0>,)'!←.),Y4←0
 %SCRIBIRhz$ESEAINGRESARMÈSNODOSALALISTA3Ó .Ov
 ,EER2%3
 -IENTRAS2%3 2EPETIR
#REAR1
,EER1>).&/
(ACER1>,)'!←.), 4>,)'!←1Y4←1[4APUNTAALÞLTIMONODO]
%SCRIBIRhz$ESEAINGRESARMÈSNODOSALALISTA3Ó .Ov
,EER2%3
 [&INDELCICLODELPASO]
 -*45"44*.1-&.&/5&-*("%"4 145

6EAMOSUNEJEMPLOPARAILUSTRARELFUNCIONAMIENTODEESTEALGORITMO

%JEMPLO 3EUTILIZANLOSDATOSDELEJEMPLOANTERIORPARACREARUNALISTAAPLICANDOELALGORITMO
%SIMPORTANTEOBSERVARQUEENESTEALGORITMOSEUTILIZAOTRAVARIABLEDETIPOAPUNTADOR
PARAMANTENERLADIRECCIØNDELÞLTIMONODODELALISTA DETALMANERAQUESEPUEDAES
TABLECERELENLACEENTREÏSTEYELNUEVONODO%NLAlGURASEPUEDEOBSERVAR PASOA
PASO CØMOSEVACONSTRUYENDOESALISTA

&)'52!
#REACIØNDELISTASA ,UEGO
DECREARELPRIMERNODO
B ,UEGODEINSERTARAh0Ï
REZvC ,UEGODEINSERTAR
Ah,ØPEZvD ,UEGODE
INSERTARAh3ANTOSv
.OTA,ASmECHASDISCONTINUAS
INDICANLOSCAMBIOSORIGINADOS
ALINSERTARUNNUEVOELEMENTO
ALlNALDELALISTA

 2ECORRIDODEUNALISTASIMPLEMENTELIGADA
,AOPERACIØNDERECORRIDOENUNALISTASIMPLEMENTELIGADACONSISTEENVISITARCADAUNO
DELOSNODOSQUEFORMANLALISTA,AVISITAPUEDEIMPLICARUNAOPERACIØNSIMPLEPOR
EJEMPLO IMPRIMIRLAINFORMACIØNDELNODO OUNACOMPLEJA DEPENDIENDODELPROBLEMA
QUESEINTENTERESOLVER
0ARA RECORRER TODOS LOS NODOS DE UNA LISTA SIMPLEMENTE LIGADA SE COMIENZA CON
EL PRIMERO 3E TOMA EL VALOR DEL CAMPO ,)'! DE ÏSTE Y SE AVANZA AL SEGUNDO Y ASÓ
SUCESIVAMENTEHASTALLEGARALÞLTIMONODO CUYOCAMPO,)'!TIENEELVALOR.),%N
GENERAL LADIRECCIØNDEUNNODO EXCEPTOELPRIMERO ESTÈDADAPORELCAMPO,)'!DE
SUPREDECESOR
%L ALGORITMO  PRESENTA LOS PASOS NECESARIOS PARA RECORRER UNA LISTA EN FORMA
ITERATIVA
146
>«‰ÌՏœÊxÊ Ê Ê -*45"4

!LGORITMO 2ECORRE?ITERATIVO

2ECORRE?ITERATIVO0

[%STEALGORITMORECORREUNALISTACUYOPRIMERNODOESTÈAPUNTADOPOR0]
[1ESUNAVARIABLEDETIPOAPUNTADOR).&/Y,)'!SONLOSCAMPOSDECADANODODELALISTA]

 (ACER1←0
 -IENTRAS1≠.), 2EPETIR
%SCRIBIR1>).&/
(ACER1←1>,)'![!PUNTAALSIGUIENTENODODELALISTA]
 [&INDELCICLODELPASO]

,ASLISTASSEPUEDENMANEJARFÈCILMENTECONPROCESOSRECURSIVOS%LALGORITMO
CONSTITUYEUNAVERSIØNRECURSIVAPARARECORRERUNALISTASIMPLEMENTELIGADA

!LGORITMO 2ECORRE?RECURSIVO

2ECORRE?RECURSIVO0

[%STEALGORITMORECORREUNALISTASIMPLEMENTELIGADAENFORMARECURSIVA0ESUNAPUNTADORAL
NODOQUESEVAAVISITAR,APRIMERAVEZTRAELADIRECCIØNDELPRIMERNODODELALISTA]
[).&/Y,)'!SONLOSCAMPOSDECADANODODELALISTA]

 3I0≠.),ENTONCES
%SCRIBIR0>).&/
,LAMARA2ECORRE?RECURSIVOCON0>,)'!
[,LAMADARECURSIVACONELAPUNTADORALSIGUIENTENODODELALISTA]
 [&INDELCONDICIONALDELPASO]

6EAMOSAHORALAOPERACIØNDEINSERCIØNENLISTASSIMPLEMENTELIGADAS

 )NSERCIØNENLISTASSIMPLEMENTELIGADAS
,AOPERACIØNDEINSERCIØNENLISTASSIMPLEMENTELIGADASCONSISTEENAGREGARUNNUEVO
NODOALALISTA3INEMBARGO DEPENDIENDODELAPOSICIØNENLAQUESEDEBAINSERTAREL
NODO SEPUEDENPRESENTARDIFERENTESCASOS COMOLOSQUESESE×ALANACONTINUACIØN

◗ )NSERTARUNNODOALINICIODELALISTA
◗ )NSERTARUNNODOALlNALDELALISTA
◗ )NSERTARUNNODOANTESQUEOTROCUYAINFORMACIØNES8
◗ )NSERTARUNNODODESPUÏSQUEOTROCUYAINFORMACIØNES8
 -*45"44*.1-&.&/5&-*("%"4 147

.OSECONSIDERARÈENESTOSALGORITMOSELCASODEQUELALISTAESTÏVACÓAESTACON
DICIØN SE PUEDE INCLUIR YA SEA AL INICIO DEL ALGORITMO O EN EL PROGRAMA PRINCIPAL 3E
CONSIDERARÈENTONCESQUELALISTAENLACUALSEVAAINSERTARELNUEVONODOYAEXISTEˆPOR
LOMENOSTIENEUNNODOˆ

>®Ê ˜ÃiÀVˆ˜Ê>Êˆ˜ˆVˆœÊ`iÊ՘>ʏˆÃÌ>ÊÊ
Ê Ãˆ“«i“i˜Ìiʏˆ}>`>

%N ESTE CASO ELNUEVONODOSECOLOCAALPRINCIPIODELALISTASIMPLEMENTELIGADA CON


VIRTIÏNDOSEENELPRIMERODEELLA%LPROCESOESRELATIVAMENTESIMPLE COMOSEPUEDE
OBSERVARENELSIGUIENTEALGORITMO

!LGORITMO )NSERTA?INICIO

)NSERTA?INICIO0 $!4/

[%STEALGORITMOINSERTAUNNODOALINICIODEUNALISTASIMPLEMENTELIGADA0ESELAPUNTADORAL
PRIMERNODODELAMISMA Y$!4/ESLAINFORMACIØNQUESEALMACENARÈENELNUEVONODO]
[1ESUNAVARIABLEDETIPOAPUNTADOR).&/Y,)'!SONLOSCAMPOSDECADANODODELALISTA]

 #REAR1
 (ACER1>).&/←$!4/ 1>,)'!←0Y0←1

%JEMPLO %NLAlGURASEPRESENTAUNEJEMPLODEINSERCIØNALINICIODELALISTA

L )NSERCIØNALlNALDEUNALISTASIMPLEMENTELIGADA
%NESTECASOELNUEVONODOSECOLOCAALlNALDELALISTASIMPLEMENTELIGADA CONVIRTIÏN
DOSEENELÞLTIMO%LALGORITMODESCRIBEESTEPROCESO

&)'52!
)NSERCIØNALINICIODELA
LISTA
.OTA,AmECHADISCONTINUA
INDICALOSCAMBIOSORIGINADOS
PORLAINSERCIØNDEUNNUEVO
NODOALINICIODELALISTA
148
>«‰ÌՏœÊxÊ Ê Ê -*45"4

!LGORITMO )NSERTA?lNAL

)NSERTA?lNAL0 $!4/

[%STEALGORITMOINSERTAUNNODOALlNALDEUNALISTASIMPLEMENTELIGADA0ESELAPUNTADORAL
PRIMERNODODELALISTA Y$!4/ESLAINFORMACIØNQUESEALMACENARÈENELNUEVONODO]
[1Y4SONVARIABLESDETIPOPUNTERO).&/Y,)'!SONLOSCAMPOSDECADANODODELALISTA]

 (ACER4←0
 -IENTRAS4>,)'!≠.), 2EPETIR
[2ECORRELALISTAHASTALLEGARALÞLTIMOELEMENTO]
(ACER4←4>,)'!
 [&INDELCICLODELPASO]
 #REAR1
 (ACER1>).&/←$!4/ 1>,)'!←.),Y4>,)'!←1

%JEMPLO %NLAlGURASEPRESENTAUNEJEMPLODEINSERCIØNALlNALDELALISTA
3IENCADALISTASIMPLEMENTELIGADASEUTILIZARANDOSAPUNTADORES UNOALPRIMER
NODOYOTROALÞLTIMOlGA ENTONCESELPROCESODEINSERCIØNALlNALSESIMPLIl
CARÓA YAQUENOSERÓANECESARIORECORRERLATODAPARALLEGARALlNAL%LNUEVONODOSE
PODRÓAINCORPORARDIRECTAMENTEVERlGB COMOENELCASODEINSERCIØNALINICIODE
LALISTA

C®Ê )NSERCIØNDEUNNODOANTESQUEOTROENUNALISTA
SIMPLEMENTELIGADA

%NESTETIPODEINSERCIØNENLISTASSIMPLEMENTELIGADAS ELNUEVONODOSEDEBECOLOCAR
ANTES DE OTRO NODO DADO COMO REFERENCIA 3E PUEDEN PRESENTAR DIFERENTES CASOS POR
EJEMPLO QUEELNODODADOCOMOREFERENCIANOSEENCUENTREENLALISTAOQUEELNUEVO
NODOAINSERTARSECONVIERTAENELPRIMERO3EASUME COMOSEHASE×ALADOANTERIORMEN
TE QUELALISTANOESTÈVACÓA

&)'52!
)NSERCIØNALlNALDELALISTA
.OTA,AmECHADISCONTINUA
INDICANLOSCAMBIOSORIGINADOS
PORLAINSERCIØNDEUNNUEVO
NODOALlNALDELALISTA
 -*45"44*.1-&.&/5&-*("%"4 149

&)'52!
)NSERCIØNENUNALISTACON
PUNTEROSALINICIOYALlNAL
DELAMISMAA ,ISTACON
PUNTEROALINICIO 0 YAL
lNAL 4B ,ISTALUEGODE
LAINSERCIØNDEUNNUEVO
ELEMENTOALlNALDELA
MISMA
.OTA,ASmECHASDISCONTINUAS
INDICANLOSCAMBIOSORIGINADOS
PORLAINSERCIØNDEUNNUEVO
NODOALlNALDELALISTA

!LGORITMO )NSERTA?ANTES?8

)NSERTA?ANTES?80 $!4/ 8

[%STEALGORITMOINSERTAUNNODOANTESDEUNNODODADOCOMOREFERENCIAENUNALISTASIMPLE
MENTELIGADA0ESELAPUNTADORALPRIMERNODODELALISTA $!4/INDICALAINFORMACIØNQUE
SEALMACENARÈENELNUEVONODO Y8REPRESENTAELCONTENIDOˆINFORMACIØNˆDELNODODADO
COMOREFERENCIA]
[1 8Y4SONVARIABLESDETIPOAPUNTADOR).&/Y,)'!SONLOSCAMPOSDELOSNODOSDELA
LISTA"!.$ESUNAVARIABLEDETIPOENTERO]

 (ACER1←0Y"!.$←
 -IENTRAS1>).&/≠8 Y"!.$ 2EPETIR
 3I1>,)'!≠.),
ENTONCES
(ACER4←1Y1←1>,)'!
SINO
(ACER"!.$←
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
 3I"!.$
ENTONCES
#REAR8
(ACER8>).&/←$!4/
 3I01 [%LNODODADOCOMOREFERENCIAESELPRIMERO]
ENTONCES
(ACER8>,)'!←0Y0←8
SINO
150
>«‰ÌՏœÊxÊ Ê Ê -*45"4

(ACER4>,)'!←8Y8>,)'!←1
 [&INDELCONDICIONALDELPASO]
SINO
%SCRIBIRh%LNODODADOCOMOREFERENCIANOSEENCUENTRAENLALISTAv
 [&INDELCONDICIONALDELPASO]

%JEMPLO %NLAlGURASEPRESENTAUNEJEMPLODEINSERCIØNDEUNNODOANTESQUEOTRODADO
COMOREFERENCIAENUNALISTASIMPLEMENTELIGADA APLICANDOELALGORITMOANTERIOR

D Ê )NSERCIØNDEUNNODODESPUÏSDEOTRO
ENUNALISTASIMPLEMENTELIGADA

%NESTETIPODEINSERCIØNENLISTASSIMPLEMENTELIGADAS ELNUEVONODOSEDEBECOLO
CARDESPUÏSDEOTRODADOCOMOREFERENCIA3EPUEDENPRESENTARDIFERENTESCASOSPOR
EJEMPLO QUEELNODODADOCOMOREFERENCIANOSEENCUENTREENLALISTAOQUEELNUEVO
SECONVIERTAENELÞLTIMODELALISTA3EASUME COMOSEHASE×ALADO QUELALISTANOESTÈ
VACÓA!CONTINUACIØNSEPRESENTAELALGORITMOCORRESPONDIENTE

!LGORITMO )NSERTA?DESPUÏS?8

)NSERTA?DESPUÏS?80 $!4/ 8

[%STEALGORITMOINSERTAUNNODODESPUÏSDEOTRODADOCOMOREFERENCIAENUNALISTASIMPLEMENTE
LIGADA 0 ES EL APUNTADOR AL PRIMER NODO DE LA LISTA $!4/ INDICA LA INFORMACIØN QUE SE

&)'52!
)NSERCIØNDENODOS

.OTA,ASmECHASDISCON
TINUASINDICANLOSCAMBIOS
ORIGINADOSPORLAINSERCIØN
DEUNNUEVONODOPRECE
DIENDOAOTRO DADOCOMO
REFERENCIA
 -*45"44*.1-&.&/5&-*("%"4 151

ALMACENARÈENELNUEVONODO Y8REPRESENTAELCONTENIDOˆINFORMACIØNˆDELNODODADO
COMOREFERENCIA]
[1Y4SONVARIABLESDETIPOAPUNTADOR).&/Y,)'!SONLOSCAMPOSDELOSNODOSDELALISTA
"!.$ESUNAVARIABLEDETIPOENTERO]

 (ACER1←0Y"!.$←
 -IENTRASF>).&/≠8 Y"!.$ 2EPETIR
 3I1>,)'!≠.),
ENTONCES
(ACER1←1>,)'!
SINO
(ACER"!.$←
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
 3I"!.$
ENTONCES
#REAR4
(ACER4>).&/←$!4/ 4>,)'!←1>,)'!Y1>,)'!←4
SINO
%SCRIBIRh%LNODODADOCOMOREFERENCIANOSEENCUENTRAENLALISTAv
 [&INDELCONDICIONALDELPASO]

%JEMPLO %NLAlGURASEPRESENTAUNEJEMPLODEINSERCIØNDEUNNODODESPUÏSDEOTRODADO
COMOREFERENCIA ENLISTASSIMPLEMENTELIGADASAPLICANDOELALGORITMOANTERIOR
#ABESE×ALARQUEENLASOPERACIONESDELISTASTRATADASHASTAELMOMENTO NOSEHA
CONSIDERADOELORDENENTRELOSELEMENTOS3ISESUPONEQUELALISTAESTÈORDENADA ENEL
MOMENTODEINSERTARUNNUEVONODOHABRÈQUEMANTENERELORDENPREVIAMENTEESTABLE
CIDO

&)'52!
)NSERCIØNDENODOS
.OTA,ASmECHASDISCONTINUAS
INDICANLOSCAMBIOSORIGINADOS
PORLAINSERCIØNDEUNNUEVO
NODOSUCEDIENDOAOTRODADO
COMOREFERENCIA
152
>«‰ÌՏœÊxÊ Ê Ê -*45"4

 %LIMINACIØNENLISTASSIMPLEMENTELIGADAS
,AOPERACIØNDEELIMINACIØNENLISTASSIMPLEMENTELIGADASCONSISTEENELIMINARUNNODO
DELALISTAYLIBERARELESPACIODEMEMORIACORRESPONDIENTE$EPENDIENDODELAPOSICIØN
ENLAQUEÏSTESEENCUENTRE SEPUEDENPRESENTARDIFERENTESCASOS COMOLOSQUESESE×A
LANACONTINUACIØN

◗ %LIMINARELPRIMERNODO
◗ %LIMINARELÞLTIMONODO
◗ %LIMINARUNNODOCONINFORMACIØN8
◗ %LIMINARELNODOANTERIORALNODOCONINFORMACIØN8
◗ %LIMINARELNODOPOSTERIORALNODOCONINFORMACIØN8

#ABEDESTACARQUEENLOSALGORITMOSQUESEPRESENTANACONTINUACIØNNOSECON
SIDERAQUELALISTAESTÏVACÓA%STACONDICIØNSEPUEDEEVALUARFÈCILMENTEALINICIODEL
ALGORITMOOBIENENELPROGRAMAPRINCIPAL

A Ê %LIMINARELPRIMERNODODEUNALISTA
SIMPLEMENTELIGADA

%STAOPERACIØNESMUYSENCILLA YAQUESØLOESNECESARIOREDElNIRELAPUNTADORALINICIO
DELALISTA3IÏSTAQUEDARAVACÓAESDECIR SILALISTATENÓASØLOUNELEMENTO ENTONCES
APUNTARÓAA.),%NELSIGUIENTEALGORITMOSEDESCRIBEESTECASO

!LGORITMO %LIMINA?INICIO

%LIMINA?INICIO0

[%STEALGORITMOPERMITEELIMINARELPRIMERELEMENTODEUNALISTASIMPLEMENTELIGADA0ESEL
APUNTADORALPRIMERNODODELALISTA]
[1ESUNAVARIABLEDETIPOAPUNTADOR).&/Y,)'!SONLOSCAMPOSDELOSNODOSDELALISTA]

 (ACER1←0
[3ILALISTATUVIERASØLOUNELEMENTOENTONCESA0SELEASIGNARÓA.), QUEESELVALORDE
1>,)'!%NCASOCONTRARIO QUEDACONLADIRECCIØNDELSIGUIENTENODO]
 (ACER0←1>,)'![2EDElNEELPUNTEROALINICIODELALISTA]
 1UITAR1

%JEMPLO %NLAlGURASEPRESENTAUNEJEMPLODEELIMINACIØNDELPRIMERNODODEUNALISTA
SIMPLEMENTELIGADA APLICANDOELALGORITMOANTERIOR
 -*45"44*.1-&.&/5&-*("%"4 153

&)'52!
%LIMINACIØNDELPRIMER
NODODEUNALISTA

B Ê %LIMINARELÞLTIMONODODEUNALISTA
SIMPLEMENTELIGADA

%NESTECASOSEDEBEELIMINARELÞLTIMONODODEUNALISTASIMPLEMENTELIGADA%SIMPOR
TANTEOBSERVARQUEPARAALCANZARELÞLTIMONODO SEDEBERECORRERTODALALISTA EXCEPTOSI
SEUSARAUNAPUNTADORQUEINDIQUESUlNAL!CONTINUACIØNSEPRESENTAUNALGORITMODE
SOLUCIØN CONSIDERANDOQUESOLAMENTESETIENEUNAPUNTADORALINICIODELALISTA

!LGORITMO %LIMINA?ÞLTIMO

%LIMINA?ÞLTIMO0

[%STE ALGORITMO PERMITE ELIMINAR EL ÞLTIMO NODO DE UNA LISTA SIMPLEMENTE LIGADA 0 ES EL
APUNTADORALPRIMERNODODELALISTA]
[1 Y 4 SON VARIABLES DE TIPO APUNTADOR ).&/ Y ,)'! SON LOS CAMPOS DE LOS NODOS DE LA
LISTA]

 (ACER1← 0
 3I0>,)'!.), [3EVERIlCASILALISTATIENESØLOUNNODO]
ENTONCES
(ACER0←.),
SINO
 -IENTRAS1>,)'!≠.), 2EPETIR
(ACER4←1Y1←1>,)'!
 [&INDELCICLODELPASO]
(ACER4>,)'!←.),
 [&INDELCONDICIONALDELPASO]
 1UITAR1

%JEMPLO %NLAlGURASEPRESENTAUNEJEMPLODEELIMINACIØNDELÞLTIMONODODEUNALISTA
SIMPLEMENTELIGADA
154
>«‰ÌՏœÊxÊ Ê Ê -*45"4

&)'52!
%LIMINACIØNDELÞLTIMO
NODODEUNALISTA
.OTA,AmECHADISCONTINUA
INDICALOSCAMBIOSORIGINADOS
PORLAELIMINACIØNDELÞLTIMO
NODODELALISTA

C Ê %LIMINARUNNODOCONINFORMACIØN8ÊÊ
Ê DEUNALISTASIMPLEMENTELIGADA

,AELIMINACIØNDEUNNODOCONINFORMACIØN8ESUNODELOSCASOSCOMPLICADOSDEESTA
OPERACIØN PORQUESEPUEDENPRESENTARDIFERENTESVARIANTES0OREJEMPLO ELNODOPUEDE
SERELPRIMERO ELÞLTIMO ELÞNICOONOENCONTRARSEENLALISTA%LALGORITMODESCRIBE
ESTEPROCESO

!LGORITMO %LIMINA?8

%LIMINA?80 8

[%STEALGORITMOELIMINAUNNODOCONINFORMACIØN8DEUNALISTASIMPLEMENTELIGADA0ESEL
APUNTADORALPRIMERNODODELALISTA]
[1Y4SONVARIABLESDETIPOAPUNTADOR"!.$ESUNAVARIABLEDETIPOENTERO).&/Y,)'!
SONLOSCAMPOSDELOSNODOSDELALISTA]

 (ACER1←0Y"!.$←
 -IENTRAS1>).&/≠8 Y"!.$ 2EPETIR
 3I1>,)'!≠.),
ENTONCES
(ACER4←1Y1←1>,)'!
SINO
(ACER"!.$←
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
 3I"!.$
ENTONCES
%SCRIBIRh%LELEMENTOCONINFORMACIØN8NOSEENCUENTRAENLALISTAv
SINO
 3I01 [3EVERIlCASIELELEMENTOAELIMINARESELPRIMERO]
ENTONCES
(ACER0←1>,)'!
SINO
(ACER4>,)'!←1>,)'!
 [&INDELCONDICIONALDELPASO]
1UITAR1
 [&INDELCONDICIONALDELPASO]
 -*45"44*.1-&.&/5&-*("%"4 155

&)'52!
%LIMINACIØNDEUNNODOCON
INFORMACIØN8
.OTA,AmECHADISCONTINUA
INDICALOSCAMBIOSORIGINADOS
PORLAELIMINACIØNDELNODO

%JEMPLO %NLAlGURASEPRESENTAUNEJEMPLODEELIMINACIØNDEUNNODOCONINFORMACIØN8
ENUNALISTASIMPLEMENTELIGADA

D Ê %LIMINARELNODOANTERIORALNODOCONINFORMACIØN8
ENUNALISTASIMPLEMENTELIGADA

%STEESELCASODEELIMINACIØNMÈSCOMPLICADOENLISTASSIMPLEMENTELIGADAS PORQUE
TIENEMUCHASVARIANTES0OREJEMPLO ELNODOCONINFORMACIØN8PUEDESERELPRIMERO
ˆENTONCESNOHAYNADAQUEELIMINARˆ ELSEGUNDOˆENTONCESHAYQUEELIMINARELPRI
MERODELALISTAˆ ESTARENCUALQUIEROTRAPOSICIØN OBIENNOENCONTRARSEENLALISTA

!LGORITMO %LIMINA?ANTES?8

%LIMINA?ANTES?80 8

[%STEALGORITMOPERMITEELIMINARELNODOANTERIORALNODOQUECONTIENELAINFORMACIØN8EN
UNALISTASIMPLEMENTELIGADA0ESELAPUNTADORALPRIMERNODODELALISTA]
[1 4Y2SONVARIABLESDETIPOAPUNTADOR"!.$ESUNAVARIABLEDETIPOENTERO).&/Y,)'!
SONLOSCAMPOSDELOSNODOSDELALISTA]

 3I0>).&/8
ENTONCES
%SCRIBIRh.OEXISTEUNNODOQUEPRECEDAALQUECONTIENEA8v
SINO
(ACER1←0 4←0Y"!.$←
 -IENTRAS1>).&/≠8 Y"!.$ 2EPETIR
 3I1>,)'!≠.),
ENTONCES
(ACER2←4 4←1Y1←1>,)'!
SINO
(ACER"!.$←
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
 3I"!.$
156
>«‰ÌՏœÊxÊ Ê Ê -*45"4

ENTONCES
%SCRIBIRh%LELEMENTONOSEENCUENTRAENLALISTAv
SINO
 3I0>,)'!1 [%LELEMENTOAELIMINARESELPRIMERO]
ENTONCES
(ACER0←1
SINO
(ACER2>,)'!←1
 [&INDELCONDICIONALDELPASO]
1UITAR4
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]

%JEMPLO %NLAlGURASEPRESENTAUNEJEMPLODEELIMINACIØNDELNODOANTERIORAOTRODADO
COMOREFERENCIA MEDIANTEELALGORITMO
3EDEJAALLECTORLACONSTRUCCIØNDELALGORITMOPARAELIMINARUNNODODESPUÏSDE
OTRODADOCOMOREFERENCIA%STEALGORITMOESDEMENORCOMPLEJIDADQUEELPRESENTADO
ANTES

 "ÞSQUEDAENLISTASSIMPLEMENTELIGADAS
,AOPERACIØNDEBÞSQUEDADEUNELEMENTOENUNALISTASIMPLEMENTELIGADAESMUYFÈCIL
DEREALIZAR AUNQUEINElCIENTEYAQUESELLEVAACABODEFORMASECUENCIAL3EDEBEIR
RECORRIENDOLOSNODOSHASTAENCONTRARELQUEESTAMOSBUSCANDOOHASTAQUESELLEGAAL
lNALDELALISTA%LALGORITMOESSIMILARALOSQUESEDESARROLLARONPARARECORRERUNALISTA
ENFORMAITERATIVAORECURSIVA
!LIGUALQUEENELCASODELASOPERACIONESVISTASANTERIORMENTE EXISTEDIFERENCIA
ENLOSALGORITMOSSILASLISTASSEENCUENTRANORDENADASODESORDENADAS3ECOMENZARÈ EN
PRIMERTÏRMINO CONELALGORITMODEBÞSQUEDAPARALISTASSIMPLEMENTELIGADASQUESE
ENCUENTRANDESORDENADAS

&)'52!
%LIMINACIØNDENODOS
.OTA,AmECHADISCONTINUAINDICALOSCAMBIOSORIGINADOSPORLAELIMINACIØNDELNODOANTERIORAUN
NODODADOCOMOREFERENCIA
 -*45"44*.1-&.&/5&-*("%"4 157

!LGORITMO "ÞSQUEDA?DESORDENADA

"ÞSQUEDA?DESORDENADA0 8

[%STEALGORITMOPERMITEBUSCARELELEMENTOCONINFORMACIØN8ENUNALISTASIMPLEMENTELIGADA
QUESEENCUENTRADESORDENADA0ESELAPUNTADORALPRIMERNODODELALISTA]
[1ESUNAVARIABLEDETIPOAPUNTADOR).&/Y,)'!SONCAMPOSDELOSNODOSDELALISTA]

 (ACER1←0
 -IENTRAS1≠.), Y1>).&/≠8
(ACER1←1>,)'!
 [&INDELCICLODELPASO]
 3I1.),
ENTONCES
%SCRIBIRh%LELEMENTONOSEENCUENTRAENLALISTAv
SINO
%SCRIBIRh%LELEMENTOSÓSEENCUENTRAENLALISTAv
 [&INDELCONDICIONALDELPASO]

%SIMPORTANTEDESTACARQUECONUNASIMPLEMODIlCACIØNENLACONDICIØNDELCICLO
DELPASOSEADAPTEESTEALGORITMOPARALABÞSQUEDADEELEMENTOSENLISTASSIMPLEMENTE
LIGADASQUESEENCUENTRANORDENADAS!CONTINUACIØNSEPRESENTAELALGORITMODEBÞS
QUEDAENLISTASSIMPLEMENTELIGADASQUESEENCUENTRANORDENADASENFORMAASCENDENTE

!LGORITMO "ÞSQUEDA?ORDENADA

"ÞSQUEDA?ORDENADA0 8

[%STEALGORITMOPERMITEBUSCARELELEMENTOCONINFORMACIØN8ENUNALISTASIMPLEMENTELIGADA
QUESEENCUENTRAORDENADAENFORMAASCENDENTE0ESELAPUNTADORALPRIMERNODODELALISTA]
[1ESUNAVARIABLEDETIPOAPUNTADOR).&/Y,)'!SONLOSCAMPOSDELOSNODOSDELALISTA]

 (ACER1←0
 -IENTRAS1≠.), Y1>).&/8
(ACER1←1>,)'!
 [&INDELCICLODELPASO]
 3I1.), O1>).&/8
ENTONCES
%SCRIBIRh%LELEMENTONOSEENCUENTRAENLALISTAv
SINO
%SCRIBIRh%LELEMENTOSÓSEENCUENTRAENLALISTAv
 [&INDELCONDICIONALDELPASO]
158
>«‰ÌՏœÊxÊ Ê Ê -*45"4

4ODOSLOSALGORITMOSPRESENTADOSTANTOPARALABÞSQUEDA INSERCIØNYELIMINACIØN
SEPUEDENIMPLEMENTARDEFORMARECURSIVA!CONTINUACIØNSEMUESTRAUNAVERSIØNRE
CURSIVADELALGORITMO

!LGORITMO "ÞSQUEDA?RECURSIVO

"ÞSQUEDA?RECURSIVO0 8

[%STEALGORITMOPERMITEBUSCARRECURSIVAMENTEAUNELEMENTOCONINFORMACIØN8ENUNALISTA
SIMPLEMENTELIGADAQUESEENCUENTRADESORDENADA0ESELAPUNTADORALPRIMERELEMENTODE
LALISTA]

 3I0≠.),
ENTONCES
 3I0>).&/8
ENTONCES
%SCRIBIRh%LELEMENTOSEENCUENTRAENLALISTAv
SINO
,LAMARA"ÞSQUEDA?RECURSIVOCON0>,)'!Y8
 [&INDELCONDICIONALDELPASO]
SINO
%SCRIBIRh%LELEMENTONOSEENCUENTRAENLALISTAv
 [&INDELCONDICIONALDELPASO]

 ,)34!3#)2#5,!2%3
,ASLISTASCIRCULARESSONSIMILARESALASLISTASSIMPLEMENTELIGADAS3INEMBARGO TIENEN
LA CARACTERÓSTICA DE QUE EL ÞLTIMO ELEMENTO DE LA LISTA APUNTA AL PRIMERO EN LUGAR DE
APUNTARALVACÓOO.),
3EDElNEUNALISTASIMPLEMENTELIGADACIRCULARCOMOUNACOLECCIØNDEELEMENTOS
LLAMADOSNODOS ENLACUALELÞLTIMONODOAPUNTAALPRIMERO%NLAlGURASEPRE
SENTAUNAGRÈlCADEUNALISTACIRCULAR
,ASOPERACIONESENLISTASCIRCULARESSONSIMILARESALASOPERACIONESENLISTASLINEA
LESPORTANTO NOSETRATARÈNNUEVAMENTEENESTASECCIØN3INEMBARGO ESIMPORTANTE

&)'52!

,ISTACIRCULAR
 -*45"4%0#-&.&/5&-*("%"4 159

&)'52!
,ISTACIRCULARCONNODO
DECABECERA

SE×ALAR QUE PARA EL CASO DE LA OPERACIØN DE RECORRIDO DE LISTAS CIRCULARES SE NECESITA
CONSIDERARALGÞNCRITERIOPARADETECTARCUÈNDOSEHANVISITADOTODOSLOSNODOSDELALISTA
%STOÞLTIMOCONELPROPØSITODEEVITARCAERENCICLOSINlNITOS5NAPOSIBLESOLUCIØNAL
PROBLEMAPLANTEADOCONSISTEENUSARUNNODOEXTRA LLAMADONODODECABECERA PARA
INDICARELINICIODELALISTA%STENODOCONTENDRÈINFORMACIØNESPECIAL DETALMANERAQUE
SEDISTINGADELOSDEMÈSYASÓPODRÈHACERREFERENCIAALPRINCIPIODELALISTA,AlGURA
PRESENTAUNAGRÈlCADEUNALISTACIRCULARCONNODODECABECERA
%NLOSALGORITMOSPRESENTADOSPARAOPERARCONLISTASSIMPLEMENTELIGADASSEPUEDE
APRECIAR QUE SØLO SE TIENE ACCESO A UN NODO Y AL SUCESOR DE ÏSTE 3I SE NECESITARA SU
PREDECESOR POREJEMPLO SETENDRÓANQUEUSARVARIABLESAUXILIARESVÏASEELALGORITMO
 5NAMANERADEEVITARESTASITUACIØN ESTENIENDOACCESOALOSNODOSENCUALQUIER
ORDENˆANTECESOROSUCESORˆ YADEMÈSRECORRERLALISTADELINICIOALlN OVICEVERSA
,ASLISTASQUECUENTANCONESTAFACILIDADSONLASDOBLEMENTELIGADAS!CONTINUACIØNSE
PRESENTAESTETIPODEESTRUCTURAS

 ,)34!3$/",%-%.4%,)'!$!3
5NALISTADOBLEMENTELIGADAESUNACOLECCIØNDENODOS ENLACUALCADAUNODEELLOS
TIENEDOSAPUNTADORESlGA UNOAPUNTANDOASUPREDECESOR,)'!):1 YOTROA
SUSUCESOR,)'!$%2 0ORMEDIODEESTOSPUNTEROSSEPODRÈENTONCESAVANZARORE
TROCEDERATRAVÏSDELALISTA SEGÞNSETOMENLASDIRECCIONESDEUNOUOTROAPUNTADOR,A
lGURABREPRESENTAUNALISTADOBLEMENTELIGADAQUEALMACENAAPELLIDOS
0ARA TENER UN FÈCIL ACCESO A LA INFORMACIØN DE LA LISTA ES RECOMENDABLE USAR DOS
APUNTADORES 0Y& QUEAPUNTENALPRINCIPIOYALlNALDEÏSTA RESPECTIVAMENTE

 /PERACIONESCONLISTASDOBLEMENTELIGADAS
,ASOPERACIONESQUESEPUEDENLLEVARACABOCONESTETIPODEESTRUCTURASSONLASMISMAS
QUECONLISTASSIMPLEMENTELIGADAS%NESTASECCIØNSEPRESENTARÈNLASOPERACIONESDE

◗ 2ECORRIDODELALISTA
◗ )NSERCIØNDEUNELEMENTO
◗ "ORRADODEUNELEMENTO
160
>«‰ÌՏœÊxÊ Ê Ê -*45"4

&)'52!
%JEMPLODELISTADOBLEMEN
TELIGADAA %STRUCTURA
DEUNNODOB %JEMPLODE
LISTADOBLEMENTELIGADA



 2ECORRIDODEUNALISTADOBLEMENTELIGADA
!LTENERCADANODOUNADOBLELIGA LALISTASEPUEDERECORRERTANTODELINICIOALlNAL ME
DIANTELASLIGASDERECHAS COMOENSENTIDOINVERSOESDECIR DELlNALALPRINCIPIO CONLAS
LIGASIZQUIERDAS#UALQUIERAQUESEALADIRECCIØNDELRECORRIDO ELALGORITMOESSIMILARAL
QUESEPRESENTAPARALISTASSIMPLEMENTELIGADAS3EDEJAALLECTORSUDISE×O

 )NSERCIØNENLISTASDOBLEMENTELIGADAS
,AINSERCIØNDEUNELEMENTOCONSISTEENAGREGARUNNUEVONODOALALISTAYESTABLECER
LOSAPUNTADORESCORRESPONDIENTES.OSECONSIDERARÈELCASODELISTAVACÓA,AINSERCIØN
SEPUEDELLEVARACABO

◗ !LINICIODELALISTADOBLEMENTELIGADA
◗ !LlNALDELALISTADOBLEMENTELIGADA
◗ !NTESDESPUÏSDEUNNODOCONINFORMACIØN8

A Ê )NSERCIØNALINICIODELALISTADOBLEMENTELIGADA
%NESTECASOELNUEVONODOSECOLOCAALPRINCIPIODELALISTAYSEESTABLECENLASLIGAS
CORRESPONDIENTES%LNUEVONODOINSERTADOSECONVIERTE ENTONCES ENELPRIMERODELA
LISTADOBLEMENTELIGADA%LALGORITMODESCRIBEESTEPROCESO

!LGORITMO )NSERTA?PRINCIPIO

)NSERTA?PRINCIPIO0 $!4/

[%STEALGORITMOINSERTAUNNODOALINICIODEUNALISTADOBLEMENTELIGADA0ESELAPUNTADORAL
PRIMERNODODELALISTAY$!4/ESLAINFORMACIØNQUESEALMACENARÈENELNUEVONODO]
 -*45"4%0#-&.&/5&-*("%"4 161

[1ESUNAVARIABLEDETIPOAPUNTADOR).&/2 ,)'!$%2Y,)'!):1SONLOSCAMPOSDECADA
NODODELALISTA]

 #REAR1
(ACER1>).&/2←$!4/ 1>,)'!$%2←0 0>,)'!):1←1
1>,)'!):1←.),Y0←1

%JEMPLO %NLAlGURASEPRESENTAUNEJEMPLODEINSERCIØNALINICIODEUNALISTADOBLEMENTE
LIGADA

B Ê )NSERCIØNALlNALDEUNALISTADOBLEMENTELIGADA
%NESTECASOELNUEVONODOSECOLOCAALlNALDELALISTADOBLEMENTELIGADA CONVIRTIÏNDO
SEENELÞLTIMO%LALGORITMODESCRIBEESTEPROCESO

!LGORITMO )NSERTA?lNAL

)NSERTA?lNAL& $!4/

[%STEALGORITMOINSERTAUNNODOALlNALDEUNALISTADOBLEMENTELIGADA&ESELAPUNTADORAL
ÞLTIMONODODELALISTA Y$!4/ESLAINFORMACIØNQUESEALMACENARÈENELNUEVONODO]
[1ESUNAVARIABLEDETIPOPUNTERO).&/2 ,)'!):1Y,)'!$%2SONLOSCAMPOSDECADA
NODODELALISTA]

 #REAR1
 (ACER1>).&/2←$!4/ &>,)'!$%2←1 1>,)'!):1←&
1>,)'!$%2←.),Y&←1

%JEMPLO %NLAlGURASEPRESENTAUNEJEMPLODEINSERCIØNALlNALDEUNALISTADOBLEMENTE
LIGADA

&)'52!
)NSERCIØNALINICIODELA
LISTA
.OTA,ASmECHASDISCONTINUAS
INDICANLOSCAMBIOSORIGINADOS
ENLALISTADOBLEMENTELIGADA
PORLAINSERCIØNDEUNNUEVO
NODOALINICIODELAMISMA
162
>«‰ÌՏœÊxÊ Ê Ê -*45"4

&)'52!
)NSERCIØNALlNALDELALISTA
.OTA,ASmECHASDISCONTINUAS
INDICANLOSCAMBIOSORIGINADOS
ENLALISTADOBLEMENTELIGADA
PORLAINSERCIØNDEUNNUEVO
NODO

!LTRABAJARCONUNAPUNTADORALÞLTIMOELEMENTODELALISTA & LAOPERACIØNDEINSER


CIØNSESIMPLIlCANOTABLEMENTEYAQUESEEVITARECORRERTODALALISTA

C Ê )NSERCIØNDEUNNODOANTESQUEOTRO
ENUNALISTADOBLEMENTELIGADA

%NESTECASOELNUEVONODOSECOLOCAPRECEDIENDOAOTRODADOCOMOREFERENCIA#ABE
SE×ALARQUESØLOSEPRESENTARÈLAOPERACIØNDEINSERCIØNDEUNNODOANTESDEOTRODADO
COMOREFERENCIA YAQUELASOPERACIONES!NTES?QUE?OTRO?Y$ESPUÏS?QUE?OTROSONSI
MÏTRICAS

!LGORITMO )NSERTA?ANTES?8

)NSERTA?ANTES?80 $!4/ 8

[%STEALGORITMOINSERTAUNNODOANTESDEOTRODADOCOMOREFERENCIA CONINFORMACIØN80
ESELAPUNTADORALPRIMERNODODELALISTA Y$!4/ESLAINFORMACIØNQUESEALMACENARÈENEL
NUEVONODO]
[1 4Y2SONVARIABLESDETIPOAPUNTADOR).&/2 ,)'!$%2Y,)'!):1SONLOSCAMPOSDE
CADANODODELALISTA]

 (ACER1←0
 -IENTRAS1>,)'!$%2≠.), Y1>).&/2≠8 2EPETIR
(ACER1←1>,)'!$%2
 [&INDELCICLODELPASO]
 3I1>).&/28
ENTONCES
#REAR4 [3ECREAELNUEVONODO]
(ACER4>).&/2←$!4/ 4>,)'!$%2←1 2←1>,)'!):1
Y1>,)'!):1←4
 3I01
ENTONCES
(ACER0←4Y4>,)'!):1←.),
SINO
(ACER2>,)'!$%2←4Y4>,)'!):1←2
 -*45"4%0#-&.&/5&-*("%"4 163

 [&INDELCONDICIONALDELPASO]
SINO
ESCRIBIRh%LELEMENTONOSEENCUENTRAENLALISTAv
 [&INDELCONDICIONALDELPASO]

%JEMPLO %NLAlGURASEPRESENTAUNEJEMPLODEINSERCIØN APLICANDOELALGORITMO

 %LIMINACIØNENLISTASDOBLEMENTELIGADAS
,AOPERACIØNDEELIMINACIØNDEUNNODOENUNALISTADOBLEMENTELIGADA ALIGUALQUE
EN EL CASO DE LAS LISTAS SIMPLEMENTE LIGADAS CONSISTE EN ELIMINAR UN ELEMENTO DE LA
LISTA REDElNIENDOLOSAPUNTADORESCORRESPONDIENTESYLIBERANDOELESPACIODEMEMORIA
OCUPADOPORELNODO%NLAELIMINACIØNSEPUEDENPRESENTARDIFERENTESCASOS AUNQUE
ALGUNOSDEELLOSSONSIMÏTRICOS YAQUECADANODOTIENEAPUNTADORESHACIADELANTEˆDE
RECHAˆYATRÈSˆIZQUIERDAˆ

◗ %LIMINARELPRIMERNODO
◗ %LIMINARELÞLTIMONODO
◗ %LIMINARELNODOCONINFORMACIØN8
◗ %LIMINARELNODOANTERIORPOSTERIORALNODOCONINFORMACIØN8

%NLOSALGORITMOSQUEPRESENTANLASOLUCIØNALOSDIFERENTESCASOSDEBORRADODEUN
ELEMENTODEUNALISTA NOSECONSIDERAQUEÏSTASEENCUENTREVACÓA%STECASO COMOYA
SEHAREPETIDOENVARIASOCASIONES SEPUEDECONTROLARENELPROGRAMAPRINCIPALOBIEN
CONUNACONDICIØNSIMPLEALINICIODECADAALGORITMO

&)'52!
)NSERCIØNDENODOS
.OTA,ASmECHASDISCONTINUAS
INDICANLOSCAMBIOSORIGINADOS
ENLALISTADOBLEMENTELIGADA
PORLAINSERCIØNDEUNNUEVO
NODO
164
>«‰ÌՏœÊxÊ Ê Ê -*45"4

A Ê %LIMINARELPRIMERNODODEUNALISTA
DOBLEMENTELIGADA

#ONSISTEENQUITARELPRIMERNODODELALISTA CUALQUIERAQUESEASUINFORMACIØN REDEl


NIENDOELPUNTEROALINICIODELAMISMA%LALGORITMODESCRIBEESTEPROCESO

!LGORITMO %LIMINA?INICIO

%LIMINA?INICIO0 &

[%STE ALGORITMO ELIMINA EL PRIMER ELEMENTO DE UNA LISTA DOBLEMENTE LIGADA 0 Y & SON LOS
APUNTADORESALPRIMERYÞLTIMONODOSDELALISTA RESPECTIVAMENTE]
[1ESUNAVARIABLEDETIPOAPUNTADOR).&/2 ,)'!$%2Y,)'!):1SONLOSCAMPOSDECADA
NODODELALISTA]

 (ACER1←0
 3I1>,)'!$%2≠.), [6ERIlCASILALISTATIENESØLOUNNODO]
ENTONCES
(ACER0←1>,)'!$%2Y0>,)'!):1←.),
SINO
(ACER0←.),Y&←.),
 [&INDELCONDICIONALDELPASO]
 1UITAR1

%JEMPLO %NLAlGURASEPRESENTAUNEJEMPLODEELIMINACIØNDELPRIMERNODODEUNALISTA
DOBLEMENTELIGADA MEDIANTEELALGORITMO

B Ê %LIMINARELÞLTIMONODODEUNALISTA
DOBLEMENTELIGADA

%STECASOESSIMÏTRICOALANTERIORCONSISTEENELIMINARELÞLTIMONODODEUNALISTADOBLE
MENTELIGADAYREDElNIRELAPUNTADORALlNALDEELLA

&)'52!
%LIMINACIØNDELPRIMER
NODODEUNALISTA
.OTA,ASmECHASDISCONTINUAS
INDICANLOSCAMBIOSORIGINADOS
ENLALISTADOBLEMENTELIGADA
PORLAELIMINACIØNDELPRIMER
NODO
 -*45"4%0#-&.&/5&-*("%"4 165

!LGORITMO %LIMINA?ÞLTIMO

%LIMINA?ÞLTIMO0 &

[%STE ALGORITMO ELIMINA EL ÞLTIMO ELEMENTO DE UNA LISTA DOBLEMENTE LIGADA 0 Y & SON LOS
APUNTADORESALPRIMEROYÞLTIMONODOSDELALISTA RESPECTIVAMENTE]
[1ESUNAVARIABLEDETIPOPUNTERO).&/2 ,)'!$%2Y,)'!):1SONLOSCAMPOSDECADA
NODODELALISTA]

 (ACER1←&
 3I1>,)'!):1≠.), [6ERIlCASILALISTATIENEUNSOLONODO]
ENTONCES
(ACER&←1>,)'!):1Y&>,)'!$%2←.),
SINO
(ACER&←.),Y0←.),
 [&INDELCONDICIONALDELPASO]
 1UITAR1

%JEMPLO %NLAlGURASEPRESENTAUNEJEMPLODEELIMINACIØNDELÞLTIMONODODEUNALISTA
DOBLEMENTELIGADAAPLICANDOELALGORITMOANTERIOR

C Ê %LIMINARUNNODOCONINFORMACIØN8
%STECASOCONSISTEENELIMINARELNODOQUECONTENGALAINFORMACIØN8 YESTABLECERLOS
APUNTADORES CORRESPONDIENTES ENTRE SU ANTECESOR Y SU SUCESOR RESPECTIVAMENTE %STE
CASOTIENEALGUNASVARIANTES%LNODOQUESEQUIEREELIMINARPUEDEQUENOSEENCUENTRE
ENLALISTA OBIENQUESEHALLEYSEAELPRIMERO ELÞLTIMO ELÞNICO OQUEESTÏENCUAL
QUIERPOSICIØNINTERMEDIADELAESTRUCTURA

&)'52!
%LIMINACIØNDELÞLTIMONODODEUNALISTA
.OTA,ASmECHASDISCONTINUASINDICANLOSCAMBIOSORIGINADOSENLALISTADOBLEMENTELIGADAPORLA
ELIMINACIØNDELÞLTIMONODO
166
>«‰ÌՏœÊxÊ Ê Ê -*45"4

!LGORITMO %LIMINA?8

%LIMINA?80 & 8

[%STEALGORITMOELIMINAELNODOCONINFORMACIØN8DEUNALISTADOBLEMENTELIGADA0Y&SON
LOSAPUNTADORESALPRIMEROYÞLTIMONODOSDELALISTA RESPECTIVAMENTE]
[1 4Y2SONVARIABLESDETIPOAPUNTADOR).&/2 ,)'!$%2Y,)'!):1SONLOSCAMPOSDE
CADANODODELALISTA]

 (ACER1←0
 -IENTRAS1>,)'!$%2≠.), Y1>).&/2≠8 2EPETIR
(ACER1←1>,)'!$%2
 [&INDELCICLODELPASO]
 3I1>).&/28
ENTONCES
 3I10 Y1& [,ALISTATIENEUNSOLONODO]
ENTONCES
(ACER0←.),Y&←.),
SINO
 3I10 [%SELPRIMERO]
ENTONCES
(ACER0←1>,)'!$%2Y0>,)'!):1←.),
SINO
 3I1& [%SELÞLTIMO]
ENTONCES
(ACER&←1>,)'!):1Y&>,)'!$%2←.),
SINO[%SUNNODOINTERMEDIO]
(ACER4←1>,)'!):1 2←1>,)'!$%2
4>,)'!$%2←2Y2>,)'!):1←4
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]
1UITAR1
SINO
%SCRIBIRh%LELEMENTOCONINFORMACIØN8NOSEENCUENTRAENLALISTAv
 [&INDELCONDICIONALDELPASO]

%JEMPLO %NLAlGURASEPRESENTAUNEJEMPLODEELIMINACIØNDEUNNODOCONINFORMACIØN8
ENUNALISTADOBLEMENTELIGADA

D Ê %LIMINARELNODOANTERIORALNODO
CONINFORMACIØN8
%NESTECASOSETRATADEELIMINARELNODOANTERIORAUNODADOCOMOREFERENCIAQUECON
TENGALAINFORMACIØN8%LCASOTAMBIÏNTIENEALGUNASVARIANTES0UEDESERQUEELNODO
CONINFORMACIØN8NOSEENCUENTREENLALISTAOBIENSEENCUENTRE YSEAELPRIMEROˆEN
 -*45"4%0#-&.&/5&-*("%"4 167

&)'52!
%LIMINACIØNDEUNNODOCONINFORMACIØN8A %LNODOESELPRIMEROB %LNODOESEL
ÞLTIMOC %LNODOESINTERMEDIO
.OTA,ASmECHASDISCONTINUASINDICANLOSCAMBIOSORIGINADOSENLALISTADOBLEMENTELIGADA PORLA
ELIMINACIØNDEUNNODO

ESECASONOHAYNADAQUEELIMINARˆ ELSEGUNDOˆSEELIMINAELPRIMERODELALISTAˆ O


SEENCUENTREENCUALQUIEROTRAPOSICIØN%LALGORITMODESCRIBELOSPASOSNECESARIOS
PARALLEVARACABOESTAOPERACIØN

!LGORITMO %LIMINA?ANTES?8

%LIMINA?ANTES?80 8

[%STEALGORITMOELIMINA SISEPUEDE ELNODOANTERIORAAQUELQUECONTIENELAINFORMACIØN8


0ESELAPUNTADORALPRIMERNODODELALISTA]
[1 4Y2SONVARIABLESDETIPOAPUNTADOR).&/2 ,)'!$%2Y,)'!):1SONLOSCAMPOSDE
CADANODODELALISTA]
168
>«‰ÌՏœÊxÊ Ê Ê -*45"4

 (ACER1←0
 -IENTRAS1>,)'!$%2≠.), Y1>).&/2≠8 2EPETIR
(ACER1←1>,)'!$%2
 [&INDELCICLODELPASO]
 3I1>).&/28
ENTONCES
 3I01
ENTONCES
%SCRIBIRh.OEXISTENODOANTERIORALPRIMEROv
SINO
(ACER4←1>,)'!):1
 3I04 [%SELPRIMERNODODELALISTA]
ENTONCES
(ACER0←1Y0>,)'!):1←.),
SINO
(ACER2←4>,)'!):1 1>,)'!):1←2Y
2>,)'!$%2←1
 [&INDELCONDICIONALDELPASO]
1UITAR4
 [&INDELCONDICIONALDELPASO]
SINO
%SCRIBIRh%LELEMENTOCONINFORMACIØN8NOSEENCUENTRAENLALISTAv
 [&INDELCONDICIONALDELPASO]

%JEMPLO ,AlGURACONTIENEUNEJEMPLODEELIMINACIØN MEDIANTEELALGORITMOANTERIOR

&)'52!
%LIMINACIØNDENODOS
.OTA,ASmECHASDISCONTINUASINDICANLOSCAMBIOSORIGINADOSENLALISTADOBLEMENTELIGADA PORLA
ELIMINACIØNDEUNNODO
 -*45"4%0#-&.&/5&-*("%"4$*3$6-"3&4 169

&)'52!
,ISTADOBLEMENTE
LIGADACIRCULAR

 ,)34!3$/",%-%.4%,)'!$!3#)2#5,!2%3

%NLASLISTASDOBLEMENTELIGADASCIRCULARES ELCAMPOLIGAIZQUIERDADELPRIMERNODO
DELALISTAAPUNTAALÞLTIMO YELCAMPOLIGADERECHADEÏSTEAPUNTAALPRIMERO,AlGURA
REPRESENTAUNAESTRUCTURADEESTETIPO
,APRINCIPALVENTAJADELASLISTASCIRCULARESESQUEPERMITENLANAVEGACIØNENCUAL
QUIERSENTIDOATRAVÏSDELAMISMAY ADEMÈS SEPUEDERECORRERTODALALISTAPARTIENDO
DECUALQUIERNODO SIEMPREQUETENGAMOSUNAPUNTADORAÏSTE3INEMBARGO DEBEMOS
DESTACARQUEESNECESARIOESTABLECERCONDICIONESADECUADASPARADETENERELRECORRIDODE
UNALISTAYEVITARCAERENCICLOSINlNITOS!LIGUALQUEENELCASODELISTASSIMPLEMENTE
LIGADASCIRCULARES SESUELEUTILIZARUNNODODECABECERAlG 
%STENODOTENDRÈLASCARACTERÓSTICASDESCRITASANTERIORMENTEYSERVIRÈCOMOREFEREN
CIAPARADETECTARCUÈNDOSEHARECORRIDOTOTALMENTELALISTA
(ASTAESTEMOMENTOSEHANESTUDIADOLASPRINCIPALESCARACTERÓSTICASDELAESTRUCTURA
TIPOLISTA CONSIDERANDOTODASSUSVARIANTESlG 

&)'52!
,ISTADOBLEMENTE
LIGADACIRCULARCON
NODODECABECERA

SIMPLEMENTELIGADASCIRCULARES
&)'52!
SIMPLEMENTELIGADAS
,ISTAS
DOBLEMENTELIGADAS

DOBLEMENTELIGADASCIRCULARES
170
>«‰ÌՏœÊxÊ Ê Ê -*45"4

!DEMÈSSEHANPRESENTADOLOSALGORITMOSUTILIZADOSPARAREALIZARLASOPERACIONES
MÈSIMPORTANTESDELISTAS,ASSIGUIENTESSONALGUNASAPLICACIONESDELISTAS

 !0,)#!#)/.%3$%,)34!3
$OSDELASAPLICACIONESMÈSCONOCIDASDELISTASSONLASSIGUIENTES

◗ 2EPRESENTACIØNDEPOLINOMIOS
◗ 2ESOLUCIØNDECOLISIONESHASH 

%NGENERALSEPUEDESE×ALARQUELASLISTASSONMUYÞTILESPARAAQUELLASAPLICACIONES
ENLASQUESENECESITEDINAMISMOENELCRECIMIENTOYREDUCCIØNDELAESTRUCTURADEDATOS
USADAPARAELALMACENAMIENTODELAINFORMACIØN

 2EPRESENTACIØNDEPOLINOMIOS
,ASLISTASSEPUEDENEMPLEARPARAALMACENARLOSCOElCIENTESDIFERENTESDECERODELPO
LINOMIO JUNTOALEXPONENTE!SÓ POREJEMPLO DADOELPOLINOMIO

0X 8 8 8n

SUREPRESENTACIØNMEDIANTELISTASQUEDACOMOSEMUESTRAENLAlGURA
%LCAMPOINFORMACIØNDECADANODODELALISTACONTENDRÈDOSCAMPOSELCAMPO
#/%&)#)%.4%YELCAMPO%80/.%.4%
#ABEDESTACARQUEENELEJEMPLOANTERIORSEUTILIZØUNALISTASIMPLEMENTELIGADA
PEROSEPUDOHABERUSADOUNACIRCULAROTAMBIÏNUNALISTADOBLEMENTELIGADA

 3OLUCIØNDECOLISIONESÊHASH
%NELCAPÓTULO ALTRATARELMÏTODODEBÞSQUEDAPORTRANSFORMACIØNDECLAVES SEUTI
LIZARONLISTASPARARESOLVERCOLISIONESˆMÏTODODEENCADENAMIENTOˆ#ONELOBJETO
SE EVITAR LA REITERACIØN Y LA REDUNDANCIA DE INFORMACIØN SE SUGIERE REMITIRSE A DICHO
CAPÓTULO

&)'52!
2EPRESENTACIØNDEPOLINO
MIOSUSANDOLISTAS
 -"$-"4&-/ 171

 ,!#,!3%,)34!

,ACLASE,ISTATIENEATRIBUTOSYMÏTODOS AMBOSDEPENDENDELTIPODELISTAQUESEESTÏ
DElNIENDO%NESTASECCIØNSEDECLARALACLASECORRESPONDIENTEAUNALISTASIMPLEMENTE
LIGADA#ONSECUENTEMENTE LOSATRIBUTOSSONLOSAPUNTADORESALPRIMEROYÞLTIMONODOS
DELALISTA MIENTRASQUELOSMÏTODOSREPRESENTANTODASLASOPERACIONESANALIZADASAN
TERIORMENTE#REA?INICIO )NSERTA?INICIO )NSERTA?lNAL x 2ECORRE?ITERATIVO x %LIMI
NA?INICIO %LIMINA?lNAL x
,ACLASE,ISTAUTILIZALACLASE.ODOPARADECLARARELTIPODESUSATRIBUTOS LACUAL
REPRESENTA A LOS NODOS DE LA LISTA %S DECIR CADA NODO TIENE DOS ATRIBUTOS UNO PARA
ALMACENARLAINFORMACIØNYELOTROPARAGUARDARLADIRECCIØNDELSIGUIENTENODO,OS
MÏTODOSDEESTACLASESONLASOPERACIONESVÈLIDASSOBRESUSMIEMBROS%NLASlGURAS
YSEPUEDEOBSERVARLAREPRESENTACIØNGRÈlCADELASCLASES.ODOY,ISTA RES
PECTIVAMENTE
3ETIENEACCESOALOSMIEMBROSDEUNOBJETODELACLASE,ISTAPORMEDIODELANO
TACIØNDEPUNTOS#UANDOSEASUMEQUELAVARIABLE,)34!/"*ESUNOBJETODELACLASE
,ISTA PREVIAMENTECREADO SEPUEDEHACER

&)'52!
#LASE.ODO

&)'52!
#LASE,ISTA
172
>«‰ÌՏœÊxÊ Ê Ê -*45"4

,)34!/"*)NSERTA?INICIOARGUMENTO PARAINVOCARELMÏTODOQUEINSERTAUNNUEVO
ELEMENTOALINICIODELALISTA%NESTEMÏTODOHAYUNSOLOARGUMENTOQUEREPRESENTAEL
VALORAGUARDARENELNUEVONODO4ODOSLOSOTROSVALORESREQUERIDOSSONMIEMBROSDE
LACLASE
,)34!/"*%LIMINA?INICIOARGUMENTO PARAINVOCARELMÏTODOQUEELIMINAELPRI
MERNODODELALISTA%NESTEMÏTODOHAYUNÞNICOARGUMENTO QUEESPARAREGRESAREL
VALORELIMINADOTODOSLOSOTROSVALORESREQUERIDOSSONMIEMBROSDELACLASE
&+&3$*$*04 173

▼ %*%2#)#)/3

Ê £° $ElNA UN ALGORITMO PARA INSERTAR SI ES POSIBLE UN ELEMENTO ANTES DE OTRO NODO
DADOCOMOREFERENCIAENUNALISTAORDENADA

Ê Ó° $ElNAUNALGORITMOPARAINSERTAR SIESPOSIBLE UNELEMENTOSIGUIENDOAOTRODADO


COMOREFERENCIA ENUNALISTAORDENADA

Ê Î° $ElNAUNALGORITMOPARAINSERTARUNELEMENTOENUNALISTAORDENADA DETALMANERA


QUENOSEALTEREELORDENDELAMISMA

Ê {° $ElNAUNALGORITMOPARAELIMINARUNNODODEUNALISTAORDENADA

Ê x° %SCRIBAUNSUBPROGRAMAQUELEADOSLISTASQUESEENCUENTRANORDENADASYFORMEUNA
TERCERAQUERESULTEDELAMEZCLADELOSELEMENTOSDEAMBASLISTAS

Ê È° %SCRIBAUNSUBPROGRAMARECURSIVOQUE DADASDOSLISTASORDENADASASCENDENTEMEN


TE LASMEZCLEYGENEREUNANUEVALISTAORDENADAENFORMADESCENDENTE

Ê Ç° %SCRIBAUNSUBPROGRAMAQUE DADAUNALISTAQUECONTIENENÞMEROS LADIVIDAENDOS


LISTASINDEPENDIENTES UNAFORMADAPORLOSNÞMEROSPOSITIVOSYOTRAPORLOSNÞMEROS
NEGATIVOS

Ê n° %SCRIBAUNSUBPROGRAMARECURSIVOPARAIMPRIMIRTODALAINFORMACIØNDEUNALISTA

Ê ™° %SCRIBAUNSUBPROGRAMARECURSIVOQUEBUSQUEUNELEMENTO8ENUNALISTADOBLE
MENTELIGADA

£ä°%SCRIBAUNSUBPROGRAMAQUEELIMINEUNELEMENTO8DEUNALISTACIRCULAR

££°$ElNAUNALGORITMOPARAINSERTARELEMENTOSENUNALISTACIRCULAR

£Ó°%SCRIBALOSSUBPROGRAMASh-ETE?0ILAvYh3ACA?0ILAvPARAINSERTARYELIMINAR RES
PECTIVAMENTE UNELEMENTODEUNAPILAIMPLEMENTADAPORMEDIODEUNALISTA

£Î°%SCRIBAUNSUBPROGRAMARECURSIVOQUEPERMITARECORRERUNALISTADOBLEMENTELIGADA
ENAMBOSSENTIDOS

£{°$ElNAUNALGORITMORECURSIVOPARAINSERTARUNELEMENTOSIGUIENDOAOTRONODODADO
COMOREFERENCIA ENUNALISTADOBLEMENTELIGADA

£x°%SCRIBAUNSUBPROGRAMARECURSIVOPARAEVALUARUNPOLINOMIOREPRESENTADOPORME
DIODEUNALISTALINEAL
174
>«‰ÌՏœÊxÊ Ê Ê -*45"4

£È°$ElNALOSALGORITMOSNECESARIOSPARAIMPLEMENTARUNAESTRUCTURATIPOCOLAMEDIAN
TELISTAS

£Ç°3EHADElNIDOLASIGUIENTEESTRUCTURADEDATOS

%NELARREGLOh0/342%3vSEALMACENANNOMBRESDEPOSTRES ORDENADOSALFA
BÏTICAMENTE!SUVEZ CADAELEMENTODELARREGLOTIENEUNALISTADETODOSLOSINGRE
DIENTESQUEREQUIEREDICHOPOSTRE
%SCRIBAUNPROGRAMAQUE

A $ADOELNOMBREDEUNPOSTRE IMPRIMALALISTADETODOSSUSINGREDIENTES
B $ADO EL NOMBRE DE UN POSTRE INSERTE NUEVOS INGREDIENTES A SU CORRESPONDIENTE
LISTA
C $ADOELNOMBREDEUNPOSTRE ELIMINEALGUNODESUSINGREDIENTES
D $ÏDEALTAUNPOSTRECONTODOSSUSINGREDIENTES
E $ÏDEBAJAUNPOSTRECONTODOSSUSINGREDIENTES

.OTA%NCADAUNODELOSPUNTOSANTERIORESVERIlQUETODOSLOSCASOSQUEPUDIERAN
PRESENTARSE

£n°%SCRIBAUNSUBPROGRAMAQUEELIMINELOSELEMENTOSREPETIDOSDEUNAESTRUCTURATIPO
COLAIMPLEMENTADAPORMEDIODELISTAS

£™°2ETOMELACLASEDElNIDAPREVIAMENTEPARALISTASSIMPLEMENTELIGADASYPROGRÈMELA
ENALGÞNLENGUAJEORIENTADOAOBJETOS

Óä°2ETOMELACLASEDELPROBLEMAANTERIORYADÈPTELAPARALISTASSIMPLEMENTELIGADAS
CIRCULARESCONNODODECABECERA
&+&3$*$*04 175

Ó£°$ElNAUNACLASEPARALISTASDOBLEMENTELIGADAS)NCLUYALOSATRIBUTOSYTODOSLOS
MÏTODOSQUECONSIDERECONVENIENTE0ROGRÈMELAENALGÞNLENGUAJEDEPROGRAMA
CIØNORIENTADOAOBJETOS

ÓÓ°2ETOMELACLASEDElNIDADELPROBLEMAANTERIORYADÈPTELAPARALISTASDOBLEMENTE
LIGADASCIRCULARESCONNODODECABECERA

Óΰ#ONSIDERE QUE SE TIENE UNA LISTA DE NÞMEROS ENTEROS ORDENADOS CRECIENTEMENTE
COMOLAQUESEMUESTRAACONTINUACIØN/BSERVEQUEFALTANALGUNOSNÞMEROSPARA
TENERTODOSLOSVALORESCOMPRENDIDOSENTREELPRIMERO  YELÞLTIMO %SCRIBA
UNPROGRAMAQUEhCOMPLETEvLALISTA DETALMANERAQUELAMISMA UNAVEZMODIlCA
DA ALMACENETODOSLOSVALORESAPARTIRDELNÞMERODELPRIMERNODOHASTAELNÞMERO
DELÞLTIMO0ARAELEJEMPLO LALISTAGUARDARÈLOSNÞMEROS     Y
5TILICELACLASEDELISTASSIMPLEMENTELIGADASPREVIAMENTEDElNIDA
#APÓTULO È
­2"/,%3
 ).42/$5##)¼.

(ASTAELMOMENTOSØLOSEHANESTUDIADOESTRUCTURASDEDATOSLINEALES TANTOESTÈTICAS
COMODINÈMICASACADAELEMENTOSIEMPRELESUCEDEOLEPRECEDECOMOMÈXIMOOTRO
ELEMENTO!LESTUDIARLAESTRUCTURADEDATOSÈRBOLESSEINTRODUCEELCONCEPTODERAMIl
CACIØNENTRECOMPONENTESONODOS%SDECIR AUNELEMENTOLEPUEDENPRECEDEROSUCEDER
VARIOSELEMENTOS
,OSÈRBOLESSONLASESTRUCTURASDEDATOSNOLINEALESYDINÈMICASDEDATOSMÈSIM
PORTANTESDELÈREADECOMPUTACIØN$INÈMICAS PUESTOQUELASMISMASPUEDENCAMBIAR
TANTODEFORMACOMODETAMA×ODURANTELAEJECUCIØNDELPROGRAMA.OLINEALES PUESTO
QUECADAELEMENTODELÈRBOLPUEDETENERMÈSDEUNSUCESOR,OSÈRBOLESBALANCEADOS
O!6,SONLAESTRUCTURADEDATOSMÈSElCIENTEPARATRABAJARCONLAMEMORIAPRINCIPAL
ˆINTERNAˆDELPROCESADOR MIENTRASQUELOSÈRBOLES"Y ESPECIALMENTELAVERSIØN"
REPRESENTANLAESTRUCTURADEDATOSMÈSElCIENTEPARATRABAJARENMEMORIASECUNDARIAO
EXTERNA
%N LA TABLA  SE PRESENTAN LAS PRINCIPALES ESTRUCTURAS DE DATOS CLASIlCADAS DE
ACUERDO CON SU CAPACIDAD PARA CAMBIAR EN FORMA Y TAMA×O DURANTE LA EJECUCIØN DEL
PROGRAMA
%SDEOBSERVARQUELASPILASYCOLASNOFUERONCONSIDERADASENESTACLASIlCACIØN
PUESTO QUE DEPENDEN DE LA ESTRUCTURA QUE SE UTILICE PARA IMPLEMENTARLAS 3I SE USAN
ARREGLOS SETRATARÈNCOMOESTRUCTURASESTÈTICAS3ISEIMPLEMENTANCONLISTAS SERÈNES
TRUCTURASDINÈMICAS%NAMBOSCASOSSONLINEALES
%NLATABLASEPRESENTANLASPRINCIPALESESTRUCTURASDEDATOSCLASIlCADASSEGÞN
LADISTRIBUCIØNDESUSELEMENTOS

4!",! %STRUCTURASESTÈTICAS %STRUCTURASDINÈMICAS


%STRUCTURASDEDATOS
ESTÉTICASYDINÉMICAS !RREGLOS ,ISTAS

2EGISTROS «RBOLES

'RÈlCAS
178
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

4!",! %STRUCTURASLINEALES %STRUCTURASNOLINEALES


%STRUCTURASDEDATOS
LINEALESYNOLINEALES !RREGLOS «RBOLES

2EGISTROS 'RÈlCAS

0ILAS

#OLAS

,ISTAS

 ­2"/,%3%.'%.%2!,

5N ÈRBOL SE PUEDE DElNIR COMO UNA ESTRUCTURA JERÈRQUICA APLICADA SOBRE UNA COLEC
CIØNDEELEMENTOSUOBJETOSLLAMADOSNODOS UNODELOSCUALESESCONOCIDOCOMORAÓZ
!DEMÈSSECREAUNARELACIØNOPARENTESCOENTRELOSNODOSDANDOLUGARATÏRMINOSCOMO
PADRE HIJO HERMANO ANTECESOR SUCESOR ANCESTRO ETCÏTERA
&ORMALMENTESEDElNEUNÈRBOLDETIPO4COMOUNAESTRUCTURAHOMOGÏNEARE
SULTADODELACONCATENACIØNDEUNELEMENTODETIPO4CONUNNÞMEROlNITODEÈRBO
LESDISJUNTOS LLAMADOSSUBÈRBOLES5NAFORMAPARTICULARDEÈRBOLESELÈRBOLVACÓO
,OSÈRBOLESSONESTRUCTURASRECURSIVAS YAQUECADASUBÈRBOLESASUVEZUNÈRBOL
,OSÈRBOLESSEPUEDENAPLICARPARALASOLUCIØNDEUNAGRANCANTIDADDEPROBLEMAS
0OREJEMPLO SEPUEDENUTILIZARPARAREPRESENTARFØRMULASMATEMÈTICAS PARAREGISTRARLA
HISTORIADEUNCAMPEONATODETENIS PARACONSTRUIRUNÈRBOLGENEALØGICO PARAELANÈLISIS
DECIRCUITOSELÏCTRICOSYPARAENUMERARLOSCAPÓTULOSYSECCIONESDEUNLIBRO
5NÈRBOLSEPUEDEREPRESENTARDEDIFERENTESFORMASYTODASELLASSECONSIDERANEQUI
VALENTES%NLAlGURASEPRESENTANCINCONOTACIONESDIFERENTESCORRESPONDIENTESAUN
MISMOÈRBOL%NLAlGURAASEUTILIZAUNDIAGRAMADE6ENNENLAlGURABLAANI
DACIØNDEPARÏNTESISENLAlGURACLANOTACIØNDECIMALDE$EWEYENLAlGURADLA
NOTACIØNINDENTADA Y PORÞLTIMO ENLAlGURAEUNGRAFO%STAÞLTIMAREPRESENTACIØN
ESLAQUECOMÞNMENTESEUTILIZA YHAORIGINADOELTÏRMINOÈRBOLPORSUPARECIDOABSTRAC
TOCONELVEGETALˆRAÓZ RAMAS HOJASˆ APESARDEQUELARAÓZSEDIBUJAARRIBA AUNQUE
ENELVEGETALSEENCUENTREABAJO
%NELGRAFOSEDISTINGUENNODOSˆCÓRCULOSˆYARCOSˆLÓNEASCONmECHASˆ,OS
PRIMEROSSEUSANPARAALMACENARLAINFORMACIØNYLOSÞLTIMOSPARAESTABLECERLARELACIØN
ENTRELOSNODOS%NELEJEMPLODELAlGURAELOSNODOSGUARDANLETRASYLOSARCOS
PERMITENIRDECIERTOSNODOSAOTROS

 #ARACTERÓSTICASYPROPIEDADESDELOSÉRBOLES
,AESTRUCTURATIPOÈRBOLTIENECIERTASCARACTERÓSTICASYPROPIEDADESQUELADISTINGUEN!
CONTINUACIØNSEPRESENTANLASMÈSIMPORTANTES

A 4ODOÈRBOLQUENOESVACÓOTIENEUNÞNICONODORAÓZ
 Ç3#0-&4&/(&/&3"- 179

 
 

&)'52!
$IFERENTESFORMASDEREPRESENTARUNAESTRUCTURADEÉRBOLA $IAGRAMASDE6ENNB
!NIDACIØNDEPARÏNTESISC .OTACIØNDECIMALDE$EWEYD .OTACIØNINDENTADAE 'RAFO

B 5NNODO8ESDESCENDIENTEDIRECTODEUNNODO9 SIELNODO8ESAPUNTADOPOREL
NODO9%NESTECASOESCOMÞNUTILIZARLAEXPRESIØN8ESHIJODE9
C 5NNODO8ESANTECESORDIRECTODEUNNODO9 SIELNODO8APUNTAALNODO9%NESTE
CASOESCOMÞNUTILIZARLAEXPRESIØN8ESPADREDE9
D 3EDICEQUETODOSLOSNODOSQUESONDESCENDIENTESDIRECTOSˆHIJOSˆDEUNMISMO
NODOˆPADREˆSONHERMANOS
E 4ODONODOQUENOTIENERAMIlCACIONESˆHIJOSˆ SECONOCECONELNOMBREDETER
MINALUHOJA
F 4ODONODOQUENOESRAÓZNITERMINALUHOJASECONOCECONELNOMBREDEINTERIOR
G 'RADOESELNÞMERODEDESCENDIENTESDIRECTOSDEUNDETERMINADONODO
H 'RADODELÈRBOLESELMÈXIMOGRADODETODOSLOSNODOSDELÈRBOL
I .IVELESELNÞMERODEARCOSQUEDEBENSERRECORRIDOSPARALLEGARAUNDETERMINADO
NODO0ORDElNICIØNLARAÓZTIENENIVEL
J !LTURADELÈRBOLESELMÈXIMONÞMERODENIVELESDETODOSLOSNODOSDELÈRBOL
180
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

!CONTINUACIØNSEPRESENTAUNEJEMPLOPARACLARIlCARESTOSCONCEPTOS

%JEMPLO $ADOELÈRBOLGENERALDELAlGURA SEPUEDEAlRMARLOSIGUIENTE

 !ESLARAÓZDELÈRBOL

 "ESHIJODE!
#ESHIJODE!
$ESHIJODE"
%ESHIJODE"
,ESHIJODE(

 !ESPADREDE"
"ESPADREDE$
$ESPADREDE)
#ESPADREDE'
(ESPADREDE,

 "Y#SONHERMANOS
$ %Y&SONHERMANOS
'Y(SONHERMANOS
*Y+SONHERMANOS

 ) % * + 'Y,SONNODOSTERMINALESUHOJAS

 " $ & #Y(SONNODOSINTERIORES

 %LGRADODELNODO!ES
%LGRADODELNODO"ES
%LGRADODELNODO#ES
%LGRADODELNODO$ES
%LGRADODELNODO%ES
%LGRADODELÈRBOLES

 %LNIVELDELNODO!ES
%LNIVELDELNODO"ES
%LNIVELDELNODO$ES
%LNIVELDELNODO#ES
%LNIVELDELNODO,ES

 ,AALTURADELÈRBOLES

 ,ONGITUDDECAMINOINTERNOYEXTERNO
3EDElNELALONGITUDDECAMINODELNODO8COMOELNÞMERODEARCOSQUESEDEBENRE
CORRERPARALLEGARDESDELARAÓZHASTAELNODO80ORDElNICIØNLARAÓZTIENELONGITUDDE
 Ç3#0-&4&/(&/&3"- 181

&)'52!
­RBOLGENERAL

CAMINO SUSDESCENDIENTESDIRECTOSLONGITUDDECAMINOYASÓSUCESIVAMENTE#ONSI
DEREELÈRBOLDELAlGURA%LNODO"TIENELONGITUDDECAMINO ELNODO)LONGITUD
DECAMINOYELNODO(LONGITUDDECAMINO

,ONGITUDDECAMINOINTERNO
,ALONGITUDDECAMINOINTERNO,#) DELÈRBOLESLASUMADELASLONGITUDESDECAMINO
DE TODOS LOS NODOS DEL ÈRBOL %STA MEDIDA ES IMPORTANTE PORQUE PERMITE CONOCER LOS
CAMINOSQUETIENEELÈRBOL3ECALCULAPORMEDIODELASIGUIENTEFØRMULA


H
,#)  ¤ NI
I &ØRMULA
I 

DONDEIREPRESENTAELNIVELDELÈRBOL HSUALTURAYNIELNÞMERODENODOSENELNIVELI
,A,#)DELÈRBOLDELAlGURASECALCULADEESTAFORMA

,#)
 
 
 


!HORA BIEN LA MEDIA DE LA LONGITUD DE CAMINO INTERNO ,#)- SE CALCULA DIVI
DIENDOLA,#)ENTREELNÞMERODENODOSDELÈRBOLN ,AMEDIAESIMPORTANTEPORQUE
PERMITECONOCER ENPROMEDIO ELNÞMERODEDECISIONESQUESEDEBENTOMARPARALLEGAR
AUNDETERMINADONODOPARTIENDODESDELARAÓZ3EEXPRESA


,#)-,#)N &ØRMULA

,A,#)-DELÈRBOLDELAlGURASECALCULACOMOSEMUESTRAACONTINUACIØN

,#)-
182
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

,ONGITUDDECAMINOEXTERNO
0ARADElNIRLALONGITUDDECAMINOEXTERNODEUNÈRBOLESNECESARIOPRIMEROEXPLICARLOS
CONCEPTOSDEÈRBOLEXTENDIDOYNODOESPECIAL
5NÈRBOLEXTENDIDOESAQUELENELQUEELNÞMERODEHIJOSDECADANODOESIGUALAL
GRADODELÈRBOL3IALGUNODELOSNODOSDELÈRBOLNOCUMPLECONESTACONDICIØN ENTON
CESDEBENINCORPORARSEALMISMOTANTOSNODOSESPECIALESCOMOSEREQUIERAPARALLEGAR
ACUMPLIRLA
,OSNODOSESPECIALESTIENENCOMOOBJETIVOREMPLAZARLASRAMASVACÓASONULAS NO
PUEDENTENERDESCENDIENTESYNORMALMENTESEREPRESENTANCONLAFORMADEUNCUADRADO
%NLAlGURASEPRESENTAELÈRBOLEXTENDIDODELAlGURA%LNÞMERODENODOSES
PECIALESDEESTEÈRBOLES
3EPUEDEDElNIRAHORALALONGITUDDECAMINOEXTERNO,#% DEUNÈRBOLCOMOLA
SUMADELASLONGITUDESDECAMINODETODOSLOSNODOSESPECIALESDELÈRBOL3ECALCULAPOR
MEDIODELASIGUIENTEFØRMULA

H 

,#%  ¤ NEI
I &ØRMULA
I

DONDEIREPRESENTAELNIVELDELÈRBOL HSUALTURAYNEIELNÞMERODENODOSESPECIALESEN
ELNIVELI/BSERVEQUEICOMIENZADESDE PUESTOQUELARAÓZSEENCUENTRAENELNIVEL
YNOPUEDESERUNNODOESPECIAL
,A,#%DELÈRBOLDELAlGURASECALCULADEESTAMANERA

,#%
 
 
 


&)'52!
­RBOLEXTENDIDO

!HORABIEN LAMEDIADELALONGITUDDECAMINOEXTERNO,#%- SECALCULADIVI


DIENDOLA,#%ENTREELNÞMERODENODOSESPECIALESDELÈRBOLNE /BSERVEELLECTORLA
SIGUIENTEFØRMULA
 Ç3#0-&4&/(&/&3"- 183


,#%-,#%NE &ØRMULA

EINDICAELNÞMERODEARCOSQUESEDEBENRECORRERENPROMEDIOPARALLEGAR PARTIENDODESDE
LARAÓZ AUNNODOESPECIALCUALQUIERADELÈRBOL
,A,#%-DELÈRBOLDELAlGURASECALCULADELASIGUIENTEMANERA

,#%-

%LSIGUIENTEEJEMPLOCLARIlCARÈLOSCONCEPTOSDELONGITUDDECAMINOINTERNOYEX
TERNO

%JEMPLO $ADOELÈRBOLGENERALDELAlGURAYELÈRBOLEXTENDIDODELAlGURASECALCULALA
LONGITUDDECAMINOINTERNO

&)'52!
­RBOLGENERAL

,#)
 
 


,AMEDIADELALONGITUDDECAMINOINTERNO

,#)-

&)'52!
­RBOLEXTENDIDO

,ALONGITUDDECAMINOEXTERNO

,#%
 
 

184
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

,AMEDIADELALONGITUDDECAMINOEXTERNO

,#%-

 ­2"/,%3").!2)/3
5NÈRBOLORDENADOESAQUELENELCUALLADISTRIBUCIØNDELASRAMASSIGUEUNCIERTOORDEN
,OSÈRBOLESORDENADOSDEGRADOSONDEESPECIALINTERÏSENELÈREADELACOMPUTACIØN
PORQUEPERMITENREPRESENTARLAINFORMACIØNRELACIONADACONLASOLUCIØNDEMUCHOSPRO
BLEMAS%STOSÈRBOLESSONCONOCIDOSCONELNOMBREDEÈRBOLESBINARIOS
%NUNÈRBOLBINARIOCADANODOPUEDETENERCOMOMÈXIMODOSSUBÈRBOLESYÏSTOSSE
DISTINGUENENTRESÓCOMOELSUBÈRBOLIZQUIERDOYELSUBÈRBOLDERECHO SEGÞNSUUBICACIØN
CONRESPECTOALNODORAÓZ
&ORMALMENTESEDElNEUNÈRBOLBINARIOTIPO4COMOUNAESTRUCTURAHOMOGÏ
NEA RESULTADODELACONCATENACIØNDEUNELEMENTODETIPO4 LLAMADORAÓZ CONDOS
ÈRBOLES BINARIOS DISJUNTOS LLAMADOS SUBÈRBOL IZQUIERDO Y SUBÈRBOL DERECHO 5N
ÈRBOLBINARIOESPECIALESELÈRBOLVACÓO
,OSÈRBOLESBINARIOSTIENENMÞLTIPLESAPLICACIONES3ELESPUEDEUTILIZARPARARE
PRESENTAR LA SOLUCIØN DE UN PROBLEMA PARA EL CUAL EXISTEN DOS POSIBLES ALTERNATIVAS
ÈRBOL DE DECISIONES PARA REPRESENTAR UN ÈRBOL GENEALØGICO CONSTRUIDO EN FORMA
ASCENDENTEYDONDESEMUESTRANLOSANCESTROSDEUNINDIVIDUODADO PARAREPRESENTAR
LAHISTORIADEUNCAMPEONATODETENISCONSTRUIDOENFORMAASCENDENTEYDONDEEXISTE
UNGANADOR lNALISTAS SEMIlNALISTASYASÓSUCESIVAMENTE YPARAREPRESENTAREX
PRESIONESALGEBRAICASCONSTRUIDASCONOPERADORESBINARIOS%STOSØLOPORCITARALGUNOS
DESUSMÞLTIPLESUSOS
%NLAlGURASEMUESTRANTRESDIAGRAMASCORRESPONDIENTESAUNAESTRUCTURADE
ÈRBOLBINARIO%NLAlGURAAHAYUNÈRBOLBINARIODEBÞSQUEDAESTAVARIANTESEPRE
SENTARÈCONDETALLEMÈSADELANTE ENLAlGURABELÈRBOLBINARIOQUEREPRESENTALA
EXPRESIØN!
" #$ >YENLAlGURACUNÈRBOLGENEALØGICO
,OS ÈRBOLES ORDENADOS DE GRADO MAYOR A  REPRESENTAN TAMBIÏN ESTRUCTURAS IM
PORTANTES3ECONOCENCONELNOMBREDEÈRBOLESMULTICAMINOSYSERÈNESTUDIADOSMÈS
ADELANTEENESTEMISMOCAPÓTULO
 Ç3#0-&4#*/"3*04 185

&)'52!
$ISTINTASAPLICACIONESDE
ÉRBOLESBINARIOSA ­RBOLES
BINARIOSDEBÞSQUEDA
B 2EPRESENTACIØNDEUNA
EXPRESIØNALGEBRAICA
C ­RBOLGENEALØGICO
186
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

 ­RBOLESBINARIOSDISTINTOS SIMILARESYEQUIVALENTES


$OSÈRBOLESBINARIOSSONDISTINTOSCUANDOSUSESTRUCTURASˆLADISTRIBUCIØNDENODOSY
ARCOSˆSONDIFERENTES%NLAlGURASEPRESENTANDOSEJEMPLOSDEÈRBOLESBINARIOS
DISTINTOS

&)'52!
­RBOLESBINARIOSDISTINTOS

$OS ÈRBOLES BINARIOS SON SIMILARES CUANDO SUS ESTRUCTURAS SON IDÏNTICAS PERO LA
INFORMACIØNQUECONTIENENSUSNODOSDIlEREENTRESÓ%NLAlGURASEPRESENTANDOS
EJEMPLOSDEÈRBOLESBINARIOSSIMILARES

&)'52!
­RBOLESBINARIOSSIMILARES

0OR ÞLTIMO LOS ÈRBOLES BINARIOS EQUIVALENTES SE DElNEN COMO AQUELLOS QUE SON
SIMILARESYADEMÈSLOSNODOSCONTIENENLAMISMAINFORMACIØN%NLAlGURASEMUES
TRANDOSEJEMPLOSDEÈRBOLESBINARIOSEQUIVALENTES

&)'52!
­RBOLESBINARIOSEQUIVA
LENTES
 Ç3#0-&4#*/"3*04 187

#ONELlNDECLARIlCARLOSCONCEPTOSANTERIORES SEPRESENTAELSIGUIENTEEJEMPLO

%JEMPLO $ADOSLOSÈRBOLESBINARIOSDELAlGURA SEPUEDEAlRMARLOSIGUIENTE

&)'52!
­RBOLESBINARIOSDISTINTOS
SIMILARESYEQUIVALENTES

◗ %L ÈRBOL DE LA lGURA C ES DISTINTO DE LOS ÈRBOLES DE LA lGURA A B Y
D
◗ ,OSÈRBOLESDELAlGURAA BYDSONSIMILARES
◗ ,OSÈRBOLESDELAlGURAAYDSONEQUIVALENTES

 ­RBOLESBINARIOSCOMPLETOS
3EDElNEUNÈRBOLBINARIOCOMPLETO!"# COMOUNÈRBOLENELQUETODOSSUSNODOS
EXCEPTOLOSDELÞLTIMONIVEL TIENENDOSHIJOSELSUBÈRBOLIZQUIERDOYELSUBÈRBOLDERE
CHO%NLAlGURASEPRESENTANDOSEJEMPLOSDEÈRBOLESBINARIOSCOMPLETOS
188
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

&)'52!
­RBOLESBINARIOSCOMPLE
TOSA $EALTURAB $E
ALTURA

%LNÞMERODENODOSDEUNÈRBOLBINARIOCOMPLETODEALTURAH SEPUEDECALCULAR
APLICANDOLASIGUIENTEFØRMULA


.Á-%2/$%./$/3!"# Hn &ØRMULA

!SÓ POREJEMPLO UNÈRBOLBINARIOCOMPLETODEALTURATENDRÈNODOS UNODE


ALTURATENDRÈNODOSYUNÈRBOLDEALTURATENDRÈNODOS
#ABEACLARARQUEEXISTENALGUNOSAUTORESQUEDElNENUNÈRBOLBINARIOCOMPLETODE
OTRAFORMAYOTROSQUEUTILIZANELTÏRMINOLLENOPARAREFERIRSEALOQUEENESTELIBROSE
DENOMINACOMPLETO

 2EPRESENTACIØNDEÉRBOLESGENERALESCOMOBINARIOS
,OSÈRBOLESBINARIOS PORLASRAZONESYAMENCIONADAS SEAPLICANENLASOLUCIØNCOMPU
TACIONALDEMUCHOSPROBLEMAS!DEMÈS SUUSOSEVEFAVORECIDOPORSUDINAMISMO LA
NOLINEALIDADENTRESUSELEMENTOSYPORSUSENCILLAPROGRAMACIØN0ORLOTANTO RESULTA
MUYÞTILPODERCONVERTIRÈRBOLESGENERALES CONANHIJOS ENÈRBOLESBINARIOS
%NESTASECCIØNSEDARÈNLOSPASOSNECESARIOSPARALOGRARLO#ONSIDEREELÈRBOLGE
NERALDELAlGURAA,ASOPERACIONESQUESEDEBENAPLICARPARALOGRARLACONVERSIØN
DELÈRBOLGENERALALÈRBOLBINARIOCORRESPONDIENTESONLASSIGUIENTES
 Ç3#0-&4#*/"3*04 189

 %NLAZARLOSHIJOSDECADANODOENFORMAHORIZONTALˆLOSHERMANOSˆ
 2ELACIONARENFORMAVERTICALELNODOPADRECONELHIJOQUESEENCUENTRAMÈSALA
IZQUIERDA!DEMÈS SE DEBE ELIMINAR EL VÓNCULO DE ESE PADRE CON EL RESTO DE SUS
HIJOS
 2OTARELDIAGRAMARESULTANTE APROXIMADAMENTEGRADOSHACIALAIZQUIERDA YASÓ
SEOBTENDRÈELÈRBOLBINARIOCORRESPONDIENTE

%NLAlGURABSEVISUALIZAELÈRBOLLUEGODEAPLICARLOSDOSPRIMEROSPASOS%N
LAlGURACSEOBSERVAELÈRBOLBINARIO OBTENIDOLUEGODEAPLICARELTERCERPASO

&)'52!
#ONVERSIØNDEUNÉRBOL
GENERALENUNÉRBOLBINARIO
A ­RBOLGENERALB ­RBOL
BINARIOLUEGODEAPLICAR
LOSPASOSYC ­RBOL
BINARIOLUEGODEAPLICAREL
PASO
190
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

%JEMPLO $ADOCOMODATOELÈRBOLGENERALDELAlGURAA SEDEBECONVERTIRAUNÈRBOLBINARIO


%NLAlGURABSEOBSERVAUNAGRÈlCADELÈRBOLLUEGODEAPLICARLOSDOSPRIMEROSPA
SOS%NLAlGURACSEOBSERVAELÈRBOLBINARIOQUESEOBTIENELUEGODEQUESEAPLICA
ELTERCERPASO

&)'52!
#ONVERSIØNDEUNÉRBOL
GENERALENUNÉRBOLBINARIO
A ­RBOLGENERALB ­RBOL
BINARIOLUEGODEAPLICAR
LOSPASOSYC ­RBOL
BINARIOLUEGODEAPLICAREL
PASO
 Ç3#0-&4#*/"3*04 191

/BSERVEQUEPARATODONODODEUNÈRBOLBINARIO GENERADOAPARTIRDEUNÈRBOLGE
NERAL SEDEBECUMPLIRLOSIGUIENTE

 3ILARAMADERECHADECADANODO EXCEPTOELNODORAÓZ ESDISTINTADEVACÓOSEEN


CUENTRAUNNODOQUEERAHERMANODEÏSTEENELÈRBOLGENERAL$ELAlGURAC
PODEMOSDEDUCIRQUE#ERAHERMANODE"!PLICANDOELMISMOCRITERIODEDUCIMOS
TAMBIÏNQUE$ERAHERMANODE#Y PORLOTANTO PORTRANSITIVIDAD HERMANODE"
/TRAS DEDUCCIONES QUE SE PUEDEN REALIZAR OBSERVANDO LA lGURA C SON LAS SI
GUIENTES

◗ %Y&ERANHERMANOS
◗ -Y.ERANHERMANOS
◗ ( ) *Y+ERANHERMANOS

%SDENOTARQUELOSHERMANOSSEENCUENTRANENLAGRÈlCAENUNALÓNEAOBLICUA
CONTINUA ORIENTADAGRADOSHACIALADERECHA%NLAlGURASEPRESENTANTRES
DIAGRAMASDIFERENTESDONDESEPUEDENOBSERVARALGUNOSEJEMPLOS

&)'52!
.ODOSHERMANOS

 %NLARAMAIZQUIERDADECADANODOˆSIÏSTAESDISTINTADEVACÓOˆSEENCUENTRAUN
NODOQUEERAHIJODEÏSTEENELÈRBOLGENERAL$ELAlGURACPODEMOSDEDUCIR
QUE%ERAHIJODE"YCOMOPOR &ERAHERMANODE% PODEMOSAlRMARQUE&ERA
TAMBIÏNHIJODE"/TRASDEDUCCIONESQUESEPUEDENREALIZAROBSERVANDOLAlGURA
CSONLASSIGUIENTES

◗ " #Y$ERANHIJOSDE!
◗ -Y.ERANHIJOSDE'
◗ 'ERAHIJODE#

%SDENOTARQUELOSHIJOSDEUNNODOSEENCUENTRANENLAGRÈlCA PRIMEROENUNA
LÓNEAOBLICUACONTINUAORIENTADAGRADOSHACIALAIZQUIERDAYLUEGOENUNALÓNEACON
TINUAOBLICUAORIENTADAGRADOSHACIALADERECHA%NLAlGURAHAYTRESDIAGRAMAS
DIFERENTESDONDESEOBSERVANALGUNOSEJEMPLOS
192
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

%NLAlGURABNOEXISTELÓNEAOBLICUAORIENTADAHACIALADERECHAPORQUE'ESEL
ÞNICOHIJODELNODO#

&)'52!
.ODOSHIJOS

 2EPRESENTACIØNDEUNBOSQUECOMOÉRBOLBINARIO
5NBOSQUEREPRESENTAUNCONJUNTONORMALMENTEORDENADODEUNOOMÈSÈRBOLESGENE
RALES%SPOSIBLEUTILIZARELALGORITMODECONVERSIØNANALIZADOENLASECCIØNANTERIOR CON
ALGUNASMODIlCACIONES PARAGENERARUNÈRBOLBINARIOAPARTIRDEUNBOSQUE
#ONSIDEREPOREJEMPLOELBOSQUE FORMADOPORTRESÈRBOLESGENERALES DELAlGURA
,OSPASOSQUESEDEBENAPLICARPARALOGRARLACONVERSIØNDELBOSQUEAUNÈRBOL
BINARIOSONLOSSIGUIENTES

&)'52!
"OSQUEDEÉRBOLESGENERALES
 Ç3#0-&4#*/"3*04 193

 %NLAZARENFORMAHORIZONTALLASRAÓCESDELOSDISTINTOSÈRBOLESGENERALES
 2ELACIONARLOSHIJOSDECADANODOˆLOSHERMANOSˆENFORMAHORIZONTAL
 %NLAZARENFORMAVERTICALELNODOPADRECONELHIJOQUESEENCUENTRAMÈSALAIZ
QUIERDA!DEMÈS SEDEBEELIMINARELVÓNCULODELPADRECONELRESTODESUSHIJOS
 2OTARELDIAGRAMARESULTANTEAPROXIMADAMENTEGRADOSHACIALAIZQUIERDAYASÓSE
OBTENDRÈELÈRBOLBINARIOCORRESPONDIENTE

%NLAlGURAASEMUESTRAELÈRBOLLUEGODEAPLICARLOSTRESPRIMEROSPASOS%NLA
lGURABSEOBSERVAELÈRBOLBINARIOOBTENIDOLUEGODEQUESEREALIZAELCUARTOPASO

&)'52!
#ONVERSIØNDEUNBOSQUEENÉRBOLBINARIOA ­RBOLBINARIOLUEGODEAPLICARLOSPASOS
YB ­RBOLBINARIOLUEGODEAPLICARELPASO
194
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

%JEMPLO $ADOCOMODATOELBOSQUEDELAlGURAA SEDESEACONVERTIRLOAUNÈRBOLBINARIO


%NLAlGURABSEOBSERVAUNAGRÈlCADELÈRBOLLUEGODEAPLICARLOSTRESPRIMEROS
PASOS%NLAlGURACSEPUEDEAPRECIARELÈRBOLBINARIOQUESEOBTIENELUEGODEQUE
SEAPLICAELCUARTOPASO

&)'52!
#ONVERSIØNDEUNBOSQUEENÉRBOLBINARIOA "OSQUEB ­RBOLLUEGODEAPLICARELPRIME
RO SEGUNDOYTERCERPASOSC ­RBOLBINARIOLUEGODEAPLICARELCUARTOPASO
 Ç3#0-&4#*/"3*04 195

%SDENOTARQUEPARATODONODODEUNÈRBOLBINARIO QUESEOBTIENEAPARTIRDEUN
BOSQUE SECUMPLENLOSDOSINCISOSSE×ALADOSENLACONVERSIØNDEUNÈRBOLGENERALEN
UNÈRBOLBINARIO

 2EPRESENTACIØNDEÉRBOLESBINARIOSENMEMORIA
,ASDOSMANERASMÈSCOMUNESDEREPRESENTARUNÈRBOLBINARIOENMEMORIASON

 0ORMEDIODEDATOSTIPOPUNTERO TAMBIÏNCONOCIDOSCOMOVARIABLESDINÈMICAS


 0ORMEDIODEARREGLOS

%NESTELIBROSEEXPLICARÈYUTILIZARÈLAPRIMERAFORMA PUESTOQUEREPRESENTALAMÈS
NATURALPARATRATARUNAESTRUCTURADEDATOSDEESTETIPO
!LlNALDELCAPÓTULOSEPRESENTARÈUNABREVEINTRODUCCIØNALOSÈRBOLES DESDEEL
PUNTODEVISTADELPARADIGMAORIENTADOAOBJETOS3INEMBARGO LOQUESEESTUDIARÈA
CONTINUACIØNSIGUESIENDOVÈLIDOPARALASCLASES#OMOENLASOTRASESTRUCTURASDEDATOS
PRESENTADASENESTELIBRO LOSCONCEPTOSEXPLICADOSSONLOSFUNDAMENTOSREQUERIDOSPARA
ELUSODELASMISMAS INDEPENDIENTEMENTEDELPARADIGMAYDELLENGUAJEUTILIZADOPARA
SUIMPLEMENTACIØN
,OSNODOSDELÈRBOLBINARIOSEREPRESENTANCOMOREGISTROS#ADAUNODEELLOSCON
TIENECOMOMÓNIMOTRESCAMPOS%NUNCAMPOSEALMACENARÈLAINFORMACIØNDELNODO
,OSDOSRESTANTESSEUTILIZARÈNPARAAPUNTARLOSSUBÈRBOLESIZQUIERDOYDERECHO RESPEC
TIVAMENTE DELNODOENCUESTIØN
$ADOELNODO4

4 ):1 ).&/ $%2

%NÏLSEDISTINGUENTRESCAMPOS

◗ ):1ESELCAMPODONDESEALMACENALADIRECCIØNDELSUBÈRBOLIZQUIERDODELNODO
4
◗ ).&/REPRESENTAELCAMPODONDESEALMACENALAINFORMACIØNDELNODO.ORMAL
MENTEENESTECAMPOYENELTRANSCURSODEESTELIBROSEALMACENARÈUNVALORSIMPLE
NÞMEROOCARÈCTER3INEMBARGO ENLAPRÈCTICAESCOMÞNALMACENARENESTECAMPO
CUALQUIERTIPODEDATO
◗ $%2ESELCAMPODONDESEALMACENALADIRECCIØNDELSUBÈRBOLDERECHODELNODO4

,ADElNICIØNDEUNÈRBOLBINARIOENLENGUAJEALGORÓTMICOESCOMOSIGUE

%.,!#%>./$/
./$/ 2%')342/
):1TIPO%.,!#%
).&/TIPODEDATO
$%2TIPO%.,!#%
[&INDELADElNICIØN]
196
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

.OTA%SIMPORTANTEOBSERVARQUESEUTILIZAELSÓMBOLO>PARAREPRESENTARELCON
CEPTODEDATOTIPOPUNTERO

%JEMPLO #ONSIDEREELÈRBOLBINARIODELAlGURAA QUEREPRESENTALAEXPRESIØNALGEBRAICA


!
" #$ >3UREPRESENTACIØNENMEMORIAESCOMOLAQUESEMUESTRAENLA
lGURAB
.OTEELLECTORQUEENLAlGURABSEUTILIZAELTÏRMINO.),PARAHACERREFERENCIA
ALÈRBOLVACÓO

&)'52!
2EPRESENTACIØNDEUNÉRBOLBINARIOENMEMORIAA ­RBOLBINARIOB 3UREPRESENTACIØN
ENMEMORIA

#OMOTODASLASESTRUCTURASDEDATOS LOSÈRBOLESTIENENASOCIADASCIERTASOPERACIO
NES!CONTINUACIØNSEPRESENTANLOSALGORITMOSDEALGUNASDEESTASOPERACIONESYMÈS
ADELANTE CUANDOSEESTUDIENOTROSTIPOSDEÈRBOLES SEEXPLICARÈNOTRAS

 /PERACIONESENÉRBOLESBINARIOS
5NADELASOPERACIONESBÈSICASDEUNÈRBOLBINARIOESLACREACIØNDELMISMOENMEMO
RIA5NALGORITMOMUYSIMPLEPARAFORMARUNÈRBOL PORMEDIODELACREACIØNDINÈMICA
DENODOSYLAASIGNACIØNAÏSTOSDEINFORMACIØN ESELQUESEMUESTRAACONTINUACIØN
 Ç3#0-&4#*/"3*04 197

!LGORITMO #REA?ÈRBOL

#REA?ÈRBOL!0./$/

[%LALGORITMOCREAUNÈRBOLBINARIOENMEMORIA!0./$/ESUNAVARIABLEDETIPO%.,!#%
ˆPUNTEROAUNNODOˆ,APRIMERAVEZ!0./$/SECREAENELPROGRAMAPRINCIPAL]
[).&/ ):1Y$%2SONCAMPOSDELREGISTRO./$/).&/ESDETIPOCARÈCTER):1Y$%2
SONDETIPOPUNTERO,ASVARIABLES2%30Y/42/SONDETIPOCARÈCTERYDETIPO%.,!#%
RESPECTIVAMENTE]

 ,EER!0./$/>).&/[,EELAINFORMACIØNYSEGUARDAENELNODO]
 %SCRIBIRhz%XISTENODOPORIZQUIERDA3Ó n.O v
 ,EER2%30
 3I2%30h3Óv
ENTONCES
#REAR/42/ [3ECREAUNNUEVONODO]
(ACER!0./$/>):1←/42/
2EGRESARA#REA?ÈRBOLCON!0./$/>):1[,LAMADARECURSIVA]
SINO
(ACER!0./$/>):1←.),
 [&INDELCONDICIONALDELPASO]
 %SCRIBIRhz%XISTENODOPORDERECHA3Ó n.O v
 ,EER2%30
 3I2%30h3Óv
ENTONCES
#REAR/42/ [3ECREAUNNUEVONODO]
(ACER!0./$/>$%2←/42/
2EGRESARA#REA?ÈRBOLCON!0./$/>$%2[,LAMADARECURSIVA]
SINO
(ACER!0./$/>$%2←.),
 [&INDELCONDICIONALDELPASO]

5NAVEZQUESECREAELÈRBOLBINARIO SEPUEDENREALIZAROTRAS OPERACIONESSOBRE


SUSELEMENTOSRECORRERTODOSLOSNODOS INSERTARUNNUEVONODO ELIMINARALGUNODELOS
EXISTENTESOBUSCARUNVALORDETERMINADO
5NADELASOPERACIONESMÈSIMPORTANTESQUESEREALIZAENUNÈRBOLBINARIOESELRECO
RRIDODELOSMISMOS2ECORRERSIGNIlCAVISITARLOSNODOSDELÈRBOLENFORMAORDENADA DE
TALMANERAQUETODOSLOSNODOSDELMISMOSEANVISITADOSUNASOLAVEZ%XISTENTRESFOR
MASDIFERENTESDEEFECTUARELRECORRIDOYTODASELLASDENATURALEZARECURSIVAÏSTASSON

A 2ECORRIDOENPREORDEN
◗ 6ISITARLARAÓZ
◗ 2ECORRERELSUBÈRBOLIZQUIERDO
◗ 2ECORRERELSUBÈRBOLDERECHO

B 2ECORRIDOENINORDEN
◗ 2ECORRERELSUBÈRBOLIZQUIERDO
198
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

◗ 6ISITARLARAÓZ
◗ 2ECORRERELSUBÈRBOLDERECHO

C 2ECORRIDOENPOSORDEN
◗ 2ECORRERELSUBÈRBOLIZQUIERDO
◗ 2ECORRERELSUBÈRBOLDERECHO
◗ 6ISITARLARAÓZ

%NLAlGURASEMUESTRANTRESÈRBOLESBINARIOSCONELRESULTADOQUESEOBTIENE
ALEFECTUARLOSDIFERENTESTIPOSDERECORRIDO%NESTEEJEMPLO LAVISITADELNODOIMPLICØ
LAIMPRESIØNDESUCONTENIDO
.OTEQUEENUNÈRBOLBINARIOQUEREPRESENTAUNAEXPRESIØNALGEBRAICA POREJEM
PLO ELÈRBOLDELAlGURAC LAIMPRESIØNDELAINFORMACIØNDESUSNODOS USANDOEL
RECORRIDOPREORDEN PRODUCELANOTACIØNPOLACAPRElJA%NELCASODELRECORRIDOINORDEN
SEOBTIENELANOTACIØNCONVENCIONALY PORÞLTIMO ELRECORRIDOPOSORDENPRODUCELANO
TACIØNPOLACAPOSlJA!UNQUE CABEACLARAR SINLOSPARÏNTESISRESPECTIVOSQUEINDICANLA
PRECEDENCIADELOSDISTINTOSOPERADORES

&)'52!
­RBOLESBINARIOSYSUS
RECORRIDOS
 Ç3#0-&4#*/"3*04 199

&)'52!
CONTINUACIØN

3EANALIZANACONTINUACIØNLOSALGORITMOSQUEEFECTÞANLOSDIFERENTESTIPOSDERECO
RRIDOSENUNÈRBOLBINARIO

!LGORITMO 0REORDEN

0REORDEN!0./$/

[%STEALGORITMOREALIZAELRECORRIDOPREORDENDEUNÈRBOLBINARIO!0./$/ESUNDATODETIPO
%.,!#%ˆPUNTEROAUNNODOˆ]
[).&/ ):1Y$%2SONCAMPOSDELREGISTRONODO).&/ESUNAVARIABLEDETIPOCARÈCTER):1
Y$%2SONVARIABLESDETIPOPUNTERO]
 3I!0./$/≠.), ENTONCES
6ISITAREL!0./$/[%SCRIBIR./$/>).&/]
2EGRESARA0REORDENCON!0./$/>):1
[,LAMADARECURSIVAA0REORDENCONLARAMAIZQUIERDADELNODOENCUESTIØN]
2EGRESARA0REORDENCON!0./$/>$%2
[,LAMADARECURSIVAA0REORDENCONLARAMADERECHADELNODOENCUESTIØN]
 [&INDELCONDICIONALDELPASO]

.OTA#ABEDESTACARQUEELTÏRMINOVISITARSEPUEDEREEMPLAZARPORCUALQUIEROTRA
INSTRUCCIØN VÈLIDA POR EJEMPLO ESCRIBIR SUMAR O COMPARAR LA INFORMACIØN DEL NODO
.OTEQUEESTAACLARACIØNSEAPLICATAMBIÏNPARALOSOTROSTIPOSDERECORRIDOS

%JEMPLO %NLASIGUIENTETABLASEPRESENTANLOSPASOSNECESARIOSPARAOBTENERELRECORRIDOPREOR
DENDELÈRBOLBINARIODELAlGURAA UTILIZANDOELALGORITMO
%NLACOLUMNA0ILARAMAPENDIENTEDEVISITAR LALLAMADA. INDICAELORDENEN
ELCUALLASRAMASPENDIENTESDEVISITARSEINTRODUJERONENLAPILA%NLACOLUMNA.ODO
ACTUALLALLAMADA. SE×ALALARAMAQUESEEXTRAJODELAPILA/BSERVEELLECTORQUEEL
ORDENENQUELOSNODOSSEVISITARONES

! " $ % # % '


200
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

4!",! .ODO .ODO 2AMAA 0ILARAMAPENDIENTE


2ECORRIDOPREORDEN 0ASO ACTUAL VISITADO VISITAR DEVISITAR
 ! ! !>):1→" !>$%2→#
 " " ">):1→$ ">$%2→%
 $ $ $>):1→.), $>$%2→.),
 .),
  .),
  % % %>):1→.), %>$%2→.),
 .),
  .),
  # # #>):1→& #>$%2→'
 & & &>):1→.), &>$%2→.),
 .),
  .),
  ' ' '>):1→.), '>$%2→.),
 .),
  .),

!LGORITMO )NORDEN

)NORDEN!0./$/

[%STEALGORITMOREALIZAELRECORRIDOINORDENDEUNÈRBOLBINARIO!0./$/ESUNREGISTRODE
TIPO%.,!#%ˆPUNTEROAUNNODOˆ]
[).&/ ):1Y$%2SONCAMPOSDELREGISTRONODO).&/ESUNAVARIABLEDETIPOCARÈCTER):1
Y$%2SONVARIABLESDETIPOPUNTERO]

 3I!0./$/≠.), ENTONCES


2EGRESARA)NORDENCON!0./$/>):1
[,LAMADARECURSIVAA)NORDENCONLARAMAIZQUIERDADELNODOENCUESTIØN]
6ISITAREL!0./$/[%SCRIBIR!0./$/>).&/]
2EGRESARA)NORDENCON!0./$/>$%2
[,LAMADARECURSIVAA)NORDENCONLARAMADERECHADELNODOENCUESTIØN]
 [&INDELCONDICIONALDELPASO]

%JEMPLO %N LA TABLA  SE MUESTRA LA GENERACIØN DEL RECORRIDO INORDEN DEL ÈRBOL DE LA lGURA
A USANDOELALGORITMO
 Ç3#0-&4#*/"3*04 201

4!",! .ODO .ODO 0ILARAMA



2ECORRIDOINORDEN 0ASO ACTUAL 2AMAAVISITAR VISITADO PENDIENTEDEVISITAR
!>$%2→# 
 ! !>):1→"
! 
">$%2→% 
 " ">):1→$
" 
$>$%2→.), 
 $ $>):1→.),
$ 
 .), $
  .), "
%>):1→.), 
  % %>):1→.),
% 
 .), %
  .), !
#>$%2→' 
  # #>):1→&
# 
&>$%2→.), 
 & &>):1→.),
& 
 .), &
  .), #
'>$%2→.), 
  ' '>):1→.),
' 
 .), '
  .),

%NLACOLUMNA0ILARAMAPENDIENTEDEVISITAR LALLAMADA. INDICAELORDENENEL


CUALLASRAMASPENDIENTESDEVISITARFUERONINTRODUCIDASALAPILA%NLASCOLUMNAS.ODO
ACTUALY.ODOVISITADO LASLLAMADAS. INDICANLASINSTRUCCIONESQUESEEXTRAJERONDE
LAPILA.OTEQUEESTAOBSERVACIØNTAMBIÏNESVÈLIDAPARALATABLA
%LORDENENQUESEVISITARONLOSNODOSES

$ " % ! & # '

!LGORITMO 0OSORDEN

0OSORDEN!0./$/

[%STEALGORITMOREALIZAELRECORRIDOPOSORDENDEUNÈRBOLBINARIO!0./$/ESUNDATODETIPO
%.,!#%ˆPUNTEROAUNNODOˆ]
[).&/ ):1Y$%2SONCAMPOSDELREGISTRONODO).&/ESUNAVARIABLEDETIPOCARÈCTER):1
Y$%2SONVARIABLESDETIPOPUNTERO]
202
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

 3I!0./$/≠.), ENTONCES


2EGRESARA0OSORDENCON!0./$/>):1
[,LAMADARECURSIVAA0OSORDENCONLARAMAIZQUIERDADELNODOENCUESTIØN]
2EGRESARA0OSORDENCON!0./$/>$%2
[,LAMADARECURSIVAA0OSORDENCONLARAMADERECHADELNODOENCUESTIØN]
6ISITAREL!0./$/[%SCRIBIR!0./$/>).&/]
 [&INDELCONDICIONALDELPASO]

%JEMPLO %NLATABLASEPRESENTANLOSPASOSNECESARIOSQUESESIGUIERONPARAEFECTUARELRECO
RRIDOPOSORDENDELÈRBOLDELAlGURAA APLICANDOELALGORITMOANTERIOR

4!",! .ODO .ODO 0ILARAMA


2ECORRIDOPOSORDEN 0ASO ACTUAL 2AMAAVISITAR VISITADO PENDIENTEDEVISITAR
 ! !>):1→" ! 
!>$%2→# 
 " ">):1→$ " 
">$%2→% 
 $ $>):1→.), $ 
$>$%2→.), 
 .),
  .), $
  % %>):1→.), % 
%>$%2→.), 
 .),
  .), %
 "
  # #>):1→& # 
#>$%2→' 
 & &>):1→.), & 
&>$%2→.), 
 .),
  .), &
  ' '>):1→.), ' 
'>$%2→.), 
 .),
  .), '
 #
 !
 Ç3#0-&4#*/"3*04 203

 ­RBOLESBINARIOSDEBÞSQUEDA
%NESTASECCIØNSEPRESENTAUNTIPOESPECIALDEÈRBOLESBINARIOS3UPRINCIPALCARACTE
RÓSTICA ES QUE LA INFORMACIØN SE ALMACENA EN LOS NODOS CUIDANDO DE MANTENER CIERTO
ORDEN
&ORMALMENTE SE DElNE UN ÈRBOL BINARIO DE BÞSQUEDA DE LA SIGUIENTE MANERA
0ARATODONODO4DELÈRBOLSEDEBECUMPLIRQUETODOSLOSVALORESALMACENADOSEN
ELSUBÈRBOLIZQUIERDODE4SEANMENORESOIGUALESALAINFORMACIØNGUARDADAENEL
NODO4$EFORMASIMILAR TODOSLOSVALORESALMACENADOSENELSUBÈRBOLDERECHODE
4DEBENSERMAYORESOIGUALESALAINFORMACIØNGUARDADAENELNODO4,OSVALORES
ALOSQUESEHACEREFERENCIAENLADElNICIØNRElERENALCONTENIDODELCAMPODEINFORMA
CIØNDELNODO0OREJEMPLO SIENELÈRBOLSEALMACENAINFORMACIØNDELOSEMPLEADOSDE
UNAEMPRESA LOSVALORESUTILIZADOSPARAGENERARELÈRBOLDEMANERAORDENADACORRESPON
DERÈNALNÞMERODECADAEMPLEADOˆCAMPOCLAVEˆ
%LÈRBOLBINARIODEBÞSQUEDAESUNAESTRUCTURADEDATOSOBRELACUALSEPUEDENREA
LIZARElCIENTEMENTELASOPERACIONESDEBÞSQUEDA INSERCIØNYELIMINACIØN#OMPARANDO
ESTAESTRUCTURACONOTRAS SEPUEDENOBSERVARCIERTASVENTAJAS0OREJEMPLO ENUNARREGLO
ESPOSIBLELOCALIZARDATOSElCIENTEMENTESIÏSTOSSEENCUENTRANORDENADOS PEROLASOPE
RACIONESDEINSERCIØNYELIMINACIØNRESULTANCOSTOSAS PORQUEINVOLUCRANMOVIMIENTO
DELOSELEMENTOSDENTRODELARREGLO%NLASLISTAS POROTRAPARTE DICHASOPERACIONESSE
PUEDENLLEVARACABOCONFACILIDAD PEROLAOPERACIØNDEBÞSQUEDA ENESTECASO ESUNA
OPERACIØNQUEDEMANDARECURSOS PUDIENDOINCLUSOREQUERIRRECORRERTODOSLOSELEMEN
TOSDEELLAPARALLEGARAUNOENPARTICULAR

%JEMPLO ,AlGURACONTIENEUNÈRBOLBINARIODEBÞSQUEDA
/BSERVEELLECTORQUESIENDICHOÈRBOLSESUSTITUYENLOSVALORESPOR POR
YPOR ELÈRBOLCONTINÞASIENDOUNÈRBOLBINARIODEBÞSQUEDA
0EROPOROTRAPARTE SIENDICHOÈRBOLSEREEMPLAZAELVALORPOR ENTONCESEL
ÈRBOLDEJADESERUNÈRBOLBINARIODEBÞSQUEDA PUESTOQUEVIOLAELPRINCIPIOQUEDICE
h4ODOSLOSNODOSDELSUBÈRBOLIZQUIERDODELNODO4DEBENALMACENARVALORESMENORESO
IGUALESALNODO||ˆENESTECASONOESMENORAˆ

&)'52!
­RBOLBINARIODEBÞSQUEDA
204
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

4AMBIÏNESPOSIBLEOBSERVARQUESISEEFECTÞAUNRECORRIDOINORDENSOBREUNÈRBOL
DEBÞSQUEDASEOBTENDRÈUNACLASIlCACIØNDELOSNODOSENFORMAASCENDENTE%LRECORRI
DOINORDENDELÈRBOLDELAlGURAPRODUCEELSIGUIENTERESULTADO

          

"ÞSQUEDA
,AOPERACIØNDEBÞSQUEDAENUNÈRBOLBINARIODEBÞSQUEDAESMUCHOMÈSElCIENTE
QUEENUNÈRBOLBINARIOGENERAL YAQUEALCOMPARARELVALORBUSCADOCONLAINFORMACIØN
DELNODOVISITADO SINOESIGUAL SEDEBERÈCONTINUARSØLOPORALGUNODELOSDOSSUBÈRBO
LES0OREJEMPLO SISECOMPARAELVALORBUSCADOCONELVALORDELNODOVISITADO LA
BÞSQUEDASØLODEBECONTINUARPORELCAMINODELADERECHA%LCAMINODELAIZQUIERDASE
DESECHA PORQUECONTIENENODOSCUYOSVALORESSERÈNMENORESOIGUALESA

!LGORITMO "ÞSQUEDA?!""

"ÞSQUEDA?!""!0./$/ ).&/2

[%STEALGORITMOLOCALIZAELNODODELÈRBOLBINARIODEBÞSQUEDAQUECONTIENELAINFORMACIØN
).&/2 QUEESTAMOSBUSCANDO!0./$/ESUNPARÈMETRODETIPO%.,!#%ˆLAPRIMERAVEZ
APUNTAALARAÓZDELÈRBOLˆ3EASUMEQUEELÈRBOLNOESVACÓO]

 3I).&/2!0./$/>).&/
ENTONCES
 3I!0./$/>):1.),
ENTONCES
%SCRIBIRh,AINFORMACIØNNOSEENCUENTRAENELÈRBOLv
SINO
2EGRESARA"ÞSQUEDA?!""CON!0./$/>):1E).&/2
[,LAMADARECURSIVA]
 [&INDELCONDICIONALDELPASO]
SINO
 3I).&/2!0./$/>).&/
ENTONCES
 3I!0./$/>$%2.),
ENTONCES
%SCRIBIRh,AINFORMACIØNNOSEENCUENTRAENELÈRBOLv
SINO
2EGRESARA"ÞSQUEDA?!""CON!0./$/>$%2E).&/2
[,LAMADARECURSIVA]
 [&INDELCONDICIONALDELPASO]
SINO
%SCRIBIRh,AINFORMACIØNESTÈENELÈRBOLv
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]
 Ç3#0-&4#*/"3*04 205

!NALICEELALGORITMODEBÞSQUEDACONELSIGUIENTEEJEMPLO

%JEMPLO 3UPONGAMOSQUESEDESEALOCALIZARLASCLAVESYENELÈRBOLBINARIODEBÞSQUEDA
DELAlGURA%NLASTABLASYSEPRESENTANLOSPASOS0 NÞMERODECOM
PARACIONES # Y PREGUNTAS Y ACCIONES NECESARIAS PARA LOCALIZAR LAS CLAVES  Y 
RESPECTIVAMENTE

4!",! 0 # 0REGUNTASYACCIONES
,OCALIZACIØNDELACLAVE
).&/2←   z%S

3Óz%SELSUBÈRBOLIZQUIERDODE .),
 .O%NTONCESSEREGRESAA"ÞSQUEDACONELSUBÈRBOLIZQUIERDODE
 E).&/2
 z%S

  .Oz%S

3Óz%SELSUBÈRBOLDERECHODE .),
 .O%NTONCESSEREGRESAA"ÞSQUEDACONELSUBÈRBOLDERECHODE
 E).&/2
 z%S

 3Óz%SELSUBÈRBOLIZQUIERDODE .),
 .O%NTONCESSEREGRESAA"ÞSQUEDACONELSUBÈRBOLIZQUIERDODE
 E).&/2

 z%S

  .Oz%S

.O%NTONCES²8)4/

4!",! 0 # 0REGUNTASYACCIONES
,OCALIZACIØNDELACLAVE  z%S
).&/2←
  .Oz%S
3Óz%SELSUBÈRBOLDERECHODE .),
 .O %NTONCES SE REGRESA A "ÞSQUEDA CON EL SUBÈRBOL DERECHO DE 
 E).&/2
 z%S
 3Óz%SELSUBÈRBOLIZQUIERDODE .),
 .O %NTONCES SE REGRESA A "ÞSQUEDA CON EL SUBÈRBOL IZQUIERDO DE 
 E).&/2
 z%S
  3Óz%SELSUBÈRBOLIZQUIERDODE.), .),
3Ó%NTONCES&2!#!3/
206
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

/TRAFORMADEESCRIBIRELALGORITMODEBÞSQUEDAPRESENTADOANTERIORMENTEESLAQUE
SEMUESTRAACONTINUACIØN%NESTAVARIANTESECONTEMPLAELCASODEQUEELÈRBOLESTÏ
VACÓO

!LGORITMO "ÞSQUEDA?V?!""

"ÞSQUEDA?V?!""!0./$/ ).&/2

[%LALGORITMOLOCALIZAELNODODELÈRBOLBINARIODEBÞSQUEDAQUECONTIENECIERTAINFORMACIØN
ˆ).&/2ˆ 0ARÈMETRO DE TIPO ENTERO !0./$/ ES UNA VARIABLE DE TIPO %.,!#% ,A
PRIMERAVEZ APUNTAALARAÓZDELÈRBOL]

 3I!0./$/≠.),
ENTONCES
 3I).&/2!0./$/>).&/
ENTONCES
2EGRESARA"ÞSQUEDA?V?!""CON!0./$/>):1E).&/2
[,LAMADARECURSIVA]
SINO
 3I).&/2./$/>).&/
ENTONCES
2EGRESARA"ÞSQUEDA?V?!""CON!0./$/>$%2E).&/2
[,LAMADARECURSIVA]
SINO
%SCRIBIRh,AINFORMACIØNSEENCUENTRAENELÈRBOLv
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]
SINO
%SCRIBIRh,AINFORMACIØNNOSEENCUENTRAENELÈRBOLv
 [&INDELCONDICIONALDELPASO]

)NSERCIØNENUNÉRBOLBINARIODEBÞSQUEDA
,AINSERCIØNENUNÈRBOLBINARIODEBÞSQUEDAESUNAOPERACIØNQUESEPUEDEREALIZAR
ElCIENTEMENTEENESTETIPODEESTRUCTURADEDATOS,AESTRUCTURACRECECONFORMESEIN
SERTANELEMENTOSALÈRBOL,OSPASOSQUESEDEBENREALIZARPARAAGREGARUNNUEVONODO
AUNÈRBOLBINARIODEBÞSQUEDASONLOSSIGUIENTES

 #OMPARARLACLAVEAINSERTARCONLARAÓZDELÈRBOL3IESMAYOR SESIGUECONELSUB


ÈRBOLDERECHO3IESMENOR SECONTINÞACONELSUBÈRBOLIZQUIERDO
 2EPETIRSUCESIVAMENTEELPASOHASTAQUESECUMPLAALGUNADELASSIGUIENTESCON
DICIONES
 %LSUBÈRBOLDERECHO OELSUBÈRBOLIZQUIERDO ESIGUALAVACÓO ENCUYOCASOSE
PROCEDERÈAINSERTARELELEMENTOENELLUGARQUELECORRESPONDE
 Ç3#0-&4#*/"3*04 207

 ,ACLAVEQUESEQUIEREINSERTARESTÈENELNODOANALIZADO PORLOTANTONOSE


LLEVAACABOLAINSERCIØN%STECASOESVÈLIDOSØLOCUANDOLAAPLICACIØNEXIGE
QUENOSEREPITANELEMENTOS

%JEMPLO 3UPONGAMOSQUESEQUIEREINSERTARLASSIGUIENTESCLAVESENUNÈRBOLBINARIODEBÞSQUEDA
QUESEENCUENTREVACÓO

        

,OSRESULTADOSPARCIALESQUEILUSTRANCØMOFUNCIONAELPROCEDIMIENTOSEPRESENTAN
ENLAlGURA

&)'52!
)NSERCIØNENUNÉRBOLBINARIODEBÞSQUEDA
.OTA,ASLÓNEASENCOLORINDICANELELEMENTOQUEACABADEINSERTARSE
208
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

&)'52!

CONTINUACIØN

%LALGORITMODEINSERCIØNESELSIGUIENTE

!LGORITMO )NSERCIØN?!""

)NSERCIØN?!""!0./$/ ).&/2

[%LALGORITMOREALIZALAINSERCIØNDEUNNODOENUNÈRBOLBINARIODEBÞSQUEDA!0./$/ES
UNAVARIABLEDETIPOPUNTEROYLAPRIMERAVEZDEBESERDISTINTADEVACÓO).&/2ESUNPARÈMETRO
DETIPOENTEROQUECONTIENELAINFORMACIØNQUESEQUIEREINSERTARENUNNUEVONODO]
[3EUTILIZAADEMÈS COMOAUXILIAR LAVARIABLE/42/DETIPOPUNTERO]

 3I).&/2!0./$/>).&/
ENTONCES
 3I!0./$/>):1.),
ENTONCES
#REAR/42/ [3ECREAUNNUEVONODO]
(ACER /42/>):1 ← .), /42/>$%2 ← .), /42/>).&/ ← ).&/2
Y!0./$/>):1←/42/
SINO
2EGRESARA)NSERCIØN?!""CON!0./$/>):1E).&/2
[,LAMADARECURSIVA]
 [&INDELCONDICIONALDELPASO]
SINO
 3I).&/2!0./$/>).&/
ENTONCES
 3I!0./$/>$%2.),
ENTONCES
#REAR/42/ [3ECREAUNNUEVONODO]
(ACER/42/>):1←.), /42/>$%2←.),
/42/>).&/←).&/2Y./$/>$%2←/42/
 Ç3#0-&4#*/"3*04 209

SINO
2EGRESARA)NSERCIØN?!""CON./$/>$%2E).&/2
[,LAMADARECURSIVA]
 [&INDELCONDICIONALDELPASO]
SINO
%SCRIBIRh%LNODOYASEENCUENTRAENELÈRBOLv
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]

%JEMPLO 3UPONGAMOSQUESEDESEAINSERTARLASCLAVESYENELÈRBOLBINARIODEBÞSQUEDA
DELAlGURA%NLASTABLASYSEPRESENTANLOSPASOS0 NÞMERODECOMPARA
CIONES# YPREGUNTASYACCIONESNECESARIASPARAINSERTARESTASCLAVES

4!",! 0 # 0REGUNTASYACCIONES
)NSERCIØNDELACLAVE
).&/2←  z%S

 3Óz%SELSUBÈRBOLIZQUIERDODE .),

 .O%NTONCESREGRESARA)NSERCIØNCONELSUBÈRBOLIZQUIERDODE E)NFOR

 z%S

  .Oz%S

3Óz%SELSUBÈRBOLDERECHODE .),

 .O%NTONCESREGRESARA)NSERCIØNCONELSUBÈRBOLDERECHODE E)NFOR

 z%S

 3Óz%SELSUBÈRBOLIZQUIERDODE.), .),

 3Ó%NTONCESCREAROTRONODO REALIZARLOSENLACESYCARGARLAINFORMACIØN

4!",! 0 # 0REGUNTASYACCIONES
)NSERCIØNDELACLAVE
).&/2←  z%S
  .Oz%S
3Óz%SELSUBÈRBOLDERECHODE .),
 3Ó%NTONCESREGRESARA)NSERCIØNCONELSUBÈRBOLDERECHODE E)NFOR

 .Oz%S
 3Óz%SELSUBÈRBOLIZQUIERDODE .),
 .O%NTONCESREGRESARA)NSERCIØNCONELSUBÈRBOLIZQUIERDODE E)NFOR

 z%S
  .Oz%S
3Óz%SELSUBÈRBOLDERECHODE.), .),
 .O%NTONCESCREAROTRONODO REALIZARLOSENLACESYCARGARLAINFORMACIØN
210
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

%NLAlGURASEPRESENTAELÈRBOLBINARIODEBÞSQUEDALUEGODEREALIZADAESTA
OPERACIØN

&)'52!
­RBOLBINARIODEBÞSQUEDA
)NSERCIØNDELASCLAVES
Y

/TRAFORMADEEXPRESARELALGORITMODEINSERCIØNESLASIGUIENTE

!LGORITMO )NSERCIØN?V?!""

)NSERCIØN?V?!""!0./$/ ).&/2

[%LALGORITMOREALIZALAINSERCIØNDEUNELEMENTOENUNÈRBOLBINARIODEBÞSQUEDA!0./$/
ES UNA VARIABLE DE TIPO %.,!#% LA PRIMERA VEZ APUNTA A LA RAÓZ DEL ÈRBOL ).&/2 ES UN
PARÈMETRODETIPOENTEROQUECONTIENELAINFORMACIØNDELELEMENTOQUESEQUIEREINSERTAR%L
ALGORITMOCONSIDERAELCASODEUNÈRBOLVACÓO]

 3I!0./$/≠.),
ENTONCES
 3I).&/2!0./$/>).&/
ENTONCES
2EGRESARA)NSERCIØN?V?!""CON!0./$/>):1E).&/2
[,LAMADARECURSIVA]
SINO
 3I).&/2!0./$/>).&/
ENTONCES
2EGRESARA)NSERCIØN?V?!""CON!0./$/>$%2E).&/2
[,LAMADARECURSIVA]
SINO
%SCRIBIRh,AINFORMACIØNYASEENCUENTRAENELÈRBOLv
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]
SINO
#REAR/42/ [3ECREAUNNUEVONODO]
(ACER/42/>):1←.), /42/>$%2←.), /42/>).&/← ).&/2
Y!0./$/←/42/
 [&INDELCONDICIONALDELPASO]
 Ç3#0-&4#*/"3*04 211

%LIMINACIØNENUNÉRBOLBINARIODEBÞSQUEDA
,AOPERACIØNDEELIMINACIØNENUNÈRBOLBINARIODEBÞSQUEDAESUNPOCOMÈSCOM
PLICADAQUELADEINSERCIØN²STACONSISTEENELIMINARUNNODOSINVIOLARLOSPRINCIPIOS
QUEDElNENUNÈRBOLBINARIODEBÞSQUEDA3EDEBENDISTINGUIRLOSSIGUIENTESCASOS

 3IELELEMENTOAELIMINARESTERMINALUHOJA SIMPLEMENTESESUPRIMEREDElNIENDO


ELPUNTERODESUPREDECESOR
 3IELELEMENTOAELIMINARTIENEUNSOLODESCENDIENTE ENTONCESTIENEQUESUSTITUIRSE
PORESEDESCENDIENTE
 3IELELEMENTOAELIMINARTIENELOSDOSDESCENDIENTES ENTONCESSETIENEQUESUSTITUIR
PORELNODOQUESEENCUENTRAMÈSALAIZQUIERDAENELSUBÈRBOLDERECHOOPORELNODO
QUESEENCUENTRAMÈSALADERECHAENELSUBÈRBOLIZQUIERDO

#ABEDESTACARQUEANTESDEELIMINARUNNODO SEDEBELOCALIZARÏSTEENELÈRBOL0ARA
ESTOSEUTILIZAELALGORITMODEBÞSQUEDAPRESENTADOANTERIORMENTE

%JEMPLO 3UPONGAMOSQUESEDESEAELIMINARLASSIGUIENTESCLAVESDELÈRBOLBINARIODEBÞSQUEDA
DELAlGURA
      

,OSRESULTADOSPARCIALESQUEILUSTRANCØMOFUNCIONAELPROCEDIMIENTOSEPRESENTAN
ENLAlGURA

&)'52!
%LIMINACIØNENUNÉRBOL
BINARIODEBÞSQUEDAA Y
F CORRESPONDENALPRIMER
CASOB YE CORRESPONDEN
ALSEGUNDOCASOC YD CO
RRESPONDENALTERCERCASO
G %STADOlNALDELÉRBOL
.OTA,ASmECHASENCOLOR
INDICANELELEMENTOQUEQUIERE
ELIMINARSE
212
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

&)'52!

CONTINUACIØN

!CONTINUACIØNSEPRESENTAELALGORITMOCORRESPONDIENTE
 Ç3#0-&4#*/"3*04 213

!LGORITMO %LIMINACIØN?!""

%LIMINACIØN?!""!0./$/ ).&/2

[%LALGORITMOREALIZALAELIMINACIØNDEUNELEMENTOENUNÈRBOLBINARIODEBÞSQUEDA!0./$/
ESUNAVARIABLE PORREFERENCIA DETIPO%.,!#%).&/2ESUNPARÈMETRODETIPOENTEROQUE
CONTIENELAINFORMACIØNDELNODOQUESEDESEAELIMINAR]
[!58 !58)Y/42/SONVARIABLESAUXILIARESDETIPOPUNTERO"/ESUNAVARIABLEDETIPO
BOOLEANO]

 3I!0./$/≠.),
ENTONCES
 3I).&/2!0./$/>).&/
ENTONCES
2EGRESARA%LIMINACIØN?!""CON!0./$/>):1E).&/2
SINO
 3I).&/2!0./$/>).&/
ENTONCES
2EGRESARA%LIMINACIØN?!""CON!0./$/>$%2E).&/2
SINO
(ACER/42/←./$/
 3I/42/>$%2.),
ENTONCES
(ACER!0./$/←/42/>):1
SINO
 3I/42/>):1.),
ENTONCES
(ACER!0./$/←/42/>$%2
SINO
(ACER!58←!0./$/>):1Y"/←&!,3/
! -IENTRAS!58>$%2≠.), 2EPETIR
(ACER!58←!58 !58←!58>$%2
Y"/←6%2$!$%2/
" [&INDELCICLODELPASO!]
(ACER!0./$/>).&/←!58>).&/Y
/42/←!58
# 3I"/6%2$!$%2/
ENTONCES
(ACER!58>$%2←!58>):1
SINO
(ACER!0./$/>):1←!58>):1
$ [&INDELCONDICIONALDELPASO#]
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]
1UITAR/42/ [3ELIBERAELESPACIODEMEMORIA]
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]
SINO
%SCRIBIRh,AINFORMACIØNAELIMINARNOSEENCUENTRAENELÈRBOLv
 [&INDELCONDICIONALDELPASO]
214
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

%JEMPLO $ADOELÈRBOLDELAlGURAA VERIlQUESIQUEDAIGUALALÈRBOLDELAlGURABLUEGO


DEELIMINAR APLICANDOELALGORITMO LASCLAVESQUESEMUESTRANACONTINUACIØN

    

&)'52!
%LIMINACIØNENUNÉRBOLBINARIODEBÞSQUEDAA !NTESDEELIMINARLASCLAVESB $ESPUÏS
DEELIMINARLASCLAVES
.OTA%NELEJEMPLO COMOELNODOAELIMINARTIENEDOSDESCENDIENTES SESUSTITUYEPORELNODOQUE
SEENCUENTRAMÉSALADERECHAENELSUBÉRBOLIZQUIERDO

 ­2"/,%3"!,!.#%!$/3
#UANDO SE ESTUDIARON LOS ÈRBOLES BINARIOS DE BÞSQUEDA SE MENCIONØ QUE ES UNA ES
TRUCTURASOBRELACUALSEPUEDENREALIZARElCIENTEMENTELASOPERACIONESDEBÞSQUEDA
INSERCIØNYELIMINACIØN3INEMBARGO SIELÈRBOLCRECEODECRECEDESCONTROLADAMENTE EL
RENDIMIENTOPUEDEDISMINUIRCONSIDERABLEMENTE%LCASOMÈSDESFAVORABLESEPRODUCE
CUANDOSEINSERTAUNCONJUNTODECLAVESORDENADASENFORMAASCENDENTEODESCENDENTE
COMOSEMUESTRAENLAlGURA

&)'52!
­RBOLESBINARIOSDEBÞS
QUEDACONCRECIMIENTO
DESCONTROLADO
 Ç3#0-&4#"-"/$&"%04 215

%SDENOTARQUEELNÞMEROPROMEDIODECOMPARACIONESQUESEDEBENREALIZARPARA
LOCALIZARUNADETERMINADACLAVEENUNÈRBOLBINARIODEBÞSQUEDACONCRECIMIENTODES
CONTROLADOES. CIFRAQUEMUESTRAUNRENDIMIENTOMUYPOBREENLAESTRUCTURA
#ON EL OBJETO DE MANTENER LA ElCIENCIA EN LA OPERACIØN DE BÞSQUEDA SURGEN LOS
ÈRBOLESBALANCEADOS,APRINCIPALCARACTERÓSTICADEÏSTOSESLADEREALIZARREACOMODOSO
BALANCEOS DESPUÏSDEINSERCIONESOELIMINACIONESDEELEMENTOS%STOSÈRBOLESTAMBIÏN
RECIBENELNOMBREDE!6,ENHONORASUSINVENTORES DOSMATEMÈTICOSRUSOS '-
!DELSON 6ELSKIIY%-,ANDIS
&ORMALMENTESEDElNEUNÈRBOLBALANCEADOCOMOUNÈRBOLBINARIODEBÞSQUE
DA ENELCUALSEDEBECUMPLIRLASIGUIENTECONDICIØN0ARATODONODO4DELÈRBOL
LA ALTURA DE LOS SUBÈRBOLES IZQUIERDO Y DERECHO NO DEBEN DIFERIR EN MÈS DE UNA
UNIDAD

\(2)n(2$\≤

DONDE(2) ESLAALTURADELARAMAOSUBÈRBOLIZQUIERDOY(2$ESLAALTURADELARAMAO
SUBÈRBOLDERECHO
%NLAlGURASEMUESTRANDOSEJEMPLOSDEÈRBOLESBALANCEADOS

&)'52!
$OSÉRBOLESBALANCEADOS
A #ONALTURAB #ON
ALTURA

/BSERVEELLECTORQUESISEINSERTANLASCLAVES OENELÈRBOLBALANCEADODE
LAlGURAA ÏSTEPIERDEELEQUILIBRIO3INEMBARGO SISEINSERTANLASCLAVESO
ENELMISMOÈRBOL ÏSTEMANTIENEELEQUILIBRIOMÈSAÞN LOMEJORA
!HORABIEN CONRESPECTOALAELIMINACIØN SIADICHOÈRBOLSELEQUITANLASCLAVES
OELÈRBOLCONTINÞASIENDOBALANCEADOINCLUSOPODRÓANQUITÈRSELELASTRESCLAVESY
ELÈRBOLNOPERDERÓAELEQUILIBRIO3INEMBARGO SISEELIMINALACLAVEELÈRBOLPIERDE
ELEQUILIBRIOYESNECESARIOREESTRUCTURARLO
,OSÈRBOLESBALANCEADOSSEPARECENMUCHO ENSUMECANISMODEFORMACIØN ALOS
NÞMEROS&IBONACCI %LÈRBOL DEALTURA ES VACÓO EL ÈRBOLDE ALTURA TIENE UNÞNICO
NODOY ENGENERAL ELNÞMERODENODOSDELÈRBOLCONALTURAHSECALCULAAPLICANDO
LASIGUIENTEFØRMULARECURSIVA
216
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4


+H+Hn  +Hn &ØRMULA

DONDE+INDICAELNÞMERODENODOSDELÈRBOLYHLAALTURA
0OROTRAPARTE ALGUNOSESTUDIOSDEMUESTRANQUELAALTURADEUNÈRBOLBALANCEADODE
NNODOSNUNCAEXCEDERÈDE
LOGN

%JEMPLO 3UPONGAMOS QUE SE DESEA CALCULAR EL NÞMERO DE NODOS DE UN ÈRBOL BALANCEADO CON
ALTURA,AFORMAENQUESEEFECTÞAELCÈLCULOESLASIGUIENTE

+  +  +
+  +  +
+  +  +
+  +  +
+  
+  
+  
+  
+  
+  

 )NSERCIØNENÉRBOLESBALANCEADOS
!LINSERTARUNELEMENTOENUNÈRBOLBALANCEADOSEDEBENDISTINGUIRLOSSIGUIENTESCA
SOS

 ,ASRAMASIZQUIERDA2) YDERECHA2$ DELÈRBOLTIENENLAMISMAALTURA(2)(2$


PORLOTANTO
 3ISEINSERTAUNELEMENTOEN2) ENTONCES(2)SERÈMAYORENUNAUNIDADA(2$
 3ISEINSERTAUNELEMENTOEN2$ ENTONCES(2$SERÈMAYORENUNAUNIDADA(2)

/BSERVEQUEENCUALQUIERADELOSDOSCASOSMENCIONADOSY NOSEVIOLA
ELCRITERIODEEQUILIBRIODELÈRBOL

 ,ASRAMASIZQUIERDA2) YDERECHA2$ DELÈRBOLTIENENALTURADIFERENTE(2)≠


(2$ 
 3UPONGAMOSQUE(2)(2$
 3ISEINSERTAUNELEMENTOEN2) ENTONCES(2)SERÈIGUALA(2$[,ASRA
MASTIENENLAMISMAALTURA PORLOQUESEMEJORAELEQUILIBRIODELÈRBOL]
 3ISEINSERTAUNELEMENTOEN2$ ENTONCESSEROMPEELCRITERIODEEQUILI
BRIODELÈRBOLYESNECESARIOREESTRUCTURARLO
 3UPONGAMOSQUE(2)(2$
 3ISEINSERTAUNELEMENTOEN2) ENTONCESSEROMPEELCRITERIODEEQUILI
BRIODELÈRBOLYESNECESARIOREESTRUCTURARLO
 3ISEINSERTAUNELEMENTOEN2$ ENTONCES(2$SERÈIGUALA(2)[,ASRA
MASTIENENLAMISMAALTURA PORLOQUESEMEJORAELEQUILIBRIODELÈRBOL]
 Ç3#0-&4#"-"/$&"%04 217

%NLAlGURASEMUESTRANDIAGRAMASDELOSDISTINTOSCASOSQUESEPRESENTANEN
LAOPERACIØNDEINSERCIØNENÈRBOLESBALANCEADOS

&)'52!
$IFERENTESCASOSDEINSER   
CIØNENÉRBOLESBALANCEA
DOSA #ASOB #ASO
C #ASOD #ASO
E #ASOF #ASO
G #ASOH #ASO
I #ASO
.OTA,ALÓNEADISCONTINUA
MARCAELEQUILIBRIOPERFECTO   
DELÉRBOL

  

  

  

 


!HORABIEN PARAPODERDETERMINARSIUNÈRBOLESTÈBALANCEADOONO SEDEBEMANE


JARINFORMACIØNRELATIVAALEQUILIBRIODECADANODODELÈRBOL3URGEASÓELCONCEPTODE
FACTORDEEQUILIBRIODEUNNODO&% QUESEDElNECOMOLAALTURADELSUBÈRBOLDERECHO
MENOSLAALTURADELSUBÈRBOLIZQUIERDO


&%(2$n(2) &ØRMULA
218
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

,OSVALORESQUEPUEDETOMAR&%SONn  3I&%LLEGARAATOMARLOSVALORESDE
nO ENTONCESDEBERÓAREESTRUCTURARSEELÈRBOL%NLAlGURASEPRESENTAUNÈRBOL
BALANCEADOCONELCORRESPONDIENTE&%PARACADANODODELÈRBOL

&)'52!
­RBOLBALANCEADOCONEL
CORRESPONDIENTE&%

/BSERVEELLECTORQUEENLAlGURAEL&%DELNODOQUEALMACENAELESn
PUESTOQUELAALTURADELSUBÈRBOLDERECHOESIGUALAYLAALTURADELSUBÈRBOLIZQUIERDO
IGUALA

&%nn

%L&%DESECALCULACOMO

&%n

!CONTINUACIØNSEPRESENTALADElNICIØNDEUNÈRBOLBALANCEADOENLENGUAJEALGO
RÓTMICO

%.,!#%>./$/
./$/ 2%')342/
):1 $%2TIPO%.,!#%
).&/TIPODEDATO
&%n
[&INDELADElNICIØN]

 2EESTRUCTURACIØNDELÉRBOLBALANCEADO
%L PROCESO DE INSERCIØN EN UN ÈRBOL BALANCEADO ES SENCILLO SIN EMBARGO REQUIERE DE
OPERACIONESAUXILIARESQUECOMPLICANPARCIALMENTEELPROCESO0RIMEROSEDEBESEGUIR
ELCAMINODEBÞSQUEDADELÈRBOL HASTALOCALIZARELLUGARDONDEHAYQUEINSERTARELELE
MENTO,UEGOSECALCULASU&% QUEOBVIAMENTESERÈ YREGRESAMOSPORELCAMINODE
BÞSQUEDACALCULANDOEL&%DELOSDISTINTOSNODOSVISITADOS3IENALGUNODELOSNODOSSE
VIOLAELCRITERIODEEQUILIBRIOENTONCESSEDEBEREESTRUCTURARELÈRBOL%LPROCESOTERMINA
 Ç3#0-&4#"-"/$&"%04 219

ALLLEGARALARAÓZDELÈRBOL OCUANDOSEREALIZALAREESTRUCTURACIØNDELMISMO ENCUYO


CASONOESNECESARIODETERMINAREL&%DELOSNODOSRESTANTES
2EESTRUCTURARELÈRBOLSIGNIlCAROTARLOSNODOSDELMISMOPARALLEVARLOAUNESTADO
DEEQUILIBRIO,AROTACIØNPUEDESERSIMPLEOCOMPUESTA%LPRIMERCASOINVOLUCRADOS
NODOSYELSEGUNDOCASOAFECTAATRES3ILAROTACIØNESSIMPLESEPUEDEREALIZARPORLAS
RAMASDERECHAS$$ OPORLASRAMASIZQUIERDAS)) 3IPOROTRAPARTELAROTACIØNES
COMPUESTA SE PUEDE REALIZAR POR LAS RAMAS DERECHA E IZQUIERDA $) O POR LAS RAMAS
IZQUIERDAYDERECHA)$ 

%JEMPLO %NLAlGURASEPUEDENOBSERVARGRÈlCAMENTELOSDIFERENTESTIPOSDEROTACIONES%N
LAlGURAASEPRESENTALAROTACIØN)) ENLAlGURABLAROTACIØN$$ ENLAlGURA
CLAROTACIØN$)YENLAlGURADLAROTACIØN)$
,ALÓNEACONTINUA?????? MARCAELESTADODELOSNODOSDELÈRBOLANTESDEREALIZAR
LAINSERCIØN,ALÓNEADISCONTINUA???? INDICAELNUEVOELEMENTOINSERTADO,ALÓNEA
CONPUNTOS MARCAELCAMINODEREGRESOHASTAQUESEDETECTAELDESEQUILIBRIODEL
ÈRBOL,ALÓNEAGRUESA?????? INDICAELMOVIMIENTODELOSNODOSENLAROTACIØN

&)'52!
2OTACIONESENÉRBOLES
BALANCEADOSA 2OTACIØN))
B 2OTACIØN$$C 2OTACIØN
$)D 2OTACIØN)$
220
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

&)'52!
CONTINUACIØN

%JEMPLO 3UPONGAMOSQUESEDESEAINSERTARLASSIGUIENTESCLAVESENUNÈRBOLBALANCEADOQUESE
ENCUENTRAVACÓO

      


 Ç3#0-&4#"-"/$&"%04 221

,ASOPERACIONESNECESARIASSONLASSIGUIENTES

!L REGRESAR LUEGO DE INSERTAR UN NODO CON EL VALOR  SIGUIENDO EL CAMINO DE
BÞSQUEDASEDETECTAQUEENLACLAVESEVIOLAELCRITERIODEEQUILIBRIODELÈRBOLYSE
DEBEREESTRUCTURAR3EAPUNTACON./$/LACLAVEYCON./$/LARAMAIZQUIERDA
DEDICHACLAVE,UEGOSEVERIlCAEL&%DE./$/COMOENESTECASOESIGUALAnSE
PUEDEREALIZARLAROTACIØN))%LMOVIMIENTODEAPUNTADORESPARAREALIZARLAROTACIØN))
ESELSIGUIENTE

./$/>):1 ←./$/>$%2
./$/>$%2 ←./$/
./$/ ←./$/

2ESPECTOAL&%DELOSNODOSAFECTADOS ÏSTESERÈSIEMPREENELCASODEROTACIONES
SIMPLES

./$/>&% ←
./$/>&% ←

,UEGODEEFECTUARELREACOMODO ELÈRBOLQUEDAASÓ

!LREGRESARSIGUIENDOELCAMINODEBÞSQUEDASEMODIlCAEL&%DELOSNODOSY
 PEROELEQUILIBRIODELÈRBOLSEMANTIENE
222
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

!LREGRESAR LUEGODEINSERTARELVALOR SIGUIENDOELCAMINODEBÞSQUEDASEOB


SERVAUNAVIOLACIØNALCRITERIODEEQUILIBRIODELÈRBOLYSEDEBEREESTRUCTURAR3EAPUNTA
CON./$/LACLAVEYCON./$/LARAMADERECHADEDICHACLAVE3EVERIlCAEL&%
DE./$/YCOMOENESTECASOESIGUALASEPUEDEREALIZARLAROTACIØN$$%LMOVI
MIENTODEAPUNTADORESPARAREALIZARLAROTACIØN$$ES

./$/>$%2 ←./$/>):1
./$/>):1 ←./$/
./$/ ←./$/

2ESPECTOAL&%DELOSNODOSAFECTADOS LASASIGNACIONESSONLASSIGUIENTES

./$/>&% ←
./$/>&% ←

,UEGODEVOLVERAEQUILIBRARLO ELÈRBOLQUEDADEESTAFORMA
 Ç3#0-&4#"-"/$&"%04 223

,UEGODEINSERTARLACLAVEYALREGRESARSIGUIENDOELCAMINODEBÞSQUEDASEAD
VIERTEQUEENLACLAVESEROMPEELEQUILIBRIODELÈRBOL3EAPUNTACON./$/LACLAVE
YCON./$/SURAMADERECHA3ECALCULAEL&%DE./$/YCOMOENESTECASOES
IGUALAn SEREALIZALAROTACIØN$)3EAPUNTAENTONCESCON./$/LARAMAIZQUIERDA
DE./$/%LMOVIMIENTODEAPUNTADORESPARAREALIZARLAROTACIØN$)ES

./$/>):1 ←./$/>$%2
./$/>$%2 ←./$/
./$/>$%2 ←./$/>):1
./$/>):1 ←./$/
./$/ ←./$/

%L&%DELOSNODOSINVOLUCRADOSSEASIGNADEACUERDOCONLOSVALORESESTABLECIDOS
ENLATABLA

4!",! ./$/∧.&%
&ACTORESDEEQUILIBRIO
ENLAROTACIØN$) ./$/∧.&%n ./$/∧.&%
./$/∧.&%

./$/∧.&%
./$/∧.&% ./$/∧.&%
./$/∧.&%

./$/∧.&%n
./$/∧.&% ./$/∧.&%
./$/∧.&%

#OMOENELEJEMPLOPRESENTADOEL&%DE./$/ESIGUALA SEREALIZANLASSI
GUIENTESASIGNACIONES

./$/>&% ←n
./$/>&% ←
./$/>&% ←

,UEGODEREALIZARELREACOMODO ELÈRBOLQUEDADELASIGUIENTEMANERA
224
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

2EGRESANDOPORELCAMINODEBÞSQUEDALUEGODEINSERTARLACLAVE ESEVIDENTE
QUEENLACLAVESEROMPEELEQUILIBRIODELÈRBOL3EAPUNTACON./$/LACLAVEY
CON./$/SURAMAIZQUIERDA3EVERIlCAEL&%DE./$/YCOMOENESTECASOES
IGUALA SEREALIZALAROTACIØN)$3EAPUNTACON./$/LARAMADERECHADE./$/
%LMOVIMIENTODEAPUNTADORESPARAREALIZARLAROTACIØN)$ES

./$/>$%2 ←./$/>):1
./$/>):1 ←./$/
./$/>):1 ←./$/>$%2
./$/>$%2 ←./$/
./$/ ←./$/

%L&%DELOSNODOSINVOLUCRADOSSEASIGNADEACUERDOCONLOSVALORESESTABLECIDOS
ENLATABLA

4!",! ./$/∧&%
&ACTORESDEEQUILIBRIO
./$/∧&%n ./$/∧&%
ENLAROTACIØN)$
./$/∧&%

./$/∧&%
./$/∧&% ./$/∧&%
./$/∧&%

./$/∧&%
./$/∧&% ./$/∧&%n
./$/∧&%
 Ç3#0-&4#"-"/$&"%04 225

#OMOENELEJEMPLOPRESENTADOEL&%DE./$/ESIGUALA SEREALIZANLASSI
GUIENTESASIGNACIONES

./$/>&% ←
./$/>&% ←
./$/>&% ←

,UEGODEVOLVERAEQUILIBRARLO ELÈRBOLQUEDADELASIGUIENTEFORMA

.OTA/BSERVEQUELUEGODEREALIZARLAINSERCIØNDEUNELEMENTOYCUANDOSERE
GRESAPORELCAMINODEBÞSQUEDA EL&%DELNODOVISITADOSEINCREMENTAENSILAINSER
CIØNSEHIZOPORSURAMADERECHAYDISMINUYEENSILAINSERCIØNSEHIZOPORSURAMA
IZQUIERDA

%JEMPLO $ADOCOMODATOELÈRBOLBALANCEADODELAlGURAA VERIlQUESIELMISMOQUEDA


IGUALALDELAlGURABLUEGODEINSERTARLASSIGUIENTESCLAVES

  n          

&)'52!
)NSERCIØNENÉRBOLESBALAN
CEADOSA !NTESDEINSERTAR
LASCLAVESB $ESPUÏSDE
INSERTARLASCLAVES
226
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

!CONTINUACIØNSEPRESENTAELALGORITMODEINSERCIØNENÈRBOLESBALANCEADOS

!LGORITMO )NSERTA?BALANCEADO

)NSERTA?BALANCEADO./$/ "/ ).&/2

[%LALGORITMOINSERTAUNELEMENTOENUNÈRBOLBALANCEADO./$/ESUNPARÈMETRODETIPO
PUNTERO PORREFERENCIA"/ESUNPARÈMETRODETIPOBOOLEANO PORREFERENCIA"/SEUTILIZAPARA
INDICARQUELAALTURADELÈRBOLHACRECIDO SUVALORINICIALES&!,3/).&/2ESUNPARÈMETRO
DETIPOENTEROQUECONTIENELAINFORMACIØNDELELEMENTOQUEQUEREMOSINSERTAR]
[/42/ ./$/Y./$/SONVARIABLESAUXILIARESDETIPOPUNTERO]
 3I./$/≠.),
ENTONCES
 3I).&/2./$/>).&/
ENTONCES
2EGRESARA)NSERTA?BALANCEADOCON./$/>):1 "/E).&/2
[,LAMADARECURSIVA]
 3I"/6%2$!$%2/
ENTONCES
 3I./$/>&%
(ACER./$/>&%←Y"/←&!,3/
(ACER./$/>&%←n
n(ACER./$/←./$/>):1
[2EESTRUCTURACIØNDELÈRBOL]
 3I./$/>&%≤
ENTONCES[2OTACIØN))]
(ACER./$/>):1←./$/>$%2
./$/>$%2 ←./$/
./$/>&%←Y./$/←./$/
[4ERMINALAROTACIØN))]
SINO[2OTACIØN)$]
(ACER./$/←./$/>$%2
./$/>):1←./$/>$%2
./$/>$%2←./$/
./$/>$%2←./$/>):1Y
./$/>):1←./$/
! 3I./$/>&%n
ENTONCES
(ACER./$/>&%←
SINO
(ACER./$/>&%←
" [&INDELCONDICIONALDELPASO!]
# 3I./$/>&%
ENTONCES
(ACER./$/>&%←n
SINO
(ACER./$/>&%←
$ [&INDELCONDICIONALDELPASO#]
(ACER./$/←./$/
[4ERMINALAROTACIØN)$]
 Ç3#0-&4#"-"/$&"%04 227

 [&INDELCONDICIONALDELPASO]
(ACER./$/>&%←Y"/←&!,3/
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]
SINO
 3I).&/2./$/>).&/
ENTONCES
2EGRESARA)NSERTA?BALANCEADOCON./$/>$%2 "/E).&/2
[,LAMADARECURSIVA]
 3I"/6%2$!$%2/
ENTONCES
 3I./$/>&%
n(ACER./$/>&%←Y"/←&!,3/
(ACER./$/>&%←
(ACER./$/←./$/>$%2
[2EESTRUCTURACIØNDEÈRBOL]
! 3I./$/>&%≥
ENTONCES[2OTACIØN$$]
(ACER./$/>$%2←./$/>):1
./$/>):1←./$/
./$/>&%←Y./$/←./$/
[4ERMINALAROTACIØN$$]
SINO[2OTACIØN$)]
(ACER./$/←./$/>):1
./$/>$%2←./$/>):1
./$/>):1←./$/
./$/>):1←./$/>$%2Y
./$/>$%2←./$/
3I./$/>&%
ENTONCES
(ACER./$/>&%←n
SINO
(ACER./$/>&%←
[&INDELCONDICIONALINTERNO]
3I./$/>&%n
ENTONCES
(ACER./$/>&%←
SINO
(ACER./$/>&%←
[&INDELCONDICIONALINTERNO]
(ACER./$/←./$/
[4ERMINALAROTACIØN$)]
" [&INDELCONDICIONALDELPASO!]
(ACER./$/>&%←Y"/←&!,3/
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]
SINO
%SCRIBIRh,AINFORMACIØNYASEENCUENTRAENELÈRBOLv
 [&INDELCONDICIONALDELPASO]
228
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

 [&INDELCONDICIONALDELPASO]
SINO
#REAR./$/
(ACER./$/>).&/←).&/2 ./$/>):1←.), ./$/>$%2←.),
./$/>&%←Y"/←6%2$!$%2/
 [&INDELCONDICIONALDELPASO]

%LIMINACIØNENÉRBOLESBALANCEADOS
,AOPERACIØNDEELIMINACIØNENÈRBOLESBALANCEADOSESMÈSCOMPLEJAQUELAOPERACIØN
DEINSERCIØN COMONORMALMENTEOCURREENCASITODASLASESTRUCTURASDEDATOS#ONSISTE
ENQUITARUNNODODELÈRBOLSINVIOLARLOSPRINCIPIOSQUEDElNENUNÈRBOLBALANCEADO
2ECUERDEQUESEDElNIØCOMOUNAESTRUCTURAENLACUAL PARATODONODODELÈRBOL SE
DEBECUMPLIRQUELAALTURADELSUBÈRBOLIZQUIERDOYLAALTURADELSUBÈRBOLDERECHO
NODEBENDIFERIRENMÈSDEUNAUNIDAD
%LIMINARNODOSENUNÈRBOLBALANCEADORESULTADIFÓCILAPESARDEQUESEUTILIZAEL
MISMOALGORITMODEELIMINACIØN IDÏNTICOENLØGICAPERODIFERENTEENIMPLEMENTACIØN
QUEENLOSÈRBOLESBINARIOSDEBÞSQUEDAYLASMISMASOPERACIONESDEREACOMODOQUESE
UTILIZANENELALGORITMODEINSERCIØNENÈRBOLESBALANCEADOS
%NLAOPERACIØNDEELIMINACIØNENÈRBOLESBALANCEADOSSEDEBENDISTINGUIRLOSSI
GUIENTESCASOS

 3IELELEMENTOAELIMINARESTERMINALUHOJA SIMPLEMENTESESUPRIME


 3IELELEMENTOAELIMINARTIENEUNSOLODESCENDIENTE ENTONCESSETIENEQUESUSTITUIR
PORESEDESCENDIENTE
 3IELELEMENTOAELIMINARTIENELOSDOSDESCENDIENTES ENTONCESSETIENEQUESUSTITUIR
PORELNODOQUESEENCUENTRAMÈSALAIZQUIERDAENELSUBÈRBOLDERECHOOPORELNODO
QUESEENCUENTRAMÈSALADERECHAENELSUBÈRBOLIZQUIERDO

0ARA ELIMINAR UN NODO EN UN ÈRBOL BALANCEADO LO PRIMERO QUE SE DEBE HACER ES
LOCALIZARSUPOSICIØNENELÈRBOL3EELIMINASIGUIENDOLOSCRITERIOSESTABLECIDOSANTERIOR
MENTEYSEREGRESAPORELCAMINODEBÞSQUEDACALCULANDOEL&%DELOSNODOSVISITADOS
3IENALGUNODELOSNODOSSEVIOLAELCRITERIODEEQUILIBRIO ENTONCESSEDEBEREESTRUCTURAR
ELÈRBOL%LPROCESOTERMINACUANDOSELLEGAALARAÓZDELÈRBOL#ABEACLARARQUEMIEN
TRASQUEENELALGORITMODEINSERCIØNUNAVEZEFECTUADAUNAROTACIØNSEPODÓADETENEREL
PROCESO ENESTEALGORITMOSEDEBECONTINUARPUESTOQUESEPUEDEPRODUCIRMÈSDEUNA
ROTACIØNENELCAMINOHACIAATRÈS0ARACOMPRENDERMEJORLAOPERACIØNDEELIMINACIØN
ENÈRBOLESBALANCEADOS OBSERVEELSIGUIENTEEJEMPLO

%JEMPLO 3UPONGAMOS QUE SE DESEA ELIMINAR LAS SIGUIENTES CLAVES DEL ÈRBOL BALANCEADO DE LA
lGURA

       


 Ç3#0-&4#"-"/$&"%04 229

#ABEDESTACARQUEELMOVIMIENTODEAPUNTADORESYLAREASIGNACIØNDELOS&%NOSE
PRESENTARÈNENESTEEJEMPLO PORQUESONIDÏNTICOSALOSMOSTRADOSENELEJEMPLO

&)'52!
­RBOLBALANCEADO

,ASOPERACIONESQUESEREALIZANSONLASSIGUIENTES


  

230
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

,AELIMINACIØNDELACLAVEESUNPROCESOSENCILLO YAQUEDICHACLAVENOTIENE
DESCENDIENTESDIAGRAMAA !LREGRESARSIGUIENDOELCAMINODEBÞSQUEDAESEVIDENTE
QUE EN LA CLAVE  SE ROMPE EL CRITERIO DE EQUILIBRIO Y SE DEBE REESTRUCTURAR EL ÈRBOL
DIAGRAMAA 3EAPUNTACON./$/LACLAVEYCON./$/LARAMAIZQUIERDADE
./$/3EVERIlCAEL&%DE./$/YCOMOÏSTEESIGUALAn ENTONCESSEREALIZALA
ROTACIØN)),UEGODELAREESTRUCTURACIØN ELÈRBOLQUEDACOMOENELDIAGRAMAA
 Ç3#0-&4#"-"/$&"%04 231

,AELIMINACIØNDELACLAVEESUNPROCESOSENCILLODIAGRAMAB .OSEDEBE
REESTRUCTURARELÈRBOLPORQUEMANTIENEELEQUILIBRIOYSØLOESNECESARIOCAMBIAREL&%DE
LOSNODOSQUEALMACENANALYDIAGRAMAB 
232
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

!LELIMINARLACLAVESEORIGINAELCASOMÈSDIFÓCILDEELIMINACIØNENÈRBOLESLA
ELIMINACIØN DE UNA CLAVE CON DOS DESCENDIENTES DIAGRAMA CL  %N ESTE CASO SE OPTA
PORSUSTITUIRDICHACLAVEPORELNODOQUESEENCUENTRAMÈSALADERECHAENELSUBÈRBOL
IZQUIERDO ,UEGODELASUSTITUCIØN ELÈRBOLQUEDACOMOSEMUESTRAENELDIAGRAMA
C!LREALIZARLASUSTITUCIØNSEOBSERVAQUEENDICHONODOSEVIOLAELCRITERIODEEQUI
LIBRIOYSEDEBEREESTRUCTURARELÈRBOL3EAPUNTACON./$/LACLAVEYCON./$/
LARAMADERECHADE./$/3EVERIlCAEL&%DE./$/YCOMOÏSTEESIGUALA SE
REALIZALAROTACIØN$$,UEGODELREACOMODO ELÈRBOLQUEDACOMOENELDIAGRAMAC
 Ç3#0-&4#"-"/$&"%04 233

!LELIMINARLACLAVESURGENUEVAMENTEELTERCERCASODEELIMINACIØN QUECORRES
PONDEAUNACLAVECONDOSDESCENDIENTESDIAGRAMAD 3ESUSTITUYEDICHACLAVEPOREL
NODOQUESEENCUENTRAMÈSALADERECHAENELSUBÈRBOLIZQUIERDO ,UEGODELASUS
TITUCIØN ELÈRBOLQUEDACOMOSEPRESENTAENELDIAGRAMAD%SEVIDENTEQUE DESPUÏS
DELASUSTITUCIØN ENELNODOCONLACLAVESEVIOLAELCRITERIODEEQUILIBRIOYSEDEBE
REESTRUCTURARELÈRBOL3EAPUNTACON./$/LACLAVEYCON./$/LARAMAIZQUIERDA
DE./$/YSEVERIlCAEL&%#OMOENESTECASOESIGUALA SEAPUNTACON./$/
LARAMADERECHADE./$/YSEREALIZALAROTACIØN)$,UEGODELAREESTRUCTURACIØN EL
ÈRBOLQUEDACOMOELPRESENTADOENELDIAGRAMAD 

,UEGODELAELIMINACIØNDELASCLAVES ELÈRBOLQUEDACOMOENELDIAGRAMAE
234
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

,AELIMINACIØNDELACLAVECORRESPONDEALPRIMERCASODEBORRADOENÈRBOLES ESEL
CASOMÈSSIMPLEDIAGRAMAF 3INEMBARGO ALVERIlCAREL&%DELACLAVESEADVIERTEQUE
SEROMPEELEQUILIBRIODELÈRBOLYSEDEBEREESTRUCTURARDIAGRAMAF 3EAPUNTACON./$/
LACLAVEYCON./$/LARAMADERECHADE./$/ YSEVERIlCAEL&%DE./$/#OMO
ÏSTEESIGUALAn SEAPUNTACON./$/LARAMAIZQUIERDADE./$/YSEREALIZALAROTA
CIØN$),UEGODELAREESTRUCTURACIØN ELÈRBOLQUEDACOMOENELDIAGRAMAF
/BSERVE CUIDADOSAMENTE QUE LUEGO DE REALIZAR LA ELIMINACIØN DE UN ELEMENTO Y
CUANDOSEREGRESAPORELCAMINODEBÞSQUEDA EL&%DELNODOVISITADODISMINUYEEN
SILAELIMINACIØNSEHIZOPORSURAMADERECHAYSEINCREMENTAENSILAELIMINACIØNSE
HIZOPORSURAMAIZQUIERDA

%JEMPLO $ADOELÈRBOLBALANCEADODELAlGURAA VERIlQUESIELMISMOQUEDAIGUALALDELA


lGURABLUEGODEELIMINARLASSIGUIENTESCLAVES

       

&)'52!
%LIMINACIØNENÉRBOLES
BALANCEADOSA !NTES
DEELIMINARLASCLAVESB
$ESPUÏSDEELIMINARLAS
CLAVES
 Ç3#0-&4#"-"/$&"%04 235

#ONELlNDEDARLEMAYORMODULARIDADALALGORITMODEELIMINACIØNENÈRBOLESBA
LANCEADOS SEESTUDIARÈNDOSALGORITMOSAUXILIARES%LPRIMERO 2EESTRUCTURA?IZQ SE
UTILIZACUANDOLAALTURADELARAMAIZQUIERDAHADISMINUIDO%LSEGUNDO 2EESTRUCTU
RA?DER SEEMPLEACUANDOLAALTURADELARAMADERECHAHADISMINUIDO

!LGORITMO 2EESTRUCTURA?IZQ

2EESTRUCTURA?IZQ./$/ "/

[%STEALGORITMOREESTRUCTURAELÈRBOLCUANDOLAALTURADELARAMAIZQUIERDAHADISMINUIDOYEL
&%DE./$/ESIGUALA./$/ESUNPARÈMETROPORREFERENCIADETIPOPUNTERO"/ESUN
PARÈMETRODETIPOBOOLEANO TAMBIÏNPORREFERENCIA"/SEUTILIZAPARAINDICARQUELAALTURADE
LARAMAIZQUIERDAHADISMINUIDO]
[./$/Y./$/SONVARIABLESAUXILIARESDETIPOPUNTERO]

 3I"/6%2$!$%2/
ENTONCES
 3I./$/>&%
n(ACER./$/>&%←
(ACER./$/>&%←Y"/←&!,3/
[2EESTRUCTURACIØNDELÈRBOL]
(ACER./$/←./$/>$%2
 3I./$/>&%≥
ENTONCES[2OTACIØN$$]
(ACER./$/>$%2←./$/>):1Y./$/>):1←./$/
 3I./$/>&%
(ACER./$/>&%← ./$/>&%←nY
"/←&!,3/
(ACER./$/>&%←Y./$/>&%←
 [&INDELCONDICIONAL]
(ACER./$/←./$/
[4ERMINALAROTACIØN$$]
SINO[2OTACIØN$)]
(ACER./$/←./$/>):1 ./$/>$%2←./$/>):1
./$/>):1←./$/ ./$/>):1←./$/>$%2Y
./$/>$%2←./$/
 3I./$/>&%
ENTONCES
(ACER./$/>&%←n
SINO
(ACER./$/>&%←
 [&INDELCONDICIONAL]
 3I./$/>&%n
ENTONCES
(ACER./$/>&%←
SINO
(ACER./$/>&%←
236
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

 [&INDELCONDICIONAL]
(ACER./$/←./$/Y./$/>&%←
[4ERMINALAROTACIØN$)]
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]

!LGORITMO 2EESTRUCTURA?DER

2EESTRUCTURA?DER

[%STEALGORITMOREESTRUCTURAELÈRBOLCUANDOLAALTURADELARAMADERECHAHADISMINUIDOYEL
&%DE./$/ESIGUALAn./$/ESUNPARÈMETRO PORREFERENCIA DETIPOPUNTERO"/ESUN
PARÈMETRODETIPOBOOLEANO TAMBIÏNPORREFERENCIA"/SEUTILIZAPARAINDICARQUELAALTURADE
LARAMADERECHAHADISMINUIDO]
[./$/Y./$/SONVARIABLESAUXILIARESDETIPOPUNTERO]

 3I"/6%2$!$%2/ ENTONCES


 3I./$/>&%
(ACER./$/>&%←
(ACER./$/>&%←nY"/←&!,3/
n[2EESTRUCTURACIØNDELÈRBOL]
(ACER./$/←./$/>):1
 3I./$/>&%≤
ENTONCES[2OTACIØN))
(ACER./$/>):1←./$/>$%2Y./$/>$%2←./$/
 3I./$/>&%
(ACER./$/>&%←n ./$/>&%←Y
"/←&!,3/
n(ACER./$/>&%←Y./$/>&%←
 [&INDELCONDICIONALDELPASO]
(ACER./$/←./$/
[4ERMINALAROTACIØN))]
SINO[2OTACIØN)$
(ACER./$/←./$/>$%2 ./$/>):1←./$/>$%2
./$/>$%2←./$/ ./$/>$%2←./$/>):1Y
./$/>):1←./$/
 3I./$/>&%n
ENTONCES
(ACER./$/>&%←
SINO
(ACER./$/>&%←
 [&INDELCONDICIONALDELPASO]
 3I./$/>&%
ENTONCES
(ACER./$/>&%←n
 Ç3#0-&4#"-"/$&"%04 237

SINO
(ACER./$/>&%←
 [&INDELCONDICIONALDELPASO]
(ACER./$/←./$/Y./$/>&%←
[4ERMINALAROTACIØN)$
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]

!CONTINUACIØNSEPRESENTAELALGORITMODEELIMINACIØNENÈRBOLESBALANCEADOS EL
CUALHARÈUSODELOSPREVIAMENTEEXPLICADOS

!LGORITMO %LIMINA?BALANCEADO

%LIMINA?BALANCEADO./$/ "/ ).&/2

[%LALGORITMOELIMINAUNELEMENTOENUNÈRBOLBALANCEADO5TILIZADOSALGORITMOSAUXILIARES
2EESTRUCTURA?IZQY2EESTRUCTURA?DER./$/ESUNPARÈMETROPORREFERENCIADETIPOPUNTERO
"/ESUNPARÈMETRODETIPOBOOLEANO TAMBIÏNPORREFERENCIA YSEUTILIZAPARAINDICARQUELA
ALTURADELÈRBOLHADISMINUIDO SUVALORINICIALES&!,3/).&/2ESUNPARÈMETRODETIPO
ENTEROQUECONTIENELAINFORMACIØNDELELEMENTOQUESEQUIEREELIMINAR]
[/42/ !58 !58SONVARIABLESAUXILIARESDETIPOPUNTERO"//,ESUNAVARIABLEDETIPO
BOOLEANO]

 3I./$/≠.),
ENTONCES
 3I).&/2./$/>).&/
ENTONCES
2EGRESARA%LIMINA?BALANCEADOCON./$/>):1 "/E).&/2
,LAMARALALGORITMO2EESTRUCTURA?IZQCON./$/Y"/
SINO
 3I).&/2./$/>).&/
ENTONCES
2EGRESARA%LIMINA?BALANCEADOCON./$/>$%2 "/E).&/2
,LAMARALALGORITMO2EESTRUCTURA?DERCON./$/Y"/
SINO
(ACER/42/←./$/Y"/←6%2$!$%2/
 3I/42/>$%2.),
ENTONCES
(ACER./$/←/42/>):1
SINO
 3I/42/>):1.),
ENTONCES
(ACER./$/←/42/>$%2
SINO
238
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

(ACER!58←./$/>):1Y"//,←&!,3/
! -IENTRAS!58>$%2≠.), 2EPETIR
(ACER!58←!58 !58←!58>$%2
Y"//,←6%2$!$%2/
" [&INDELCICLODELPASO!]
(ACER./$/>).&/←!58>).&/Y
/42/←!58
# 3I"//,6%2$!$%2/
ENTONCES
(ACER!58>$%2←!58>):1
SINO
(ACER./$/>):1←!58>):1
$ [&INDELCONDICIONALDELPASO#]
,LAMARALALGORITMO2EESTRUCTURA?DER
CON./$/>):1Y"/
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]
1UITAR/42/ [,IBERALAMEMORIADELNODO]
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]
SINO
%SCRIBIRh,AINFORMACIØNNOSEENCUENTRAENELÈRBOLv
 [&INDELCONDICIONALDELPASO]

%L ANÈLISIS MATEMÈTICO DE LOS ALGORITMOS DE INSERCIØN ˆ)NSERTA?BALANCEADOˆ Y


ELIMINACIØNˆ%LIMINA?BALANCEADOˆDEMUESTRAQUEESPOSIBLEBUSCAR INSERTARYELI
MINARUNELEMENTOENUNÈRBOLBALANCEADODENNODOSEN/LOGN UNIDADESDETIEMPO
0OROTRAPARTE DIVERSOSANÈLISISDEMUESTRANQUESONMÈSFRECUENTESLASROTACIONESEN
LAS OPERACIONES DE INSERCIØN QUE EN LAS DE ELIMINACIØN YA QUE MIENTRAS SE PRODUCE
APROXIMADAMENTEUNAROTACIØNPORCADADOSINSERCIONES SEPRODUCEUNAROTACIØNPOR
CADACINCOELIMINACIONES

%JEMPLO 3UPONGAMOSQUESEDESEAELIMINARLACLAVE
DELÈRBOLBALANCEADODELAlGURA

&)'52!
­RBOLBALANCEADO
 Ç3#0-&4#"-"/$&"%04 239

,ASOPERACIONESQUESEREALIZANSONLASSIGUIENTES
240
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

/BSERVEELLECTORQUEALELIMINARLACLAVESEDESBALANCEAELÈRBOLYDEBEMOS
EFECTUARLAROTACIØN))3INEMBARGO LUEGODEBALANCEARYMODIlCARELFACTORDEEQUI
LIBRIODELNODOQUEALMACENALACLAVENOSDAMOSCUENTAQUEDEBEMOSEFECTUARUN
NUEVOBALANCEO AHORAUNAROTACIØN$$²STEESUNTÓPICOCASODONDEALELIMINARUNA
CLAVESEPRODUCEUNACADENADEBALANCEOS

 ­2"/,%3-5,4)#!-)./3
,OSDIFERENTESTIPOSDEÈRBOLESBINARIOSESTUDIADOSHASTAELMOMENTOFUERONDESARRO
LLADOSPARAFUNCIONARENLAMEMORIAPRINCIPALDELACOMPUTADORA3INEMBARGO EXISTEN
MUCHAS APLICACIONES EN LAS QUE EL VOLUMEN DE INFORMACIØN ES TAL QUE LOS DATOS NO
CABENENLAMEMORIAPRINCIPALYESNECESARIOALMACENARLOS ORGANIZADOSENARCHIVOS
ENDISPOSITIVOSDEALMACENAMIENTOSECUNDARIO%STAORGANIZACIØNDEARCHIVOSDEBESER
SUlCIENTEMENTEADECUADACOMOPARARECUPERARLOSDATOSENFORMAElCIENTE
 Ç3#0-&4.6-5*$".*/04 241

%SIMPORTANTERECORDARQUEELTIEMPONECESARIOPARALOCALIZARUNREGISTROENLAME
MORIAPRINCIPALDELACOMPUTADORASEMIDEENMICROSEGUNDOS MIENTRASQUEELTIEMPO
NECESARIOPARALOCALIZARUNAPÈGINACONTIENEVARIOSREGISTROS ENMEMORIASECUNDARIA
POREJEMPLODISCO SEMIDEENMILISEGUNDOS%LTIEMPODEACCESO CLAROESTÈ ESMILESDE
VECESMÈSRÈPIDOENLAMEMORIAPRINCIPALQUEENLAMEMORIASECUNDARIA
#ONSIDERE EL CASO DE ALMACENAR UN ÈRBOL BINARIO EN DISCO 3E NECESITARÈ EN PRO
MEDIO PARALOCALIZARALGUNODELOSNODOS LOGDNACCESOSADISCO DONDENREPRESENTA
ELNÞMERODENODOSDELÈRBOLYDELORDENDELMISMO QUEENESTECASOESIGUALA0OR
EJEMPLOSIELÈRBOLCONTIENEDEELEMENTOS SENECESITARÓANAPROXIMADAMENTE
ACCESOSADISCO!HORABIEN SIELÈRBOLESTÈORGANIZADOENPÈGINASˆNODOSˆ DETAL
MANERAQUECADAPÈGINACONTENGACOMOMÓNIMOELEMENTOS ENTONCESSENECESITA
RÓANCOMOMÈXIMOTRESACCESOSADISCOLOG .OTEELLECTORQUELOSACCESOS
ADISCODISMINUYENDEMODOCONSIDERABLE
%XISTENDIFERENTESTÏCNICASPARALAORGANIZACIØNDEARCHIVOSINDIZADOS SINEMBARGO
LAORGANIZACIØNENÈRBOLES "YESPECÓlCAMENTESUVARIANTE LAORGANIZACIØNENÈRBOLES
" ESLAMÈSUTILIZADA

 ­RBOLES "


,OS ÈRBOLES " SON UNA GENERALIZACIØN DE LOS ÈRBOLES BALANCEADOS ²STOS REPRESENTAN
BÈSICAMENTEUNMÏTODOPARAALMACENARYRECUPERARINFORMACIØNENMEDIOSEXTERNOS
&UERON PROPUESTOS POR "AYER Y -C#REIGHT EN  3U NOMBRE ÈRBOLES " NUNCA FUE
EXPLICADOPORLOSAUTORES AUNQUEMUCHOSSOSTIENENQUE"PROVIENEDE"AYER UNODE
SUSINVENTORES
%NESTETIPODEÈRBOLES UNGRUPODENODOSRECIBEELNOMBREDEPÈGINA%NCADA
PÈGINASEALMACENALAINFORMACIØNDEUNGRUPODENODOSYSEIDENTIlCAPORMEDIODE
UNACLAVEOLLAVE
%NGENERALCADAPÈGINADEUNÈRBOL"DEORDENDCONTIENEDCLAVESCOMOMÈXIMO
YDCLAVESCOMOMÓNIMO#ONESTOSEGARANTIZAQUECADAPÈGINAESTÏLLENACOMOMÓNI
MOHASTALAMITAD2ESPECTOALNÞMERODEDESCENDIENTES CADAPÈGINADEUNÈRBOL "DE
ORDENDTIENED HIJOSCOMOMÈXIMOYD HIJOSCOMOMÓNIMO EXCEPTOLAPÈGINA
RAÓZQUEPUEDECONTENERCOMOMÓNIMODATOYPORCONSIGUIENTESOLAMENTEHIJOS,AS
PÈGINASENGENERALSONALMACENADASENDISPOSITIVOSDEALMACENAMIENTOSECUNDARIO A
EXCEPCIØNDELAPÈGINARAÓZQUEESCONVENIENTEMANTENERLAENMEMORIAPRINCIPAL#ABE
MENCIONAR QUEBÈSICAMENTEPORCUESTIONESDEESPACIO ENLOSEJEMPLOSYlGURAS EN
CADANODOSEALMACENASOLAMENTEUNDATO LACLAVECONLACUALVAMOSATRABAJAR%NLA
lGURASEPRESENTAUNDIAGRAMACORRESPONDIENTEAUNÈRBOL "DEORDEN

&)'52!
­RBOL "DEORDEN
242
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

%NLAlGURASEOBSERVAUNAPÈGINADEUNÈRBOL "DEORDEND CONDCLAVESY


D HIJOS

&)'52!
0ÉGINADEUNÉRBOL "DE
ORDEND

&ORMALMENTEUNÈRBOL "SEDElNEDELASIGUIENTEMANERA

 #ADAPÈGINA EXCEPTOLARAÓZ CONTIENEENTREDYDELEMENTOS SIENDODELGRADODEL


ÈRBOL
 ,ARAÓZPUEDEALMACENARENTREYDELEMENTOS
 #ADAPÈGINA EXCEPTOLAPÈGINARAÓZYLASPÈGINASHOJA TIENEENTRED YD 
DESCENDIENTES3EUTILIZARÈMPARAEXPRESARELNÞMERODEELEMENTOSPORPÈGINA
 ,APÈGINARAÓZTIENEALMENOSDOSDESCENDIENTES
 ,ASPÈGINASHOJAESTÈNTODASALMISMONIVEL

%JEMPLO ,UEGODEANALIZARELÈRBOL "DELAlGURASEPUEDEAlRMARLOSIGUIENTERESPECTOA


ÏSTE

&)'52!
­RBOL "DEORDEN

◗ /RDENDELÈRBOL
◗ !LTURADELÈRBOL
◗ 4ODASLASPÈGINASCONTIENEN OELEMENTOS EXCEPTOLARAÓZQUECONTIENE
◗ ,OSELEMENTOSDENTRODELAPÈGINASEENCUENTRANORDENADOSENFORMACRECIENTE DE
IZQUIERDAADERECHA
◗ 4ODASLASHOJASESTÈNALMISMONIVEL
◗ 4ODASLASPÈGINASTIENENODESCENDIENTES

"ÞSQUEDAENÉRBOLES "
%LPROCESODEBÞSQUEDAENÈRBOLES "ESUNAGENERALIZACIØNDELPROCESODEBÞSQUEDA
EN ÈRBOLES BINARIOS DE BÞSQUEDA ,OS PASOS NECESARIOS PARA LOCALIZAR UNA CLAVE 8 EN
UNÈRBOL "SONLOSQUESEPRESENTANACONTINUACIØN3EUTILIZA.),PARAINDICARQUELA
PÈGINAESTÈVACÓA
 Ç3#0-&4.6-5*$".*/04 243

 3EDEBETENERENMEMORIALAPÈGINASOBRELACUALSEQUIERETRABAJAR
 3IPÈGINA≠.),
ENTONCES
3EAVANZAHACIAELPASO

SINO
3EAVANZAHACIAELPASO
 [&INDELCONDICIONALDELPASO]
 3EDEBEVERIlCARSILACLAVEBUSCADASEENCUENTRAENDICHAPÈGINA3IMESPEQUE×A
SEUTILIZARÈBÞSQUEDASECUENCIAL DEOTRAMANERASEPODRÈUTILIZARBÞSQUEDABINARIA
 3ILACLAVESEENCUENTRAENLAPÈGINA
ENTONCES [,AOPERACIØNDEBÞSQUEDACONCLUYECUANDOSEENCUENTRA
_²8)4/ELDATOENLAPÈGINAVISITADA]
SINO
3EDEBENDISTINGUIRLOSSIGUIENTESCASOS
3I8#, ENTONCES
3EDEBELOCALIZAR0!'
3I#,I8#,M ENTONCES
3EDEBELOCALIZAR0!'I
3I8#,M ENTONCES
3EDEBELOCALIZAR0!'M
 [&INDELCONDICIONALDELPASO]
 2EGRESARALPASO
.OTA3EUTILIZAELTÏRMINO#,PARAHACERREFERENCIAALASCLAVESDEUNADETER
MINADAPÈGINA 8PARAINDICARLACLAVEQUESEBUSCAY0!'PARAEXPRESARLA
PÈGINAQUEDEBELOCALIZARSEENMEMORIASECUNDARIA
 _&2!#!3/,APÈGINAQUESEDESEALOCALIZARESTÈVACÓA PORLOTANTOELPROCESO
DEBÞSQUEDASEINTERRUMPEYSEINFORMAQUELACLAVENOSEENCUENTRAALMACENADA
ENELÈRBOL

)NSERCIØNENÉRBOLES "
%LPROCESODEINSERCIØNENÈRBOLES "ESRELATIVAMENTESENCILLO AUNQUEREQUIERECIERTO
TRATAMIENTOESPECIALDEBIDOALASCARACTERÓSTICASPROPIASDEESTOSÈRBOLES,OSÈRBOLES "
TIENENUNCOMPORTAMIENTOTÓPICO DIFERENTEALRESTODELOSÈRBOLESESTUDIADOSANTERIORMEN
TE4ODASLASHOJASESTÈNALMISMONIVELYPORLOTANTOCUALQUIERCAMINODESDELARAÓZHASTA
ALGUNADELASHOJASTIENELAMISMALONGITUD0OROTRAPARTE LOSÈRBOLES "TIENENUNAFORMA
EXTRA×ADECRECER LOHACENDEABAJOHACIAARRIBA ESDECIR DESDELASHOJASHACIALARAÓZ,OS
PASOSPARALLEVARACABOLAINSERCIØNDEUNNODOENUNÈRBOL "SONLOSSIGUIENTES

 ,OCALIZARLAPÈGINADONDECORRESPONDEˆPORELVALOR PARANOALTERARELORDENˆ


INSERTARLACLAVE
 3IMD [%LNÞMERODEELEMENTOSDELAPÈGINAESMENORAD]
244
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

ENTONCES
,ACLAVESEINSERTAENELLUGARQUELECORRESPONDE
[%NLAlGURASEPRESENTAUNEJEMPLODEESTECASO]
SINO[%LNÞMERODEELEMENTOSDELAPÈGINAESIGUALAD]
,APÈGINAAFECTADASEDIVIDEENYSEDISTRIBUYENLASM 
CLAVESEQUITATIVAMENTEENTRELASMISMAS,ACLAVEDELMEDIOSUBE
ALAPÈGINAANTECESORA
[%NLAlGURASEPRESENTAUNEJEMPLODEESTECASO]
 [&INDELCONDICIONALDELPASO]

,OS PASOS ANTERIORES SE REPITEN MIENTRAS SEA NECESARIO 3I ALGUNA DE LAS PÈGINAS
ANTECESORASSEDESBORDANUEVAMENTE ENTONCESHAYQUEORDENARLASCLAVESENLAPÈGINA
APLICARPARTICIØNYLACLAVEDELMEDIOSUBEALAPÈGINAANTECESORA%LPROCESODEPROPA
GACIØNPUEDELLEGARINCLUSOHASTALARAÓZ ENDICHOCASOLAALTURADELÈRBOLSEINCREMENTA
ENUNAUNIDAD
[%NLAlGURASEPRESENTAUNEJEMPLODEESTECASO]

&)'52!
)NSERCIØNDELACLAVEEN
UNÉRBOL "A !NTESDEIN
SERTARLACLAVEB $ESPUÏS
DEINSERTARLACLAVE

&)'52!
)NSERCIØNDELACLAVEENUNÉRBOL "A !NTESDEINSERTARLACLAVEB $ESPUÏS
DEINSERTARLA
.OTA/BSERVEELLECTORQUELAINSERCIØNDELACLAVEPROVOCØLADIVISIØNDELAPÉGINA!ENDOS
PÉGINAS"Y#,ASCLAVESSEDISTRIBUYERONEQUITATIVAMENTEENTRELASPÉGINASCITADASYLACLAVEDEL
MEDIO SUBIØALAPÉGINAANTECESORA
 Ç3#0-&4.6-5*$".*/04 245

&)'52!
)NSERCIØNDELACLAVEEN
UNÉRBOL "A !NTESDEIN
SERTARLACLAVEB $ESPUÏS
DEINSERTARLA
.OTA/BSERVEELLECTORQUELA
INSERCIØNDELACLAVEPROVO
CØLADIVISIØNDELAPÉGINA!EN
DOSPÉGINAS"Y#3INEMBAR
GO ALSUBIRLACLAVEDELMEDIO
 SEPRODUJOUNNUEVO
DESBORDAMIENTOQUEORIGINØ
LAPARTICIØNDELAPÉGINA$
ENLASPÉGINAS%Y&,ACLAVE
FORMAAHORAPARTEDEUNA
NUEVAPÉGINA' YREPRESENTA
LARAÓZDELÉRBOL

%JEMPLO 3UPONGAMOSQUESEDESEAINSERTARLASSIGUIENTESCLAVESENUNÈRBOL "DEORDENQUESE


ENCUENTRAVACÓO

                

,OSRESULTADOSPARCIALESQUEILUSTRANELCRECIMIENTODELÈRBOLSEPRESENTANENLOS
DIAGRAMASDELAlGURA

&)'52!
)NSERCIONESENUNÉRBOL "
DEORDEN
246
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

&)'52!
CONTINUACIØN
 Ç3#0-&4.6-5*$".*/04 247

&)'52!
CONTINUACIØN

%JEMPLO $ADOCOMODATOELÈRBOL "DEORDENDELAlGURAA VERIlQUESIELMISMOQUEDA


IGUALALDELAlGURABLUEGODEINSERTARLASSIGUIENTESCLAVES

           

&)'52!
)NSERCIØNENUNÉRBOL "DE
ORDENA !NTESDEINSER
TARLASCLAVESB $ESPUÏS
DEINSERTARLASCLAVES
248
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

%LIMINACIØNENÉRBOLES "
,AOPERACIØNDEELIMINACIØNENÈRBOLES "ESUNAOPERACIØNMÈSCOMPLICADAQUELA
INSERCIØN#ONSISTEENQUITARUNACLAVEDELÈRBOLSINVIOLARLACONDICIØNDEQUEENUNA
PÈGINA EXCEPTOLARAÓZ NOPUEDEHABERMENOSDEDCLAVESNIMÈSDEDCLAVES SIENDOD
ELORDENDELÈRBOL%NLAOPERACIØNDEBORRADOSEDEBENDISTINGUIRLOSSIGUIENTESCASOS

 3ILACLAVEAELIMINARSEENCUENTRAENUNAPÈGINAHOJAENTONCESSIMPLEMENTESE
SUPRIME
 3IM≥D
[3EVERIlCAQUEELNÞMERODEELEMENTOSENLAPÈGINASEAVÈLIDO]
ENTONCES
4ERMINALAOPERACIØNDEBORRADO
[3EPRESENTAUNEJEMPLODEESTECASOENLAlGURA]
SINO
3EDEBEBAJARLACLAVELEXICOGRÈlCAMENTEADYACENTEDELA
PÈGINAANTECESORAYSUSTITUIRESTACLAVEPORLAQUESE
ENCUENTREMÈSALADERECHAENELSUBÈRBOLIZQUIERDOOPORLA
QUESEENCUENTREMÈSALAIZQUIERDAENELSUBÈRBOLDERECHO
#ONESTEPASOSELOGRAQUEM ENESTAPÈGINA SIGA
SIENDO≥D
[3EPRESENTAUNEJEMPLOENLASlGURASAYB]
3IESTONOESPOSIBLE PORLASMDELASPÈGINAS
INVOLUCRADAS SEDEBENFUSIONARLASPÈGINASQUESON
DESCENDIENTESDIRECTASDELACLAVEQUESEBAJA
[3EPRESENTAUNEJEMPLODEESTECASOENLASlGURASCYD]
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]
 3ILACLAVEAELIMINARNOSEENCUENTRAENUNAPÈGINAHOJAENTONCES
3EDEBESUSTITUIRPORLACLAVEQUESEENCUENTRAMÈSALAIZQUIERDA
ENELSUBÈRBOLDERECHOOPORLACLAVEQUESEENCUENTRAMÈSALA
DERECHAENELSUBÈRBOLIZQUIERDO
 3IM≥D
[3EVERIlCAQUEELNÞMERODEELEMENTOSENLAPÈGINASEAVÈLIDO]

&)'52!
%LIMINACIØNDELACLAVE
ENUNÉRBOL "DEORDEN
A !NTESDEELIMINARLA
CLAVEB $ESPUÏSDEELI
MINARLA
 Ç3#0-&4.6-5*$".*/04 249

ENTONCES
4ERMINALAOPERACIØNDEBORRADO
[3EPRESENTAUNEJEMPLODEESTECASOENLAlGURA]
SINO
3EDEBEBAJARLACLAVELEXICOGRÈlCAMENTEADYACENTEDELA
PÈGINAANTECESORAYFUSIONARLASPÈGINASQUESON
DESCENDIENTESDIRECTASDEDICHACLAVE
[%NLAlGURASEPRESENTAUNEJEMPLODEESTECASO]
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]

#ABEACLARARQUEELPROCESODEFUSIØNDEPÈGINASSEPUEDEPROPAGARINCLUSOHASTA
LARAÓZ ENCUYOCASOLAALTURADELÈRBOLDISMINUYEENUNAUNIDAD%NLAlGURASE
PRESENTANDOSEJEMPLOSDEESTECASO

&)'52!
%LIMINACIØNDELASCLAVES
YENUNÉRBOL "DE
ORDENA !NTESDEELIMI
NARLACLAVEB $ESPUÏS
DEELIMINARLAC !NTESDE
ELIMINARLACLAVE
D $ESPUÏSDEELIMINARLA
.OTAS!LELIMINARLACLAVE
DELAPÉGINA! BAJALACLAVE
DELAPÉGINAANTECESORAY
ÏSTAESSUSTITUIDAPORLAQUESE
ENCUENTRAMÉSALAIZQUIERDA
ENLAPÉGINADERECHAESDECIR
LACLAVEDELAPÉGINA"
!LELIMINARLACLAVEDELA
PÉGINA! BAJALACLAVEDELA
PÉGINAANTECESORAYSEFUSIO
NANLASPÉGINAS!Y"

&)'52!
%LIMINACIØNDELACLAVE
ENUNÉRBOL "DEORDEN
A !NTESDEELIMINARLA
CLAVEB $ESPUÏSDEELI
MINARLA
.OTA!LELIMINARLACLAVE
SESUSTITUYEPORLACLAVEQUESE
ENCUENTRAMÉSALAIZQUIERDA
ENELSUBÉRBOLDERECHO 
250
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

&)'52!
%LIMINACIØNDELACLAVE
ENUNÉRBOL "DEORDEN
A !NTESDEELIMINARLA
CLAVEB $ESPUÏSDEELI
MINARLA
.OTA!LELIMINARLACLAVE
SESUSTITUYEPORLACLAVEQUESE
ENCUENTRAMÉSALADERECHAEN
ELSUBÉRBOLIZQUIERDO 3IN
EMBARGO ALSUBIRLACLAVE
ENLAPÉGINA! MQUEDAMENOR
QUED PORLOQUEESNECESARIO
REALIZARUNAFUSIØN"AJALACLA
VECORRESPONDIENTEALAPÉGINA
ANTECESORANUEVAMENTE Y
SEFUSIONANLASPÉGINAS!Y"

&)'52!
%LIMINACIØNDELASCLAVES
YENUNÉRBOL "DE
ORDENA !NTESDEELIMI
NARLACLAVEB $ESPUÏS
DEELIMINARLA
.OTA!LELIMINARLACLAVE
DELAPÉGINA! MQUEDAMENOR
AD PORLOQUEESNECESARIO
BAJARLACLAVEDELAPÉGINA
ANTECESORA PRODUCIÏNDOSELA
FUSIØNDELASPÉGINAS!Y"3IN
EMBARGO ENLAPÉGINA#NUE
VAMENTEMQUEDAMENORAD
PORLOQUEESNECESARIOBAJARLA
CLAVEDELAPÉGINA%#OMO
ESTAPÉGINAQUEDAVACÓA ES
NECESARIAENTONCESUNANUEVA
FUSIØN AHORADELASPÉGINAS#
Y$,AALTURADELÉRBOLDISMI
NUYEENUNAUNIDAD
 Ç3#0-&4.6-5*$".*/04 251

&)'52!
CONTINUACIØN
C !NTESDEELIMINARLA
CLAVED $ESPUÏSDE
ELIMINARLA
.OTA!LELIMINARLACLAVE
DELAPÉGINA! SESUSTITUYEPOR
LACLAVEQUESEENCUENTRAMÉS
ALADERECHAENELSUBÉRBOL
IZQUIERDODELAPÉGINA" 
3INEMBARGO ENLAPÉGINA" M
QUEDAMENORQUED PORLOQUE
ESNECESARIOBAJARLACLAVE
DELAPÉGINA$PRODUCIÏNDOSE
LAFUSIØNDELASPÉGINAS"Y
#.UEVAMENTEENLAPÉGINA
$ MQUEDAMENORAD PORLO
QUEAHORAESNECESARIOBAJAR
LACLAVEDELAPÉGINA!
#OMOESTAPÉGINAQUEDAVACÓA
ENTONCESNECESITAREALIZARSE
UNAFUSIØNDELASPÉGINAS$Y
%,AALTURADELÉRBOLDISMINUYE
ENUNAUNIDAD

%JEMPLO 3UPONGAMOSQUESEDESEAELIMINARLASSIGUIENTESCLAVESDELÈRBOL "DEORDENDELA


lGURA

&)'52!
­RBOL "DEORDEN

            

,OSRESULTADOSPARCIALESQUEILUSTRANCØMOFUNCIONAELPROCEDIMIENTOSEPRESENTAN
ENLOSDIAGRAMASDELAlGURA
252
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

&)'52!
%LIMINACIONESENUN
ÉRBOL "DEORDEN
 Ç3#0-&4.6-5*$".*/04 253

&)'52!
CONTINUACIØN

%JEMPLO $ADOCOMODATOELÈRBOL "DEORDENDELAlGURA VERIlQUESIELMISMOQUEDA


IGUALALDELAlGURA LUEGODEELIMINARLASSIGUIENTESCLAVES

   

&)'52!
­RBOL "DEORDENLUEGO
DEELIMINARLASCLAVES
 Y
254
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

%JEMPLO 3UPONGAMOSQUESEDESEAELIMINARLACLAVEDELÈRBOL "DEORDENDELAlGURA

&)'52!
­RBOL "DEORDEN

,ASOPERACIONESQUESEREALIZANSONLASSIGUIENTES
 Ç3#0-&4.6-5*$".*/04 255

.OTA!LELIMINARLACLAVEDELAPÈGINA! MQUEDAMENORAD PORLOQUEES


NECESARIOBAJARLACLAVEDELAPÈGINA# PRODUCIÏNDOSELAFUSIØNDELASPÈGINAS!Y
"3INEMBARGO ENLAPÈGINA#NUEVAMENTEMQUEDAMENORAD PORLOQUEESNECESARIO
BAJARLACLAVEDELAPÈGINA&!QUÓESDONDESEPRODUCEUNODELOSCASOSMÈSDIFÓCILES
DEBORRADOENÈRBOLES "%NLOSEJEMPLOSANTERIORESHACÓAMOSFUSIØNDELASPÈGINAS#
Y$ DISMINUYENDOLAALTURADELÈRBOL3INEMBARGO SIHICIÏRAMOSESTOMSERÓAMAYORA
D PORLOQUEVIOLARÓAMOSLOSPRINCIPIOSQUEDElNENUNÈRBOL "%SNECESARIOENTONCES
SUBIRLACLAVEDELAPÈGINA$ALAPÈGINA& YLAPÈGINA%PASAASERELHIJODERECHODE
LACLAVE AHORAENLAPÈGINA#

 ­RBOLES "


,OSÈRBOLES " SEHANCONVERTIDOENLATÏCNICAMÈSUTILIZADAPARALAORGANIZACIØNDEAR
CHIVOSINDIZADOS,APRINCIPALCARACTERÓSTICADEESTOSÈRBOLESESQUETODALAINFORMACIØN
SEENCUENTRAENLASHOJAS MIENTRASQUELOSNODOSRAÓZEINTERIORESALMACENANCLAVESQUE
SEUTILIZANCOMOÓNDICES$EBIDOAESTACARACTERÓSTICADELOSÈRBOLES " TODOSLOSCAMI
NOSDESDELARAÓZHASTACUALQUIERADELOSDATOSTIENENLAMISMALONGITUD%NLAlGURA
PRESENTAMOSUNDIAGRAMADEUNÈRBOL " DEORDEN
%SDENOTARQUELOSÈRBOLES " OCUPANUNPOCOMÈSDEESPACIOQUELOSÈRBOLES " Y
ESTOOCURREALEXISTIRDUPLICIDADENALGUNASCLAVES3INEMBARGO ESTOESACEPTABLESIEL
ARCHIVOSEMODIlCAFRECUENTEMENTE PUESTOQUESEEVITALAOPERACIØNDEREORGANIZACIØN
DELÈRBOLQUEESTANCOSTOSAENLOSÈRBOLES "
&ORMALMENTESEDElNEUNÈRBOL " DEORDENDDELASIGUIENTEMANERA

 #ADAPÈGINA EXCEPTOLARAÓZ CONTIENEMELEMENTOS DONDEMESUNVALORENTREDY


D
 ,ARAÓZCONTIENEDEADELEMENTOS
 #ADAPÈGINA EXCEPTOLARAÓZ TIENEENTRED YD DESCENDIENTES
 ,APÈGINARAÓZTIENEALMENOSDOSDESCENDIENTES
 ,ASPÈGINASHOJASESTÈNTODASALMISMONIVEL
 4ODALAINFORMACIØN CONLASCLAVESQUELASIDENTIlCAN SEENCUENTRAENLASPÈGINAS
HOJA
 ,ASCLAVESALMACENADASENLASPÈGINASRAÓZEINTERIORESSEUTILIZANCOMOÓNDICES

&)'52!
­RBOL " DEORDEN
256
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

"ÞSQUEDAENÉRBOLES "
,A OPERACIØN DE BÞSQUEDA EN ÈRBOLES " ES SIMILAR A LA OPERACIØN DE BÞSQUEDA EN
ÈRBOLES "%LPROCESOESSIMPLE SINEMBARGOPUEDESUCEDERQUEALBUSCARUNADETERMI
NADACLAVELAMISMASEENCUENTREENUNAPÈGINARAÓZOINTERIOR%NDICHOCASONOSEDEBE
DETENERELPROCESOPORQUEENLAPÈGINARAÓZOENLASINTERIORESSØLOSEALMACENANCLAVES
QUEFUNCIONANCOMOÓNDICES,ABÞSQUEDADEBECONTINUARENLAPÈGINAAPUNTADAPORLA
RAMADERECHADEDICHACLAVE
0OREJEMPLO ALBUSCARLACLAVEENELÈRBOL " DELAlGURASEADVIERTEQUE
ÏSTASEENCUENTRAENLAPÈGINARAÓZ%NESTECASO SEDEBECONTINUARELPROCESODEBÞS
QUEDAENLAPÈGINAAPUNTADAPORLARAMADERECHADEDICHACLAVE

)NSERCIØNENÉRBOLES "
%LPROCESODEINSERCIØNENÈRBOLES " ESRELATIVAMENTESIMPLE SIMILARALPROCESODE
INSERCIØNENÈRBOLES ",ADIlCULTADSEPRESENTACUANDOSEDESEAINSERTARUNACLAVEEN
UNAPÈGINAQUESEENCUENTRALLENAMD %NESTECASO LAPÈGINAAFECTADASEDIVIDE
EN DISTRIBUYÏNDOSELASM CLAVESDELASIGUIENTEFORMAhLASDPRIMERASCLAVESENLA
PÈGINADELAIZQUIERDAYLASD RESTANTESCLAVESENLAPÈGINADELADERECHAv5NACOPIA
DELACLAVEDELMEDIOSUBEALAPÈGINAANTECESORA
%NLAlGURASEMUESTRANDOSDIAGRAMASQUEILUSTRANCØMOFUNCIONAESTECASO
0UEDESUCEDERQUELAPÈGINAANTECESORASEDESBORDENUEVAMENTE ENDICHOCASOSEDEBE
REPETIRELPROCESOANTERIOR%SIMPORTANTENOTARQUEELDESBORDAMIENTOENUNAPÈGINA
QUENOESHOJANOPRODUCEDUPLICIDADDECLAVES%LPROCESODEPROPAGACIØNPUEDELLEGAR
HASTALARAÓZ ENCUYOCASOLAALTURADELÈRBOLSEPUEDEINCREMENTARENUNAUNIDAD

&)'52!
)NSERCIØNDELACLAVEENUNÉRBOL " A !NTESDEINSERTARLACLAVEB $ESPUÏSDEINSERTARLA
.OTA/BSERVEQUELAINSERCIØNDELACLAVEENLAPÉGINA!PRODUCESUDIVISIØNENDOSPÉGINAS"Y#,ASDPRIMERASCLAVESSEUBICANENLAPÉGINA"Y ,AS
D CLAVESRESTANTESENLAPÉGINA# Y 5NACOPIADELACLAVEDELMEDIO SUBEALAPÉGINAANTECESORA
 Ç3#0-&4.6-5*$".*/04 257

%NLAlGURASEPRESENTANDOSDIAGRAMASQUECLARIlCANYRESUELVENESTECASO

&)'52!
)NSERCIØNDELACLAVEENUNÉRBOL " A !NTESDEINSERTARLACLAVEB $ESPUÏSDEINSERTARLA
.OTA,AINSERCIØNDELACLAVEENLAPÉGINA!PROVOCØLADIVISIØNDEÏSTAENLASPÉGINAS"Y#3INEMBARGO ALSUBIRUNACOPIADELACLAVEDELMEDIO SEPRODUCE
UNNUEVODESBORDAMIENTOENLAPÉGINA$QUEPROVOCASUPARTICIØNENLASPÉGINAS%Y&,ACLAVEFORMAAHORAPARTEDELAPÉGINA'YREPRESENTALARAÓZDELÉRBOL,A
ALTURADELÉRBOLSEINCREMENTAENUNAUNIDAD

%JEMPLO 3UPONGAMOSQUESEDESEAINSERTARLASSIGUIENTESCLAVESENUNÈRBOL " DEORDENQUE


SEENCUENTRAVACÓO

         
      

,OSRESULTADOSPARCIALESQUEILUSTRANELCRECIMIENTODELÈRBOLSEPRESENTANENLOS
DIAGRAMASCORRESPONDIENTESALAlGURA
258
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

&)'52!
)NSERCIONESENUNÉRBOL "
DEORDEN
 Ç3#0-&4.6-5*$".*/04 259

&)'52!
CONTINUACIØN

%JEMPLO $ADOCOMODATOELÈRBOL " DEORDENDELAlGURAA VERIlQUESIELMISMOQUEDA


IGUALALDELAlGURAB LUEGODEINSERTARLASSIGUIENTESCLAVES

           

&)'52!
)NSERCIONESENUNÉRBOL "
DEORDENA !NTESDE
INSERTARLASCLAVES
B $ESPUÏSDEINSERTARLAS
260
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

%LIMINACIØNENÉRBOLES "
,AOPERACIØNDEELIMINACIØNENÈRBOLES " ESMÈSSIMPLEQUELAOPERACIØNDEBORRADO
ENÈRBOLES "%STOOCURREPORQUELASCLAVESQUESEDEBENELIMINARSIEMPRESEENCUENTRAN
ENLASPÈGINASHOJA%NGENERALSEDEBENDISTINGUIRLOSSIGUIENTESCASOS

 3IALELIMINARUNACLAVEMQUEDAMAYOROIGUALAD ENTONCESTERMINALAOPERACIØN


DEBORRADO,ASCLAVESDELASPÈGINASRAÓZOINTERNASNOSEMODIlCANPORMÈSQUE
SEANUNACOPIADELACLAVEELIMINADAENLASHOJAS3EPRESENTAUNEJEMPLODEESTE
CASOENLAlGURA
 3IALELIMINARUNACLAVEMQUEDAMENORAD ENTONCESSEDEBEREALIZARUNAREDISTRI
BUCIØNDECLAVES TANTOENELÓNDICECOMOENLASPÈGINASHOJAS#UANDOSECAMBIALA
ESTRUCTURADELÈRBOL SEQUITANAQUELLASCLAVESQUEQUEDARONENLOSNODOSINTERIORES
LUEGODEHABERELIMINADOSUCORRESPONDIENTEINFORMACIØNENLOSNODOSHOJA(AY
DOSEJEMPLOSQUEILUSTRANCØMOFUNCIONAESTECASOENLAlGURA

0UEDESUCEDERQUEALELIMINARUNACLAVEYALREALIZARUNAREDISTRIBUCIØNDELASMIS
MAS LAALTURADELÈRBOLDISMINUYAENUNAUNIDAD%NLAlGURASEPRESENTANDOS
DIAGRAMASQUECORRESPONDENAESTECASO

&)'52!
%LIMINACIØNDELACLAVE
DEUNÉRBOL " DEORDEN
A !NTESDEELIMINARLA
CLAVEB $ESPUÏSDEELI
MINARLA
.OTA!LELIMINARLACLAVE
DELAPÉGINA! LAPÉGINARAÓZ"
QUECONTIENECOMOÓNDICEALA
CLAVEELIMINADANOSEMODIlCA

&)'52!
%LIMINACIØNDELASCLAVES
YDEUNÉRBOL " DE
ORDENA !NTESDEELIMI
NARLACLAVEB $ESPUÏS
DEELIMINARLAC !NTESDE
ELIMINARLACLAVED
$ESPUÏSDEELIMINARLA
 Ç3#0-&4.6-5*$".*/04 261

&)'52!
CONTINUACIØN
.OTAS!LELIMINARLACLAVEDELAPÉGINA! MQUEDAMENORAD PORLOQUEDEBEREALIZARSEUNAREDISTRIBUCIØNDECLAVES3ETOMALACLAVEQUESEENCUENTRAMÉSALA
DERECHAENLARAMAIZQUIERDADEDELAPÉGINA" 3ECOLOCADICHACLAVEENLAPÉGINA!YUNACOPIADELAMISMA COMOÓNDICE ENLAPÉGINA#
!LELIMINARLACLAVEDELAPÉGINA! MQUEDAMENORAD PORLOQUEDEBEREALIZARSEUNAREDISTRIBUCIØNDECLAVES#OMONOSEPUEDETOMARUNACLAVEDELAPÉGINA"
PUESTOQUEMQUEDARÓAMENORAD ENTONCESSEREALIZAUNAFUSIØNDELASPÉGINAS!Y"

&)'52!
%LIMINACIØNDELACLAVE
ENUNÉRBOL " DEORDEN
A !NTESDEELIMINARLA
CLAVEB $ESPUÏSDEELI
MINARLA
.OTA!LELIMINARLACLAVE
DELAPÉGINA! MQUEDAMENOR
AD PORLOQUEDEBEREALIZARSE
UNAREDISTRIBUCIØNDECLAVES
#OMONOPUEDETOMARSEUNA
CLAVEDELAPÉGINA" PUESTO
QUEMQUEDARÓAMENORAD EN
TONCESSEREALIZAUNAFUSIØNDE
LASPÉGINAS!Y"3INEMBARGO
LUEGODEESTAFUSIØNMQUEDA
MENORADENLAPÉGINA# POR
LOQUEDEBEBAJARSELACLAVE
DELAPÉGINA%YREALIZARSEUNA
NUEVAFUSIØN AHORADELASPÉ
GINAS#Y%,AALTURADELÉRBOL
DISMINUYEENUNAUNIDAD
262
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

%JEMPLO 3UPONGAMOSQUESEDESEAELIMINARLASSIGUIENTESCLAVESDELÈRBOL " DEORDENDELA


lGURA

           

&)'52!
­RBOL " DEORDEN

,OSRESULTADOSPARCIALESQUEILUSTRANCØMOFUNCIONAELPROCEDIMIENTOSEPRESENTAN
ENLOSDIAGRAMASDELAlGURA

&)'52!
%LIMINACIONESENUN
ÉRBOL " DEORDEN
 Ç3#0-&4.6-5*$".*/04 263

&)'52!
CONTINUACIØN

%JEMPLO 6ERIlQUESIELÈRBOL " DEORDENDELAlGURAQUEDAIGUALALDELAlGURA LUEGO


DEELIMINARLASSIGUIENTESCLAVES

     

&)'52!
­RBOL " DEORDENLUEGO
DEELIMINARLASCLAVES
   Y
264
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

 ­RBOLES 
,OS ÈRBOLES   SON UNA VARIANTE DE LOS ÈRBOLES MULTICAMINOS ²STOS SE CARACTERIZAN
PORQUECADAUNODESUSNODOSPUEDETENERMÈXIMOHIJOSYTODOSLOSNODOSEXTERNOS
ˆHOJASˆESTÈNALMISMONIVEL%SDECIR ENESTOSÈRBOLESSEDEBEGARANTIZARELTAMA×O
YLAALTURADELOSMISMOS
#OMOENELCASODELOSÈRBOLESMULTICAMINOSANALIZADOSENLASSECCIONESPREVIAS
LASOPERACIONESDEINSERCIØNYELIMINACIØNPUEDENOCASIONAR RESPECTIVAMENTE LAPARTI
CIØNOFUSIØNDELOSNODOSCONELOBJETODEMANTENERLASPROPIEDADESENUNCIADAS$EBI
DOAQUESELLEVANACABODEMANERASIMILARALOPRESENTADO SEDEJAALLECTORELDESARROLLO
DELOSCORRESPONDIENTESALGORITMOS

 ,!#,!3%­2"/,

,ACLASE«RBOLTIENECOMOATRIBUTOALARAÓZDELAESTRUCTURAYCOMOMÏTODOSATODASLAS
OPERACIONESANALIZADAS SEGÞNELTIPODEÈRBOLQUESEESTÏREPRESENTANDO'RÈlCAMENTE
UNACLASE«RBOLˆPARAÈRBOLESBINARIOSˆSEPUEDEVERCOMOSEMUESTRAENLAlGURA
%NESTECASO LOSMÏTODOSPERMITENLLEVARACABOTODASLASOPERACIONESPRESENTADAS
PREVIAMENTELOSTRESTIPOSDERECORRIDOS BÞSQUEDA INSERCIØNYELIMINACIØN
3E TIENE ACCESO A LOS MIEMBROS DE UN OBJETO DE LA CLASE «RBOL POR MEDIO DE LA
NOTACIØNDEPUNTOS!SUMIENDOQUELAVARIABLE!2/"*ESUNOBJETODELACLASE«RBOL
PREVIAMENTECREADO SEPUEDEHACER
!2/"*2ECORRE?0REORDENARGUMENTO PARAINVOCARELMÏTODOQUEVISITACADAUNO
DE LOS NODOS DEL ÈRBOL SIGUIENDO EL RECORRIDO PREORDEN %N ESTE MÏTODO SE REQUIERE
COMOARGUMENTOUNPUNTEROALNODOAVISITARˆLAPRIMERAVEZESLARAÓZˆ YAQUEES
UNMÏTODORECURSIVO
!2/"*)NSERTAARGUMENTOS PARAINSERTARUNNUEVOELEMENTOENELÈRBOLBINARIO
%NESTEMÏTODOSEREQUIERENDOSARGUMENTOS UNOPARAELNODOAVISITARˆLAPRIMERAVEZ
ESLARAÓZˆYOTROPARAELDATOAINSERTAR

&)'52!
#LASE­RBOL
&+&3$*$*04 265

▼ %*%2#)#)/3

­RBOLESENGENERAL
Ê £° ,OSÈRBOLESSEPUEDENREPRESENTARDEDIFERENTESFORMAS$ADOELSIGUIENTEDIAGRAMA
DE6ENNQUECORRESPONDEAUNAESTRUCTURAÈRBOL CONVIÏRTALOANOTACIØNDECIMALDE
$EWEYYNOTACIØNINDENTADA

Ê Ó° $ADALASIGUIENTEESTRUCTURADELÈRBOLREPRESENTADACOMOANIDACIØNDEPARÏNTESIS

!"%+ & #', -. $( ) / 0 1 2 *


#ALCULELOSIGUIENTE

A 'RADODELÈRBOL
B 'RADODELNODO'
C !LTURADELÈRBOL
D .ODOSTERMINALESUHOJAS
E .ODOSINTERIORES

Ê Î° $ADA LA SIGUIENTE ESTRUCTURA DE ÈRBOL REPRESENTADA COMO NOTACIØN DECIMAL DE
$EWEY

! " $ % ) *


& ' + - .
# ( ,

#ALCULELASLONGITUDESDECAMINOINTERNOYEXTERNODEDICHOÈRBOL

Ê {° #ALCULECUÈLESELGRADODELNODO4 SI4ESPADREDELNODO0YÏSTETIENEHERMA


NOS
266
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

­RBOLESBINARIOS
Ê x° 2EPRESENTELASSIGUIENTESEXPRESIONESALGEBRAICASUTILIZANDOÈRBOLESBINARIOS

A #
9 > $2
+
B !2n# ,$
+
C 8"#
$ > "+ 0 > >

Ê È° $ADOSLOSSIGUIENTESÈRBOLESBINARIOSREPRESENTADOSCOMOANIDACIØNDEPARÏNTESIS

A +"! &$ 7-, /0 :


B    

%SCRIBALOSRECORRIDOSPREORDEN INORDENYPOSORDENDECADAUNODEELLOS

Ê Ç° z#UÈLESELMÈXIMONÞMERODENODOSDEUNÈRBOLBINARIODEALTURAH

Ê n° z#UÈNTOSÈRBOLESBINARIOSDISTINTOSSEPUEDETENERCONNODOSz9CUÈNTOSCON


Ê ™° z#UÈNTOSÈRBOLESBINARIOSSIMILARESSEPUEDETENERCONNODOSz9CUÈNTOSCON


£ä°$ADAS LAS SIGUIENTES SECUENCIAS DE NODOS OBTENIDAS POR LOS RECORRIDOS PREORDEN
INORDENYPOSORDEN DIBUJEELCORRESPONDIENTEÈRBOLBINARIO

◗ 0REORDEN0 2 ! # ( 4 / -


◗ )NORDEN! 2 ( # 0 / 4 -
◗ 0OSTORDEN! ( # 2 / - 4 0

2EPRESENTACIØNDEÉRBOLESGENERALES
COMOÉRBOLESBINARIOS

££°$ADOSLOSSIGUIENTESÈRBOLESGENERALES UNOREPRESENTADOENFORMADEGRAFO INCISO


A YOTROREPRESENTADOCOMOANIDACIØNDEPARÏNTESIS INCISOB CONVIÏRTALOSAÈRBO
LESBINARIOS
&+&3$*$*04 267

B !"% &+ #', -1 2 . $( )/3 0

£Ó°$ADOELSIGUIENTEBOSQUE CONVIÏRTALOENÈRBOLBINARIO
268
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

­RBOLESBINARIOSDEBÞSQUEDA

£Î°$ADASLASSIGUIENTESCLAVESQUEREPRESENTANLOSSIGNOSDELZODIACO CONSTRUYAUN
ÈRBOLBINARIODEBÞSQUEDA

PISCIS ACUARIO CAPRICORNIO CÈNCER SAGITARIO VIRGO LEO


ESCORPIØN LIBRA GÏMINIS ARIES TAURO

£{°$ADOELSIGUIENTEÈRBOLBINARIODEBÞSQUEDA COMPLETELOSNODOSENBLANCODETAL
FORMAQUENOSEVIOLENLOSPRINCIPIOSQUEDElNENJUSTAMENTEUNÈRBOLBINARIODE
BÞSQUEDA

£x°$ADOELSIGUIENTEÈRBOLBINARIODEBÞSQUEDA ELIMINELASCLAVES

    

£È°6ERIlQUESIELÈRBOLBINARIODEBÞSQUEDADELDIAGRAMADELINCISOA QUEDAIGUALAL
DELDIAGRAMADELINCISOB LUEGODEELIMINARLASCLAVES

    


&+&3$*$*04 269

%JERCICIOSDEPROGRAMACIØNENÉRBOLESBINARIOS

£Ç°%SCRIBAUNPROGRAMAQUECALCULEEIMPRIMACUÈNTOSNODOSTIENEUNÈRBOLBINARIO

£n°%SCRIBAUNPROGRAMAQUECALCULEEIMPRIMAELTOTALDENODOSINTERNOSQUETIENEUN
ÈRBOLBINARIO

£™°#ONSIDERANDOQUEUNÈRBOLBINARIOALMACENANÞMEROSENTEROS ENCUENTREEIMPRIMA
ELMÈXIMOVALORGUARDADOENELÈRBOLYELPROMEDIODELOSMISMOS

Óä°%SCRIBAUNPROCEDIMIENTOQUEREALICELOSIGUIENTE

A )MPRIMALAINFORMACIØNALMACENADAENLASHOJASDEUNÈRBOLBINARIO
B )MPRIMALAINFORMACIØNALMACENADAENLOSNODOSINTERNOSDEUNÈRBOLBINARIO

Ó£°$ADOELSIGUIENTEÈRBOLBINARIO
270
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

%SCRIBAUNPROGRAMAQUEIMPRIMALOSNODOSDELMISMODELASIGUIENTEFORMA

! " $ % & ' ( # )

ÓÓ°$ADOELÈRBOLBINARLODELEJERCICIO ESCRIBAUNPROGRAMAQUEIMPRIMALOSNODOS
DELMISMODELASIGUIENTEFORMA

! " # $ % ) & ' (

Óΰ%SCRIBAUNPROCEDIMIENTOQUEVISITELOSNODOSDEUNÈRBOLBINARIODELASIGUIENTE
FORMA

◗ 2AÓZ
◗ 2AMADERECHA
◗ 2AMAIZQUIERDA

Ó{°%SCRIBATRESPROCEDIMIENTOSQUEEFECTÞENLOSRECORRIDOSENPREORDEN INORDENYPOS
ORDENENFORMAITERATIVAENLUGARDERECURSIVA PARALOCUALSEPUEDEAPOYARENUNA
PILA

Óx°%SCRIBAUNPROCEDIMIENTOQUEELIMINETODASLASHOJASDEUNÈRBOLBINARIO

ÓÈ°%SCRIBAUNPROGRAMAQUECARGUELOSNODOSDEUNÈRBOLBINARIOENUNARREGLOUNIDI
MENSIONAL#UIDEQUESEMANTENGALARELACIØNPADRE HIJOENTRELOSNODOS

ÓÇ°%SCRIBAUNAFUNCIØNQUEDETERMINESIDOSÈRBOLESBINARIOSSONSIMILARES

Ón°%SCRIBAUNAFUNCIØNQUEDETERMINESIDOSÈRBOLESBINARIOSSONEQUIVALENTES

ә°%SCRIBAUNPROCEDIMIENTOQUEINTERCAMBIELOSSUBÈRBOLESIZQUIERDOYDERECHODEUN
ÈRBOLBINARIO%SDEOBSERVARQUEESTEINTERCAMBIOSEDEBEREALIZARPARATODONODO
DELÈRBOL
%JEMPLO$ADOELÈRBOLBINARIODELDIAGRAMADELINCISOA ELINTERCAMBIODE
RAMASPRODUCEELÈRBOLDELDIAGRAMADELINCISOB 
&+&3$*$*04 271

Îä°3ETIENEALMACENADATODALAASCENDENCIADE#ARLOSENUNÈRBOLBINARIO3EHASEGUI
DOELSIGUIENTECRITERIOPARA#ARLOSYTODOSSUSPROGENITORESENLARAMAIZQUIERDA
SEHAGUARDADOELNOMBREDELAMADREYENLARAMADERECHAELNOMBREDELPADRE
/BSERVELAlGURAQUESEMUESTRAACONTINUACIØN

%SCRIBA UN SUBPROGRAMA QUE IMPRIMA EL NOMBRE DE TODOS LOS PROGENITORES
FEMENINOSDE#ARLOS

Σ°2ETOMEELPROBLEMAANTERIOR!GREGUEUNAFUNCIØNQUEPUEDAINSERTARALÈRBOLGE
NEALØGICODE#ARLOSTANTOASCENDIENTESFEMENINOSCOMOMASCULINOS

ÎÓ°$ElNALACLASE«RBOLBINARIOUTILIZANDOALGÞNLENGUAJEDEPROGRAMACIØNORIENTADO
AOBJETOS TOMANDOCOMOBASEPARAPROGRAMARLOSMÏTODOSLOSALGORITMOSESTUDIA
DOSENESTECAPÓTULO

Îΰ2ETOMEELPROBLEMAANTERIOR!GREGUEALACLASEUNMÏTODOQUEMUESTREELCONTENI
DODEUNNODO

Î{°%SCRIBAUNPROGRAMADEAPLICACIØNQUEDADOSDOSOBJETOSDELACLASE«RBOLBINARIO
PREVIAMENTEDElNIDA IMPRIMAUNMENSAJEADECUADOSEGÞNLOSMISMOSSEANEQUI
VALENTESONO$ETERMINESIREQUIEREDElNIRNUEVOSMÏTODOSALACLASE

­RBOLESBALANCEADOS

Îx°$ETERMINESILOSSIGUIENTESÈRBOLESBINARIOSSONÈRBOLESBALANCEADOS
272
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

ÎÈ°#ALCULECUÈLESELMÈXIMONÞMERODENODOSDEUNÈRBOLBALANCEADODEALTURA
z#UÈLESELMÓNIMO
&+&3$*$*04 273

ÎÇ°)NSERTELASCLAVES      ENELÈRBOLBALANCEADOQUESEDAA


CONTINUACIØN

În°%LIMINELASSIGUIENTESCLAVESDELÈRBOLBALANCEADODELSIGUIENTEDIAGRAMA

     

Ι°%SCRIBALASINSTRUCCIONESNECESARIASPARAEQUILIBRARELÈRBOLBALANCEADODELSIGUIEN
TEDIAGRAMA LUEGODEELIMINARLACLAVE
274
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

­RBOLES "YÉRBOLES "

{ä°z#UÈL ES EL NÞMERO DE CLAVES M QUE PUEDE TENER COMO MÈXIMO UN ÈRBOL " DE
ORDENYTRESNIVELESz#UÈLELDEUNÈRBOL " 

{£°z#UÈLESELNÞMEROMÈSPEQUE×ODECLAVESQUE ALSERINSERTADAS PROVOCARÓAQUEUN


ÈRBOL "DEORDENTUVIERATRESNIVELES

{Ó°z#UÈLESELNÞMEROMÈSPEQUE×ODECLAVESQUE ALSERINSERTADAS PROVOCARÓAQUEUN


ÈRBOL "DEORDENTUVIERACUATRONIVELES

{ΰ5NÈRBOL "DEORDENYTRESNIVELESTIENECLAVESz#UÈNTASCLAVESSE
PODRÓANELIMINARDELÈRBOLSINQUEÏSTETENGAQUEDISMINUIRSUALTURA

{{°2EALICELOSTRESEJERCICIOSANTERIORES PEROAHORAAPLICADOSAÈRBOLES " 

{x°)NSERTELASSIGUIENTESCLAVES

             

A %NUNÈRBOL "DEORDENQUESEENCUENTRAVACÓO
B %NUNÈRBOL " DEORDENQUESEENCUENTRAVACÓO

{È°6ERIlQUE SI EL ÈRBOL " DE ORDEN  DEL DIAGRAMA DEL INCISO A QUEDA IGUAL AL DEL
DIAGRAMADELINCISOB LUEGODEINSERTARLASSIGUIENTESCLAVES

          
&+&3$*$*04 275

{Ç°6ERIlQUESIELÈRBOL " DEORDENDELDIAGRAMADELINCISOA QUEDAIGUALALDEL


DIAGRAMADELINCISOB LUEGODEINSERTARLASSIGUIENTESCLAVES

          

{n°6ERIlQUESIELÈRBOL "DEORDENDELDIAGRAMADELINCISOB DELEJERCICIOQUEDA


IGUALALÈRBOLDELSIGUIENTEDIAGRAMA LUEGODEELIMINARLASCLAVES

        

{™°6ERIlQUESIELÈRBOL"QUESEPRESENTAENELINCISOA QUEDAIGUALALÈRBOLDELDIAGRA
MADELINCISOB LUEGODEELIMINARLASSIGUIENTESCLAVES

    


276
>«‰ÌՏœÊÈÊ Ê Ê Ç3#0-&4

%JERCICIOSDEPROGRAMACIØNDEÉRBOLES "YÉRBOLES "

xä°%SCRIBALOSSUBPROGRAMASDEINSERCIØNYELIMINACIØNENÈRBOLES "

x£°%SCRIBALOSSUBPROGRAMASDEINSERCIØNYELIMINACIØNENÈRBOLES " 
#APÓTULO Ç
'2­&)#!3
 ).42/$5##)¼.
%NELCAPÓTULOANTERIORSEESTUDIARONLASESTRUCTURASDEDATOSTIPOÈRBOLES ENDONDECADA
NODOOELEMENTOPUEDETENERCOMOMÈXIMOUNNODOQUELEPRECEDEORAÓZ3INEMBARGO
ENLAPRÈCTICAEXISTENPROBLEMASOSITUACIONESENQUELAINFORMACIØNQUESEDEBEALMA
CENARNOCORRESPONDECONUNAESTRUCTURADEESTETIPO0ARAESTOSPROBLEMASSENECESITA
DE UNA ESTRUCTURA EN LA CUAL SE PUEDAN REPRESENTAR OTRAS RELACIONES ENTRE LOS DATOS O
COMPONENTESDELAMISMA$EDICAREMOSESTECAPÓTULOALESTUDIODELASGRÈlCAS
,ASGRÈlCASSONESTRUCTURASDEDATOSNOLINEALESDONDECADACOMPONENTEPUEDE
TENERUNOOMÈSPREDECESORESYSUCESORES%NUNAGRÈlCASEDISTINGUENDOSELEMENTOS
LOSNODOS MEJORCONOCIDOSCOMOVÏRTICES YLOSARCOS LLAMADOSARISTAS QUECONECTAN
UNVÏRTICECONOTRO,OSVÏRTICESALMACENANINFORMACIØNYLASARISTASREPRESENTANRELA
CIONESENTREDICHAINFORMACIØN
%STASESTRUCTURASTIENENAPLICACIONESENDIFERENTESDOMINIOS ENTREELLOSTRANSPORTE
ˆTERRESTRE AÏREOYMARÓTIMOˆ REDESDECOMPUTADORAS MAPASˆUBICACIØNGEOGRÈlCADE
VARIASCIUDADESˆ ASIGNACIØNDETAREAS ETC#ONSIDERE POREJEMPLO LAGRÈlCADELAlGURA
 DONDESEOBSERVANALGUNASDELASPRINCIPALESCAPITALESSUDAMERICANASYLACONEXIØN
ENTREELLAS%NESTECASOLOSVÏRTICESREPRESENTANALASCIUDADES MIENTRASQUELASARISTAS
ALASCARRETERASOALGÞNOTROMEDIODECONEXIØNENTREELLAS!LGUNASARISTASESTÈNETIQUE
TADAS ELVALORQUEAPARECEENELLASCONSTITUYELADISTANCIAQUEEXISTEENTRELASCIUDADES
%NGENERAL UNAETIQUETAENLAARISTAQUEUNE POREJEMPLO LOSVÏRTICESIYJSEUSAPARA
REPRESENTARELCOSTODEIRDELVÏRTICEIALVÏRTICEJ
%NLAlGURASEPRESENTANDOSEJEMPLOSDEGRÈlCAS,APRIMERAA TIENECUATRO
VÏRTICESA B C D YCINCOARISTASA B B C C D D A B D MIENTRASQUELA
SEGUNDAB TIENESEISVÏRTICESA B C D E F YSEISARISTASA B B C C D D A
D E E F 

 $%&).)#)¼.$%'2­&)#!3
5NAGRÈlCA'CONSTADEDOSCONJUNTOS6' Y!' %LPRIMEROLOINTEGRANELEMENTOS
LLAMADOSNODOSOVÏRTICESELSEGUNDO ARCOSOARISTAS0ORLOTANTO PODEMOSDENOTAR
UNAGRÈlCA'COMO
278
>«‰ÌՏœÊÇÊ Ê Ê (3Ç'*$"4

&)'52!
%JEMPLODEGRÉlCA

'6 !

$ONDE6REPRESENTAELCONJUNTODEVÏRTICESDE'Y!ELCONJUNTODEARISTASDE'3I
NOSEHACENINGUNAESPECIlCACIØN LOSCONJUNTOS6Y!SONlNITOS
#ADAARISTAESTÈIDENTIlCADAPORUNÞNICOPARDENODOSDELCONJUNTODEVÏRTICES
QUEPUEDEONOESTARORDENADO5NAARISTAQUEVADELVÏRTICEUALVSEDENOTAMEDIANTE

&)'52!
%LEMENTOSDEUNAGRÉlCA
 $0/$&1504#Ç4*$04%&(3Ç'*$"4 279

LAEXPRESIØNAU V DONDEUYVSONVÏRTICESADYACENTESYLOSEXTREMOSDEA%NESTE
CASO UYVESTÈNCONECTADOSPORAYSEDICEQUEAESINCIDENTEENUYV

 #/.#%04/3"­3)#/3$%'2­&)#!3
! CONTINUACIØN SE PRESENTAN ALGUNOS DE LOS CONCEPTOS MÈS IMPORTANTES RELACIONADOS
CONLATEORÓADEGRÈlCAS

◗ 'RADODEUNVÏRTICE%LGRADODEUNVÏRTICEV ESCRITOCOMOGRADOV ESELNÞMERO


DEARISTASQUECONTIENENAVESDECIR QUETIENENAVCOMOEXTREMO3IELGRADOV 
VNOTIENEARISTAS SEDICEQUEVESUNNODOAISLADO
◗ ,AZOOBUCLE5NLAZOOBUCLEESUNAARISTAQUECONECTAAUNVÏRTICECONSIGOMIS
MOESDECIR AU U 
◗ #AMINO5NCAMINO0DELONGITUDNSEDElNECOMOLASECUENCIADENVÏRTICESQUE
SEDEBESEGUIRPARALLEGARDELVÏRTICEVˆORIGENˆALVÏRTICEVNˆDESTINOˆ

0V  VN

$ETALMODOQUEVIESADYACENTEAVI PARAI   Nn

◗ #AMINOCERRADO%LCAMINO0ESCERRADOSIELPRIMEROYÞLTIMOVÏRTICESSONIGUA
LESESDECIR SIVVN
◗ #AMINOSIMPLE%LCAMINOESSIMPLESITODOSSUSNODOSSONDISTINTOS CONEXCEP
CIØNDELPRIMEROYDELÞLTIMO QUEPUEDENSERIGUALESESDECIR 0ESSIMPLESIV V
 SONDISTINTOS
◗ #ICLO5NCICLOESUNCAMINOSIMPLECERRADODELONGITUDOMAYOR5NCICLODE
LONGITUDKSELLAMAK CICLO
◗ 'RÈlCACONEXA3EDICEQUEUNAGRÈlCAESCONEXASIEXISTEUNCAMINOSIMPLEENTRE
CUALESQUIERADOSDESUSNODOS
◗ 'RÈlCAÈRBOL3EDICEQUEUNAGRÈlCA'ESDELTIPOÈRBOLOÈRBOLLIBRESI'ESUNA
GRÈlCACONEXASINCICLOS
◗ 'RÈlCACOMPLETA3EDICEQUEUNAGRÈlCAESCOMPLETASICADAVÏRTICEVDE'ESAD
YACENTEATODOSLOSDEMÈSVÏRTICESDE'5NAGRÈlCACOMPLETADENVÏRTICESTENDRÈ
NNn ARISTAS
◗ 'RÈlCAETIQUETADA3EDICEQUEUNAGRÈlCA'ESTÈETIQUETADASISUSARISTASTIENEN
ASIGNADOUNVALOR%SDECIR SICADAARISTAATIENEUNVALORNUMÏRICONONEGATIVO
CA LLAMADOCOSTO PESOOLONGITUDDEA ENTONCES'TIENEPESOOESTÈETIQUETADA
%NESTECASO CADACAMINO0DE'TENDRÈASOCIADOUNPESOOLONGITUDQUESERÈLA
SUMADELOSPESOSDELASARISTASQUEFORMANELCAMINO0
◗ -ULTIGRÈlCA5NAGRÈlCASEDENOMINAMULTIGRÈlCASIALMENOSDOSDESUSVÏRTICES
ESTÈNCONECTADOSENTRESÓPORMEDIODEDOSARISTAS%NESTECASO LASARISTASRECIBEN
ELNOMBREDEARISTASMÞLTIPLESOPARALELAS
◗ 3UBGRÈlCA$ADALAGRÈlCA'6 ! 'ʹ6ʹ !ʹ SEDENOMINASUBGRÈlCADE'
SI6ʹ≠φ 6ʹ⊆6Y!ʹ⊆! DONDECADAARISTADE!ʹESINCIDENTECONVÏRTICESDE6ʹ
280
>«‰ÌՏœÊÇÊ Ê Ê (3Ç'*$"4

&)'52!
#ONCEPTOSDEGRÉlCAS

,UEGODEOBSERVARLAlGURASEPUEDENREALIZARLASSIGUIENTESAlRMACIONES

A 4ODOSLOSVÏRTICESTIENENGRADO
B 5NCAMINO0PARALLEGARDELNODO!AL$PUEDESER! " # $/TROSPUEDENSER!
% $O! $
C %LCAMINO! # $ !ESUNCAMINOCERRADO EL! # $NOLOES
D %LCAMINO! # $ !ESUNCAMINOSIMPLE EL! # " $ #NOLOES
E %LCAMINO! # $ !ESUNCICLO
F %S UNA GRÈlCA CONEXA PUES TODOS LOS NODOS TIENEN AL MENOS UN CAMINO A OTRO
NODO
G %SUNAGRÈlCACOMPLETA PUESTODOSLOSNODOSSECONECTANCONLOSDEMÈS

,UEGODEOBSERVARLAlGURASEPUEDENREALIZARLASSIGUIENTESAlRMACIONES

A %NLAGRÈlCADELAlGURAA EXISTEUNLAZOOBUCLEENELVÏRTICED%SDECIR A


D D 
B ,AGRÈlCADELAlGURAB ESUNAMULTIGRÈlCA YAQUEHAYDOSARISTASQUEUNEN
LOSVÏRTICESCYD%SDECIR LASARISTASAC D YAC D SONARISTASMÞLTIPLESO
ARISTASPARALELAS

%NLASSIGUIENTESSECCIONESSEDESCRIBENDOSTIPOSDEGRÈlCASDIRIGIDASYNODIRI
GIDAS

 '2­&)#!3$)2)')$!3

%N ESTA SECCIØN SE TRATARÈ UN TIPO ESPECIAL DE GRÈlCAS LLAMADAS GRÈlCAS DIRIGIDAS
!DEMÈSDESUDElNICIØNYSUREPRESENTACIØN SEPRESENTARÈNLOSPRINCIPALESALGORITMOS
USADOSPARAELCÈLCULODECAMINOS%SIMPORTANTEMENCIONARQUEEXISTEGRANCANTIDAD
DEPROBLEMASDELAVIDAREALQUESONMUYDIFÓCILESDERESOLVER YQUE SINEMBARGO SE
PODRÓANRESOLVERFÈCILMENTESISEMODELARANCONGRÈlCASYLUEGOSEAPLICARANALGUNOS
MÏTODOSQUEFUNCIONANSOBREELLAS
 (3Ç'*$"4%*3*(*%"4 281

&)'52!
/TROSCONCEPTOSDEGRÉlCAS

#ADAVEZQUESOLUCIONAMOSUNPROBLEMA ENREALIDADESTAMOSENCONTRANDOLASO
LUCIØNAUNMODELODELPROBLEMA4ODOSLOSMODELOSSONSIMPLIlCACIONES DEALGUNA
FORMA DELMUNDOREAL DEOTRAMANERASERÓANEXTREMADAMENTECOMPLEJOSYDIFÓCILESDE
MANEJAR
%LPROCESODESOLUCIØNDEUNPROBLEMACONSTADEDOSETAPASIMPORTANTESELDESA
RROLLODEUNMODELODEUNPROBLEMAYELUSODELMODELOPARAGENERARLASOLUCIØN,A
SOLUCIØN lNALMENTE ESENTÏRMINOSDELMODELO3IELNUESTROTIENEUNALTOGRADODEl
DELIDADYELMÏTODOQUEEMPLEAMOSESADECUADO ENTONCESNUESTRASOLUCIØNSERÈBUENA
0ORELCONTRARIO SINUESTROMODELONOREPRESENTAlDEDIGNAMENTEALPROBLEMA ENTONCES
LOSRESULTADOSNOSERÈNSATISFACTORIOS,ATEORÓADEGRÈlCASPROPORCIONALOSCONCEPTOS
PARAMODELARMUCHOSPROBLEMASDELAVIDAREAL UTILIZANDOJUSTAMENTEGRÈlCAS,UEGO
EXISTENMUYBUENOSMÏTODOSQUESEPUEDENAPLICARAESTASGRÈlCAS QUEPROPORCIONARÈN
COMORESULTADOlNALLASOLUCIØNDELPROBLEMAINICIAL
,ASGRÈlCASDIRIGIDASSECARACTERIZANPORQUESUSARISTASTIENENASOCIADAUNADIREC
CIØNESDECIR SONPARESORDENADOS,OSVÏRTICESSEUTILIZANPARAREPRESENTARINFORMA
CIØN MIENTRASQUELASARISTASREPRESENTANUNARELACIØNCONDIRECCIØNOJERARQUÓAENTRE
AQUÏLLOS5NAPOSIBLEAPLICACIØNDEESTETIPODEGRÈlCASPUEDESERLAREPRESENTACIØNDE
CIUDADESENLOSVÏRTICES YLADURACIØNDELOSVUELOSENLASARISTAS ASUMIENDOQUEEL
TIEMPONECESARIOPARAIRDELACIUDAD#ALACIUDAD#NOESELMISMOˆTENIENDOEN
CUENTARAZONESCOMOLOSVIENTOSˆQUEELREQUERIDOPARAIRDELACIUDAD#ALACIUDAD
#!CONTINUACIØNSEDElNEFORMALMENTEELCONCEPTODEGRÈlCADIRIGIDA
5NA GRÈlCA DIRIGIDA ' TAMBIÏN LLAMADA DIGRÈlCA SE CARACTERIZA PORQUE CADA
ARISTAATIENEUNADIRECCIØNASIGNADAESDECIR CADAARISTAESTÈASOCIADAAUNPARORDE
NADOU V DEVÏRTICESDE'5NAARISTADIRIGIDAAU V SELLAMAARCO YGENERALMENTE
SEEXPRESACOMOU→V0ARALASARISTASDELASDIGRÈlCASSEAPLICALASIGUIENTETERMINO
LOGÓA
282
>«‰ÌՏœÊÇÊ Ê Ê (3Ç'*$"4

&)'52!
2EPRESENTACIØNDEUNA
ARISTADIRIGIDA

A AEMPIEZAENUYTERMINAENV
B UESELORIGENOPUNTOINICIALDEA YVESELDESTINOOPUNTOTERMINALDEA
C UESUNPREDECESORDEVYVESUNSUCESOROVECINODEU
D UESADYACENTEHACIAVYVESADYACENTEDESDEU

%NLAlGURASEPRESENTAUNEJEMPLODEUNAARISTADEUNADIGRÈlCA/BSERVEQUE
ELARCOQUEUNEALOSDOSVÏRTICESTIENEDIRECCIØN INDICADAPORMEDIODELAmECHA

 2EPRESENTACIØNDEGRÉlCASDIRIGIDAS
,ASDIGRÈlCASSONESTRUCTURASDEDATOSABSTRACTASPORLOTANTO LOSLENGUAJESDEPROGRA
MACIØNNOCUENTANCONHERRAMIENTASQUEPERMITANSUMANEJO0ARASUREPRESENTACIØNSE
REQUIEREUSAROTRASESTRUCTURASDEDATOS%XISTENVARIASOPCIONESPARAREALIZARESTOÞLTI
MOLAELECCIØNDELAMÈSADECUADADEPENDEDELUSOQUESELEVAYAADARALAINFORMACIØN
ALMACENADAENLOSVÏRTICESYENLASARISTAS,ASREPRESENTACIONESMÈSUTILIZADASSONLAS
MATRICESYLISTASDEADYACENCIA QUESEDESCRIBENACONTINUACIØN%SIMPORTANTESE×ALAR
QUEALGUNOSLENGUAJESDEPROGRAMACIØN COMO,)30O3#(%-% NOUTILIZANARREGLOS
BIDIMENSIONALESˆMATRICESˆCOMOESTRUCTURASDEDATOSESTÈNDARPORLOTANTO SEUSAN
ÈRBOLESOLISTASPARALAREPRESENTACIØNDEDIGRÈlCAS

-ATRIZDEADYACENCIA
5NAMATRIZDEADYACENCIAESUNAMATRIZBOOLEANA DEORDENN DONDENINDICAELNÞ
MERODEVÏRTICESDE',OSRENGLONESYCOLUMNASDELAMATRIZREPRESENTANALOSVÏRTICES
YSUCONTENIDOLAEXISTENCIAONODEARCOSENTREELLOS0ORLOTANTO CADAELEMENTOI JDE
LAMATRIZALMACENAUNOUN DEPENDIENDODESIEXISTEONOUNARCOENTRELOSVÏRTICES
IYJ
0ARAGENERARLAMATRIZDEADYACENCIACORRESPONDIENTEAUNADIGRÈlCASELEDAUNOR
DENARBITRARIOASUSVÏRTICES YSEASIGNAALOSRENGLONESYALASCOLUMNASDEUNAMATRIZEL
MISMOORDEN5NELEMENTODELAMATRIZSERÈSILOSVÏRTICESCORRESPONDIENTESALRENGLØN
YALACOLUMNAESTÈNUNIDOSPORUNAARISTAˆSONADYACENTESˆ YENCASOCONTRARIO
3I'6 ! Y6[L    N] LAMATRIZDEADYACENCIA-QUEREPRESENTAA'
TIENEN§NELEMENTOSDONDE-;I J=CON≤I≤NY≤J≤N ESSØLOSIEXISTEUNARCO
QUEVAYADELNODOIALJ YESENOTROCASO
5NAVENTAJADELASMATRICESDEADYACENCIAESQUEELTIEMPODEACCESOALELEMENTO
REQUERIDOESINDEPENDIENTEDELTAMA×ODE6Y!%LTIEMPODEBÞSQUEDAESDELORDEN
DEN 3INEMBARGO SUPRINCIPALDESVENTAJAESQUEREQUIEREUNESPACIODEALMACENA
MIENTODENPOSICIONES AUNQUEELNÞMERODEARCOSDE'NOSOBREPASEESENÞMERO,A
MATRIZDEADYACENCIAESÞTILENLOSALGORITMOSDISE×ADOSPARACONOCERSIEXISTEUNAARISTA
ENTREDOSNODOSDADOS
%N LAS lGURAS  Y  SE PRESENTAN DOS EJEMPLOS DE GRÈlCAS DIRIGIDAS CON SUS
RESPECTIVASREPRESENTACIONESPORMEDIODEMATRICESDEADYACENCIA
 (3Ç'*$"4%*3*(*%"4 283

1,ÊÇ°È
%JEMPLODEREPRESENTACIØN
DEGRÉlCASA 'RÉlCADIRI
GIDAB Ê-ATRIZDEADYACEN
CIADELAGRÉlCADIRIGIDA

5NAVARIANTEDELAMATRIZDEADYACENCIAESLAMATRIZDEADYACENCIAETIQUETADA EN
DONDE-;I J=REPRESENTALAETIQUETAOCOSTOASOCIADOALARCO3ILAARISTANOEXISTE EN
TONCESELVALORDE-;I J=SERÈCERO%STASMATRICESTAMBIÏNSEDENOMINANMATRICESDE
COSTOSODEDISTANCIAS%NLAlGURASEPRESENTAUNEJEMPLODEESTECASO
#OMOYASEMENCIONØ LAPRINCIPALDESVENTAJADELASMATRICESDEADYACENCIAESEL
ESPACIOQUEREQUIERENPARAALMACENARLAINFORMACIØN5NAALTERNATIVAPARAOPTIMIZAREL
USODELAMEMORIAESPORMEDIODELASLISTASDEADYACENCIA

1,ÊÇ°Ç
%JEMPLODEREPRESENTACIØNDEGRÉlCASA 'RÉlCADIRIGIDACONCOSTOSB Ê-ATRIZ
DEADYACENCIAETIQUETADAOCONCOSTOS
284
>«‰ÌՏœÊÇÊ Ê Ê (3Ç'*$"4

&)'52!
%JEMPLODEREPRESENTACIØNDEGRÉlCASA $IGRÉlCAB ,ISTADEADYACENCIA
DELADIGRÉlCA

,ISTADEADYACENCIA
5NALISTADEADYACENCIAPARAUNVÏRTICEAESUNALISTAORDENADADETODOSLOSVÏRTICESAD
YACENTESDEA0ORLOTANTO UNALISTADEADYACENCIAPARAREPRESENTARUNAGRÈlCADIRIGIDA
ESTARÈFORMADAPORTANTASLISTASCOMOVÏRTICESTENGA'0ARAGUARDARLOSVÏRTICESDE'
SEPUEDEUTILIZAROTRALISTAOUNARREGLO%NESTELIBROSEUSAUNARREGLOALQUELLAMAMOS
(%!$ DONDE(%!$;I=ESUNAPUNTADORALALISTADEVÏRTICESADYACENTESALVÏRTICEI,A
LISTADEADYACENCIAREQUIEREUNESPACIODEALMACENAMIENTOPROPORCIONALALASUMADEL
NÞMERODEVÏRTICESMÈSELNÞMERODEARCOS
%STETIPODEREPRESENTACIØNSERECOMIENDACUANDOELNÞMERODEARISTASESMENOR
AN%LUSODELALISTADEADYACENCIAPERMITEAHORRARESPACIODEALMACENAMIENTO3IN
EMBARGO USARUNALISTAENLUGARDEUNAMATRIZTIENELADESVENTAJADEQUEELTIEMPODE
BÞSQUEDADELASARISTASPUEDESERMAYOR YAQUESEPIERDEELACCESODIRECTOQUEPERMITE
LAMATRIZ,AOPERACIØNDEBÞSQUEDASERÈDELORDENDE/N 

&)'52!
%JEMPLODEAPLICACIØNDELALGORITMODE$IJKSTRAA $IGRÉlCAB -ATRIZDEDISTANCIAS
DELADIGRÉlCA
 (3Ç'*$"4%*3*(*%"4 285

%NLAlGURASEOBSERVAQUEENELARREGLO ENLAPOSICIØNCORRESPONDIENTEACADA
UNODELOSCUATROVÏRTICES SEGUARDØUNPUNTEROALALISTADEADYACENCIADELOSRESPEC
TIVOSVÏRTICES!SÓ ENLAPOSICIØNDELNODOAHAYUNPUNTEROALALISTAFORMADAPORLOS
VÏRTICESBYC AMBOSADYACENTESDESDEA

 /BTENCIØNDECAMINOSDENTRODEUNADIGRÉlCA
!LBUSCARUNAESTRUCTURADEDATOSQUESEAJUSTEALASCARACTERÓSTICASDEUNPROBLEMA SE
BUSCATAMBIÏNQUESOBREDICHAESTRUCTURASEPUEDANREALIZAROPERACIONESQUEFACILITEN
ELMANEJODELAINFORMACIØNALMACENADAENELLA0ARAELCASODELASGRÈlCASDIRIGIDAS
GENERALMENTERESULTADEINTERÏSENCONTRARLOSCAMINOS DIRECTOSOINDIRECTOS ENTRESUS
VÏRTICES!SUVEZ ALTRABAJARCONDIGRÈlCASETIQUETADASSEREQUIEREENCONTRARELCAMINO
MÈSCORTOENTREDOSVÏRTICESDADOSOENTRETODOSSUSVÏRTICES%SDECIR INTERESANAQUELLOS
CAMINOSQUENOSPERMITANLLEGARDESDEUNVÏRTICEORIGENAUNVÏRTICEDESTINORECORRIENDO
LAMENORDISTANCIAOCONELMENORCOSTO,OSALGORITMOSMÈSUSADOSPARAESTElNSON
$IJKSTRA &LOYD Y 7ARSHALL ,OS TRES ALGORITMOS UTILIZAN UNA MATRIZ DE ADYACENCIA
ETIQUETADA DONDE

-;I J=SIIJ
-;I J=∞SINOEXISTEUNCAMINODEIAJ DONDEI≠J
-;I J=COSTODEIRDELVÏRTICEIALVÏRTICEJ SIEXISTEAI J 

!PARTIRDEESTEPUNTO ALAMATRIZDEADYACENCIAETIQUETADALALLAMAREMOSMATRIZ
DEDISTANCIASOMATRIZDECOSTOS%NLASSIGUIENTESSECCIONESSEPRESENTARÈNLOSALGO
RITMOSMENCIONADOS

 !LGORITMODE$IJKSTRA
%LALGORITMODE$IJKSTRAENCUENTRAELCAMINOMÈSCORTODEUNVÏRTICEELEGIDOACUAL
QUIEROTROVÏRTICEDELADIGRÈlCA DONDELALONGITUDDEUNCAMINOESLASUMADELOSPESOS
DELASARISTASQUELOFORMAN,ASARISTASDEBENTENERUNPESONONEGATIVO
5NAPOSIBLEAPLICACIØNDEESTEALGORITMOSEPRESENTACUANDOSEDESEAENCONTRARLA
RUTAMÈSCORTAENTREDOSCIUDADESCADAVÏRTICEREPRESENTAUNACIUDADYELPESODELAS
ARISTASINDICALADURACIØNDELOSVUELOS
!CONTINUACIØNSEDESCRIBENLOSPRINCIPALESELEMENTOSQUESECONSIDERANCUANDOSE
APLICAELALGORITMO

◗ 3ESUNARREGLOFORMADOPORLOSVÏRTICESDELOSCUALESYACONOCEMOSLADISTANCIA
MÓNIMAENTREELLOSYELORIGEN%STEARREGLO INICIALMENTE SØLOALMACENAALNODO
ORIGEN
◗ $ESUNARREGLOFORMADOPORLADISTANCIADELVÏRTICEORIGENACADAUNODELOSOTROS
%SDECIR $;I=ALMACENALAMENORDISTANCIA OCOSTO ENTREELORIGENYELVÏRTICEI!
ESTECAMINOSELECONOCECOMOESPECIAL%STEARREGLOSEFORMAENCADAPASODELAL
GORITMO!LTERMINARELALGORITMO $CONTENDRÈLADISTANCIAMÓNIMAENTREELORIGEN
YCADAUNODELOSOTROSVÏRTICESDELAGRÈlCA
286
>«‰ÌՏœÊÇÊ Ê Ê (3Ç'*$"4

◗ -ESUNAMATRIZDEDISTANCIASDEN§NELEMENTOS TALQUE-;I J=ALMACENALADISTAN


CIAOCOSTOENTRELOSVÏRTICESIYJ SIENTREAMBOSEXISTEUNAARISTA%NCASOCONTRARIO
-;I J=SERÈUNVALORMUYGRANDE∞ 

%LALGORITMODE$IJKSTRAESELSIGUIENTE

!LGORITMO $IJKSTRA

$IJKSTRA.

[%STEALGORITMOENCUENTRALADISTANCIAMÓNIMAENTREUNVÏRTICEORIGENYCADAUNODELOSOTROS
VÏRTICES DE UNA GRÈlCA DIRIGIDA 3E CONSIDERA AL VÏRTICE  COMO EL VÏRTICE ORIGEN . ES EL
NÞMERODEVÏRTICESDELAGRÈlCADIRIGIDA3Y$SONARREGLOSDE.ELEMENTOSY-ESUNAMATRIZ
DE.§.ELEMENTOS SEGÞNLODESCRITOANTERIORMENTE]

 !GREGARELVÏRTICEA3
 2EPETIRCONIDESDEHASTA.
%LEGIRUNVÏRTICEVEN6n3 TALQUE$;V=SEAELMÓNIMOVALOR
!GREGARVA3
 2EPETIRPARACADAVÏRTICEWEN6n3
(ACER$;W=←MÓNIMO$;W= $;V= -;V W=
 [&INDELCICLODELPASO]
 [&INDELCICLODELPASO]

$ADAUNAGRÈlCA'6 ! DONDE6ESTÈFORMADOPORNVÏRTICES SISEUSAUNA


MATRIZDEDISTANCIASPARAREPRESENTARLA CADACICLOTOMAUNTIEMPODE/N YSONEJECU
TADOSNnVECESPORLOTANTO ELALGORITMOESDELORDENDE/N 3I!ESMENORQUEN
ENTONCESESMÈSElCIENTEUSARUNALISTADEADYACENCIAPARAREPRESENTARLADIGRÈlCA%N
ESTECASOELTIEMPODERECORRIDOSERÈDELORDENDE/LOGN YELDELOSCICLOSSERÈDEL
ORDENDE/!LOGN 

%JEMPLO !CONTINUACIØNSEPRESENTAUNEJEMPLODEAPLICACIØNDELALGORITMODE$IJKSTRAPARAEN
CONTRARELCAMINOMÈSCORTODESDEUNODELOSVÏRTICESACUALQUIERADELOSOTROSVÏRTICES
DEUNAGRÈlCADIRIGIDA FORMADAPORCINCOVÏRTICES. 
%NLATABLASEPRESENTAELSEGUIMIENTODELALGORITMOPARALADIGRÈlCADELAlGU
RA,APRIMERACOLUMNAESPARA3 ARREGLOENELCUALSEALMACENAENCADAPASODEL
ALGORITMOELVÏRTICESELECCIONADO,ASCOLUMNASETIQUETADASCON$;A= $;B=  $;E=SE
UTILIZANPARAMOSTRARELVALORMÓNIMODELCAMINOENCONTRADOENTREELVÏRTICEORIGENY

4!",! 3 $;A= $;B= $;C= $;D= $;E= #OMENTARIO


!PLICACIØNDELALGORITMO
DE$IJKSTRA [A]    ∞ ∞ %STADOINICIAL

[A B]      3EENCONTRØA B DYA B E

[A B E]      3EENCONTRØA B E D

[A B E D]      .OHAYCAMBIOS

[A B E D C]      %STADOlNALA B E D C
 (3Ç'*$"4%*3*(*%"4 287

&)'52!
%JEMPLODEAPLICACIØNDEL
ALGORITMODE$IJKSTRA
A $IGRÉlCAB -ATRIZDE
DISTANCIASDELADIGRÉlCA

LOSVÏRTICESA B  E RESPECTIVAMENTE0ORÞLTIMO SETIENEUNACOLUMNAENLACUALSE


COMENTACADAPASODELALGORITMO

◗ 3EELIGIØELVÏRTICEACOMOVÏRTICEORIGEN
◗ 5NAVEZQUEELVÏRTICEELEGIDOSEAGREGAA3 SUVALORCORRESPONDIENTEEN$NOCAM
BIA
◗ ,OSVALORESlNALESDE$INDICANLADISTANCIAMÓNIMAENTREELVÏRTICEORIGENYCADAUNO
DELOSOTROSVÏRTICES0OREJEMPLO $;D=REPRESENTAELCOSTODEIRDELVÏRTICEAALD
PASANDOPORBYE$;E=ESELCOSTODEIRDELVÏRTICEAALEPASANDOPORB
◗ ,ASOMBRASEUTILIZAPARAINDICAR ENCADAPASO CUÈLESELMÓNIMOVALOREN$ LOQUE
IMPLICALAELECCIØNDELVÏRTICECORRESPONDIENTEPARASERINCLUIDOEN3

%JEMPLO %NLAlGURASEPRESENTAOTROEJEMPLODEAPLICACIØNDELALGORITMODE$IJKSTRAPARA
ENCONTRARELCAMINOMÈSCORTODESDEUNODELOSVÏRTICESACUALQUIERADELOSOTROSVÏRTI
CESDEUNAGRÈlCADIRIGIDA CON.
288
>«‰ÌՏœÊÇÊ Ê Ê (3Ç'*$"4

4!",!
!PLICACIØNDELALGORITMODE$IJKSTRA

3 $;A= $;B= $;C= $;D= $;E= $;F= $;G= $;H= #OMENTARIO

[A]   ∞  ∞ ∞ ∞ ∞ %STADOINICIAL

[A B]      ∞ ∞ ∞ 3EENCONTRØA B CYA B E

[A B D]      ∞  ∞ 3EENCONTRØA B D G

[A B D C]        ∞ 3EENCONTRØA B C F

[A B D C G]         3EENCONTRØA D G H
3EENCONTRØA B E FYA
[A B D C G E]        
B E H
[A B D C G E H]         .OHAYCAMBIO

[A B D C G E H F]         %STADOlNAL

%NLATABLASEPRESENTAELSEGUIMIENTODELALGORITMOPARALADIGRÈlCADELAlGURA
,APRIMERACOLUMNAESPARA3 ARREGLOENELCUALSEALMACENAENCADAPASODEL
ALGORITMOELVÏRTICESELECCIONADO,ASCOLUMNASETIQUETADASCON$;A= $;B=  $;H=SE
UTILIZANPARAMOSTRARELVALORMÓNIMODELCAMINOENCONTRADOENTREELVÏRTICEORIGENY
CADAUNODELOSOTROSVÏRTICES0ORÞLTIMO SETIENEUNACOLUMNAENLACUALSECOMENTA
CADAPASODELALGORITMO

◗ 3EELIGIØELVÏRTICEACOMOORIGEN
◗ 5NAVEZQUEELVÏRTICEELEGIDOSEAGREGAA3 SUVALORCORRESPONDIENTEEN$NOCAM
BIA
◗ ,OSVALORESlNALESDE$INDICANLADISTANCIAMÓNIMAENTREELVÏRTICEORIGENYCADA
UNODELOSOTROSVÏRTICES0OREJEMPLO $;F=REPRESENTAELCOSTODEIRDELVÏRTICE
AALVÏRTICEF PASANDOPORLOSVÏRTICESBYE
◗ ,ASOMBRASEUTILIZAPARAINDICAR ENCADAPASO CUÈLESELMÓNIMOVALOREN$ LOQUE
IMPLICALAELECCIØNDELVÏRTICECORRESPONDIENTEPARASERINCLUIDOEN3

 !LGORITMODE&LOYD
%L ALGORITMO DE &LOYD ENCUENTRA EL CAMINO MÈS CORTO ENTRE TODOS LOS VÏRTICES DE LA
DIGRÈlCA3EALAGRÈlCADIRIGIDA'6 ! DONDECADAARCOU→VTIENEASOCIADOUN
PESO %L ALGORITMO DE &LOYD PERMITIRÈ ENCONTRAR EL CAMINO MÈS CORTO ENTRE CADA PAR
ORDENADOUYV
,AMATRIZDEDISTANCIASSIRVECOMOPUNTODEPARTIDAPARAESTEALGORITMO3EREALIZAN
KITERACIONESSOBRELAMATRIZBUSCANDOELCAMINOMÈSCORTOPORLOTANTO ENLAK ÏSIMA
ITERACIØN -;I J=TENDRÈELCAMINODEMENORCOSTOPARALLEGARDEIAJ PASANDOPORUN
NÞMERODEVÏRTICESMENORAK ELCUALSECALCULARÈSEGÞNLASIGUIENTEEXPRESIØN
 (3Ç'*$"4%*3*(*%"4 289

« - K  ; I J =
- K ; I J = MÓN  ¬
­® - K  ; I K = - K  ; K J =

3EELEGIRÈELCAMINOMÈSCORTOENTREELVALOROBTENIDOENLAITERACIØNKn YEL
QUERESULTADEPASARPORELVÏRTICEK%NELALGORITMOSEUSALAMATRIZDECOSTOS - DONDE
-;I J=SERÈIGUALALCOSTODEIRDEIAJ AUNVALORMUYGRANDE∞ SINOEXISTECAMINO
DEIAJ OACEROSIIJ

!LGORITMO &LOYD

&LOYD.

[%STEALGORITMOENCUENTRALADISTANCIAMÓNIMAENTRETODOSLOSVÏRTICESDELAGRÈlCADIRIGIDA.
ESELNÞMERODEVÏRTICESDELAGRÈlCADIRIGIDA-ESUNAMATRIZDE..ELEMENTOS YSEINICIA
CONLOSCOSTOSDELADIGRÈlCAK I JSONVARIABLESENTERAS]

 2EPETIRCON+DESDEHASTA.
 2EPETIRCON)DESDEHASTA.
 2EPETIRCON*DESDEHASTA.
 3I-)+ -+*-)* ENTONCES
(ACER-)*←-)+ -+*
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
 [&INDELCICLODELPASO]
 [&INDELCICLODELPASO]

0ARATODOVÏRTICEDELADIGRÈlCASEPRUEBASIELCAMINOMÈSCORTO PARAIRDESDE
DICHOVÏRTICEALOSOTROS ESATRAVÏSDEUNVÏRTICEINTERMEDIOK%NCASOAlRMATIVO EL
COSTOQUETIENEASOCIADOSEREEMPLAZAPORLASUMADELOSCOSTOSDEIRDELVÏRTICEORIGEN
ALINTERMEDIOYDELINTERMEDIOALDESTINO%NOTROCASO ELVALORDE-;I J=NOSEMODIlCA
5NAVEZPROBADOSTODOSLOSVÏRTICESDELADIGRÈlCACOMONODOSINTERMEDIOS LAMATRIZ
RESULTANTE ALMACENA LA MENOR DISTANCIA ENTRE CADA PAR DE NODOS ,A COMPLEJIDAD DEL
ALGORITMOESDELORDENDE/. YAQUESEUTILIZANTRESCICLOSANIDADOSDEORDEN.

%JEMPLO !CONTINUACIØNSEPRESENTAUNEJEMPLODEAPLICACIØNDELALGORITMODE&LOYDPARAEN
CONTRARLAMÓNIMADISTANCIAENTRETODOSLOSVÏRTICESDEUNAGRÈlCADIRIGIDA,AMATRIZ
DEDISTANCIASESLACORRESPONDIENTEALADIGRÈlCADELEJEMPLO%NLAlGURASE
PRESENTANLOSDIFERENTESESTADOSDELAMATRIZDEDISTANCIASDELADIGRÈlCADADA OBTENIDOS
APARTIRDELAAPLICACIØNDELALGORITMO!SÓ LAMATRIZMOSTRADAENELINCISOA ESLAMATRIZ
DEDISTANCIASDELADIGRÈlCADADAˆESTADOINICIALˆ,AMATRIZDECOSTOSMOSTRADAENEL
INCISOB ESLAOBTENIDAUSANDOELVÏRTICEBCOMOVÏRTICEINTERMEDIO%NESEPASO +
 SEENCONTRARONLOSSIGUIENTESCAMINOSA B DCONDISTANCIAIGUALA A B ECON
DISTANCIAIGUALA YC B ECONDISTANCIAIGUALA ,AlGURADEC CORRESPONDEALA
290
>«‰ÌՏœÊÇÊ Ê Ê (3Ç'*$"4

MATRIZDEDISTANCIAS RESULTADODEUSARELVÏRTICECCOMOVÏRTICEINTERMEDIO%NESEPASO
+ SEENCONTRØELSIGUIENTECAMINOE C BCONDISTANCIAIGUALA &INALMENTE LA
lGURAPRESENTADAENELINCISOD MUESTRALAMATRIZOBTENIDADEDISTANCIASMEDIANTEEL
VÏRTICEECOMOVÏRTICEINTERMEDIO0ARA+SEENCONTRARONLOSSIGUIENTESCAMINOSA
E DCONDISTANCIAIGUALA B E CCONDISTANCIAIGUALA YB E DCONDISTANCIAIGUAL
A %LESTADOlNALDEESTAMATRIZALMACENALASDISTANCIASMÓNIMASENTRECADAUNODE
LOSVÏRTICESDELADIGRÈlCADADA
3IADEMÈSDEOBTENERLAMENORDISTANCIAENTRETODOSLOSVÏRTICESDELAGRÈlCADIRIGI
DASEREQUIERECONOCERLATRAYECTORIAENCONTRADAPARACADAVÏRTICE SEDEBERÈIRGUARDAN
DODICHATRAYECTORIAˆLOSVÏRTICESINTERMEDIOSˆ%STAVARIANTEDELALGORITMODE&LOYD
UTILIZAUNARREGLOAUXILIAR4 DE..ELEMENTOS DONDE4;I J=SERÈIGUALAKSIKESUN
NODOINTERMEDIOENTREIYJ

&)'52!
%JEMPLODEAPLICACIØNDELALGORITMODE&LOYD
 (3Ç'*$"4%*3*(*%"4 291

!LGORITMO &LOYD?GUARDA?VÏRTICES

&LOYD?GUARDA?VÏRTICES.

[%STEALGORITMOENCUENTRALADISTANCIAMÓNIMAENTRETODOSLOSVÏRTICESDELAGRÈlCADIRIGIDA
!DEMÈS ALMACENAELCONJUNTODENODOSINTERMEDIOSQUEFORMANLASTRAYECTORIASENCONTRADAS
.ESELNÞMERODEVÏRTICESDELAGRÈlCADIRIGIDA-ESUNAMATRIZDE..ELEMENTOS YSE
INICIACONLOSCOSTOSDELADIGRÈlCA4ESUNAMATRIZDE..ELEMENTOS YALMACENARÈENCADA
ELEMENTOI JELVÏRTICEINTERMEDIOUSADOPARAIRDEIAJ+ ) *SONVARIABLESENTERAS]

 2EPETIRCON+DESDEHASTA.
 2EPETIRCON)DESDEHASTA.
 2EPETIRCON*DESDEHASTA.
 3I-)+ -+*-IJ ENTONCES
(ACER-)*←-)+ -+*Y4)*←+
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
 [&INDELCICLODELPASO]
 [&INDELCICLODELPASO]

%JEMPLO !CONTINUACIØNSEPRESENTAUNEJEMPLODEAPLICACIØNDELALGORITMODE&LOYD?GUARDA?
VÏRTICES#OMORESULTADOSEOBTIENEUNAMATRIZCONLASDISTANCIASMÓNIMASENTRETODOS
LOSVÏRTICESDEUNAGRÈlCADIRIGIDAYLOSVÏRTICESINTERMEDIOSUTILIZADOSPARAALCANZAR
ESASDISTANCIAS,AMATRIZDEDISTANCIASESLACORRESPONDIENTEALADIGRÈlCADELEJEMPLO
#ONRESPECTOALAOBTENCIØNDELAMATRIZDEDISTANCIASMÓNIMAS ELALGORITMOGENERA
UNAMATRIZIGUALALAPRESENTADAENLAlGURA DONDESEOBSERVACØMOSEVANASIG
NANDOVALORESALAMATRIZ4 AMEDIDAQUESEVANENCONTRANDOVÏRTICESINTERMEDIOSQUE
REDUCENLADISTANCIAENTREDOSVÏRTICES
%NELINCISOA SEMUESTRAELESTADOINICIALDE4%NESTECASOSEASIGNØUN
ACADA
COMPONENTEDELARREGLO%NLAlGURADELINCISOB SEPRESENTAELARREGLOUNAVEZREGIS
TRADOBPARA+ COMOVÏRTICEINTERMEDIOENTREAYD AYE CYE%NC SEPUEDE
OBSERVAR4LUEGODEENCONTRARALNODOCPARA+ COMOINTERMEDIOENTREEYB0OR
ÞLTIMO SELLEGAALESTADOlNALDE4 INCISOD LUEGODEENCONTRARAEPARA+ COMO
VÏRTICEINTERMEDIOENTRELOSVÏRTICESAYD BYC BYD
292
>«‰ÌՏœÊÇÊ Ê Ê (3Ç'*$"4

&)'52!
%JEMPLODEAPLICACIØN
DELALGORITMO
&LOYD?GUARDA?VÏRTICES°

 !LGORITMODE7ARSHALL
%LALGORITMODE7ARSHALLENCUENTRA SIESPOSIBLE UNCAMINOENTRECADAUNODELOSVÏR
TICESDELAGRÈlCADIRIGIDA%SDECIR LASOLUCIØNENCONTRADAPORELALGORITMONOPRESENTA
LASDISTANCIASENTRELOSVÏRTICES SØLOMUESTRASIHAYONOCAMINOENTREELLOS
%LALGORITMODE7ARSHALLSEBASAENUNCONCEPTOLLAMADOCERRADURATRANSITIVADE
LAMATRIZDEADYACENCIA3EALAGRÈlCADIRIGIDA'6 ! YSUMATRIZDEADYACENCIA-
DONDE-;I J=SIHAYUNARCODEIAJ YSINOLOHAY,ACERRADURATRANSITIVADE-ES
LAMATRIZ#TALQUE#;I J=SIHAYUNCAMINODELONGITUDMAYOROIGUALQUEDEIAJ
OENOTROCASO0ARAGENERARLAMATRIZ#SEESTABLECEQUEEXISTEUNCAMINODELVÏRTICE
IALJQUENOPASAPORUNNÞMERODEVÏRTICESMAYORQUEKSI

A 9AEXISTEUNCAMINODEIAJQUENOPASAPORUNNÞMERODEVÏRTICESMAYORQUEK
n
B (AYUNCAMINODEIAKQUENOPASAPORUNNÞMERODEVÏRTICESMAYORQUEKn Y
HAYUNCAMINODEKAJQUENOPASAPORUNNÞMERODEVÏRTICESMAYORQUEKn
 (3Ç'*$"4/0%*3*(*%"4 293

!LGORITMO 7ARSHALL

7ARSHALL.

[%STEALGORITMOENCUENTRA SIESPOSIBLE UNCAMINODELONGITUDMAYOROIGUALAUNOENTRECADA


UNODELOSVÏRTICESDELAGRÈlCADIRIGIDA.ESELNÞMERODEVÏRTICESDELADIGRÈlCA#ESUNA
MATRIZDE..ELEMENTOS)NICIALMENTEESIGUALA-!LTERMINARELALGORITMOCONTENDRÈLA
CERRADURATRANSITIVADE- K ) *SONVARIABLESENTERAS]

 2EPETIRCON+DESDEHASTA.
 2EPETIRCON)DESDEHASTA.
 2EPETIRCON*DESDEHASTA.
 3I!;) *= ENTONCES
!;) *=←!;) +=Y!;+ *=
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
 [&INDELCICLODELPASO]
 [&INDELCICLODELPASO]

%JEMPLO 3EPRESENTAUNEJEMPLODEAPLICACIØNDELALGORITMODE7ARSHALLPARADETERMINARSIEXISTE
ONOUNCAMINOENTRETODOSLOSVÏRTICESDEUNAGRÈlCADIRIGIDA3ETOMALADIGRÈlCADEL
EJEMPLOLAMATRIZ# QUECONTENDRÈLACERRADURATRANSITIVAALlNALIZARELALGORITMO
SEINICIACONLOSVALORESDELAMATRIZDEADYACENCIACORRESPONDIENTE
%NLAlGURASEPRESENTANLOSDIFERENTESESTADOSDE# OBTENIDOSAPARTIRDELA
APLICACIØNDELALGORITMO%NLAlGURADELINCISOA SEMUESTRAELESTADOINICIALDELAMATRIZ
0ORSUPARTE ENB SEPRESENTALACORRESPONDIENTEALAMATRIZ# RESULTADODEUSARELVÏR
TICEBCOMOVÏRTICEINTERMEDIO3EENCONTRARONLOSSIGUIENTESCAMINOSA B D A B EY
C B E,AlGURADELINCISOC CORRESPONDEALAMATRIZ#OBTENIDAPORMEDIODELVÏRTICEC
COMOVÏRTICEINTERMEDIO3EFORMARONLOSCAMINOSE C BYE C E&INALMENTE END SE
PRESENTAALAMATRIZ#LUEGODEUSARELVÏRTICEECOMOVÏRTICEINTERMEDIO3EOBTUVIERON
LOSCAMINOSA E A B E B B E CYC E C

 '2­&)#!3./$)2)')$!3
%NESTASECCIØNSEPRESENTARÈELCONCEPTODEGRÈlCASNODIRIGIDASOSIMPLEMENTEGRÈ
lCAS CUYACARACTERÓSTICAPRINCIPALESQUESUSARISTASSONPARESNOORDENADOSDEVÏRTICES
%SDECIR SIEXISTEUNCAMINODELVÏRTICEIALJ SERÈEXACTAMENTEELMISMOCAMINODEL
VÏRTICEJALI
%STASGRÈlCASSEUTILIZANPARAMODELARRELACIONESSIMÏTRICASENTREDIFERENTESOBJE
TOS QUESEREPRESENTANPORMEDIODELOSVÏRTICES MIENTRASQUELASARISTASSEUSANPARA
INDICARLASRELACIONESENTREELLOS0OREJEMPLO ELCOSTODEUNBOLETODEAVIØNPARAIRDE
LACIUDADDE-ÏXICOA'UADALAJARASERÈELMISMOENCUALQUIERADELASDIRECCIONESQUE
SEREALICEELVIAJE
294
>«‰ÌՏœÊÇÊ Ê Ê (3Ç'*$"4

&)'52!
%JEMPLODEAPLICACIØNDELALGORITMODE7ARSHALL

5NAGRÈlCANODIRIGIDA'6 ! CONSTADEUNCONJUNTOlNITODEVÏRTICES6YDE
OTROlNITODEARISTAS!3EDIFERENCIADEUNAGRÈlCADIRIGIDAENQUECADAARISTAEN!ESUN
PARNOORDENADODEVÏRTICES3IU V ESUNAARISTANODIRIGIDA ENTONCESU V V U 

 2EPRESENTACIØNDEGRÉlCASNODIRIGIDAS
,ASGRÈlCASNODIRIGIDASSONESTRUCTURASDEDATOSABSTRACTASPORLOTANTO SEDEBENAPO
YARENOTRASESTRUCTURASPARASUREPRESENTACIØNENMEMORIA,ASDOSREPRESENTACIONES
MÈSUTILIZADASSONMATRIZDEADYACENCIAYLISTADEADYACENCIA AMBASEXPLICADASEN
LASECCIØNCORRESPONDIENTEALASGRÈlCASDIRIGIDAS
#ONSIDERANDO LA SIMETRÓA DE LAS RELACIONES ENTRE LOS ELEMENTOS DE LA GRÈlCA SE
REQUIERECAMBIARCADAARISTANODIRIGIDAENTREUYVPORDOSARISTASDIRIGIDAS UNADEU
AVYOTRADEVAUPORLOTANTO LAMATRIZDEADYACENCIARESULTARÈUNAMATRIZSIMÏTRICA
YENLALISTADEADYACENCIAELVÏRTICEUESTARÈENLALISTADEADYACENCIADELVÏRTICEV Y
VICEVERSA
%NLAlGURAASEPUEDEOBSERVARUNEJEMPLODEUNAGRÈlCAYENB SUREPRESEN
TACIØNPORMEDIODEUNAMATRIZDEADYACENCIA%NLAMATRIZSEHASOMBREADOLADIAGONAL
 (3Ç'*$"4/0%*3*(*%"4 295

&)'52!
'RÉlCAYSUREPRESENTACIØN
PORMEDIODEUNAMATRIZDE
ADYACENCIA°

&)'52!
2EPRESENTACIØNDEUNA
GRÉlCAPORMEDIODEUNA
LISTADEADYACENCIA°

PRINCIPALPARAILUSTRARMÈSCLARAMENTELASIMETRÓA%SDECIR LAMATRIZTRIANGULARINFERIOR
ESIGUALALAMATRIZTRIANGULARSUPERIOR
%NLAlGURASEMUESTRALAREPRESENTACIØNDELAGRÈlCADELAlGURAAPOR
MEDIODEUNALISTADEADYACENCIA

 #ONSTRUCCIØNDELÉRBOLABARCADORDECOSTOMÓNIMO
3EA'6 ! UNAGRÈlCACONEXA ESDECIR UNAGRÈlCAENLACUALEXISTEUNCAMINO
SIMPLEENTRECUALESQUIERADOSDESUSVÏRTICES!DEMÈS CADAARISTAU V TIENEASOCIADO
UNPESOOCOSTO CU V 
#ONSIDERANDOLOANTERIOR UNÈRBOLABARCADORDEUNAGRÈlCA'SEDElNECOMOUN
ÈRBOLLIBREQUECONECTATODOSLOSVÏRTICESDE6%LCOSTODELÈRBOLABARCADORRESULTADELA
SUMADELASARISTASINCLUIDASENÏL0ORLOTANTO UNÈRBOLABARCADORDECOSTOMÓNIMO
SEFORMAAPARTIRDELASARISTASDEMENORCOSTO
296
>«‰ÌՏœÊÇÊ Ê Ê (3Ç'*$"4

5NAAPLICACIØNTÓPICADEÈRBOLESABARCADORESDECOSTOMÓNIMOESELDISE×ODEREDES
DECOMUNICACIØN0OREJEMPLO LOSVÏRTICESDELAGRÈlCAPUEDENREPRESENTARCIUDADES Y
LASARISTASPOSIBLESCANALESDECOMUNICACIØNENTREELLAS%LCOSTOASOCIADOACADAARISTA
REPRESENTAELCOSTODECOMUNICARUNACIUDADCONOTRAENTIEMPO DINERO MEDIOS ETC 
0ORLOTANTO ELÈRBOLABARCADORREPRESENTARÈLAREDDECOMUNICACIØNQUECONECTAATODAS
LASCIUDADESAUNCOSTOMÓNIMO
,OSÈRBOLESABARCADORESDECOSTOMÓNIMOGOZANDEUNAPROPIEDADQUESIRVECOMO
BASEPARATODOSLOSALGORITMOSUTILIZADOSPARASUCONSTRUCCIØN%STAPROPIEDADESTABLECE
QUESI'6 ! ESUNAGRÈlCACONEXA 5ESUNSUBCONJUNTOPROPIODELCONJUNTODEVÏR
TICES6 YU V ESUNAARISTADECOSTOMÓNIMOTALQUEU∈5YV∈6 5 ENTONCESEXISTE
UNÈRBOLABARCADORDECOSTOMÓNIMOQUEINCLUYEAU V ENTRESUSARISTAS
%N LAS SIGUIENTES SECCIONES SE PRESENTARÈN LOS ALGORITMOS DE 0RIM Y DE +RUSKAL
UTILIZADOSPARAOBTENERELÈRBOLABARCADORDEUNAGRÈlCA

 !LGORITMODE0RIM
%LALGORITMODE0RIMPERMITEENCONTRARELÈRBOLABARCADORDECOSTOMÓNIMODEUNA
GRÈlCA0ARAELLOUTILIZADOSCONJUNTOS6 CONJUNTODETODOSLOSVÏRTICES Y5 CONJUNTO
AUXILIARINICIADOCONELPRIMERVÏRTICE%NCADAITERACIØNDELALGORITMOSEBUSCALAARISTA
U V QUECONECTE5CONLASUBGRÈlCA6 5,UEGOSEAGREGAELNODOV PERTENECIENTEA
6 5 A5%STEPROCESOSEREPITEHASTAQUE56
#ONSIDERANDOELRECORRIDOQUESEDEBEHACERENLAGRÈlCA ELTIEMPODEEJECUCIØN
SERÈDELORDENDE/N SISEUSAUNAMATRIZDEADYACENCIAPARAREPRESENTARLA%NCAM
BIO SILAGRÈlCAFUEREPRESENTADAPORMEDIODEUNALISTADEADYACENCIA LACOMPLEJIDAD
DELALGORITMOSERÈDELORDENDE/!
LOGN DONDE!ESELNÞMERODEARISTAS
!NTESDEPRESENTARELALGORITMO RESULTACONVENIENTEEXPLICARLOSELEMENTOSQUESE
USARÈNENÏL

◗ 6ESELCONJUNTODEVÏRTICESDE'6[   N]3EUSANLOSNÞMEROSENTEROSDEL


ENADELANTEPARAIDENTIlCARLOSVÏRTICES3INEMBARGO ENCADAAPLICACIØNSEPODRÈ
USARLAMANERAQUESECONSIDEREMÈSADECUADA
◗ 5ESUNSUBCONJUNTOPROPIODELCONJUNTO6 SIENDOSUVALORINICIALELDELPRIMER
VÏRTICE0ARANUESTRAIMPLEMENTACIØN5[]
◗ ,ESUNALISTADEARISTASQUESEVAFORMANDOCONLASARISTASDEMENORCOSTOQUESE
VANSELECCIONANDO)NICIALMENTE,ESTÈVACÓA,∅

!LGORITMO 0RIM

0RIM.

[%STEALGORITMOENCUENTRAELÈRBOLABARCADORDECOSTOMÓNIMODEUNAGRÈlCA'DE.VÏRTICES
5 6Y,SONESTRUCTURASDEDATOSˆARREGLOSOLISTASˆQUEPERMITENGUARDARLOSNOMBRESDE
LOSVÏRTICESYLASARISTASSELECCIONADAS]
 (3Ç'*$"4/0%*3*(*%"4 297

 -IENTRAS6≠5 2EPETIR


%LEGIRUNAARISTAU V ∈!' TALQUESUCOSTOSEAMÓNIMO SIENDOU∈5YV∈
6n5
!GREGARLAARISTAU V A,
!GREGARELNODOVA5
 [&INDELCICLODELPASO]

%JEMPLO !CONTINUACIØNSEPRESENTAUNEJEMPLODEUSODELALGORITMODE0RIMPARAENCONTRAREL
ÈRBOLABARCADORDECOSTOMÓNIMODEUNAGRÈlCA%LALGORITMOSEAPLICAALAGRÈlCADELA
lGURA OBTENIENDOCOMORESULTADOELÈRBOLQUESEMUESTRAENLAlGURA
%LSEGUIMIENTODELALGORITMOSEPRESENTAENLATABLA
%NLAPRIMERAITERACIØNSEELIGELAARISTA  PORSERLADEMENORCOSTO ENESTE
CASOIGUALA%LVÏRTICESEAGREGAALCONJUNTO5%NLASIGUIENTEITERACIØNSEELIGELA
ARISTA  CONUNCOSTODEYELVÏRTICEPASAAFORMARPARTEDE5!SÓSESIGUEHASTA
ALCANZARLACONDICIØNlNALDE65 YCONSECUENTEMENTETERMINAELPROCESO

&)'52!
%JEMPLODEAPLICACIØNDEL
ALGORITMODE0RIM

4!",!
!PLICACIØNDELALGORITMODE0RIM

)TERACIØN 5 U V #OSTO V , 5ACTUALIZADO

 []     [  ] [ ]

 [ ]     [    ] [  ]

 [  ]     [      ] [   ]

 [   ]     [        ] [    ]


298
>«‰ÌՏœÊÇÊ Ê Ê (3Ç'*$"4

&)'52!
­RBOLABARCADORDECOSTO
MÓNIMO OBTENIDOAPLICAN
DOELALGORITMODE0RIM

 !LGORITMODE+RUSKAL
%LALGORITMODE+RUSKAL ALIGUALQUEELDE0RIM PERMITEENCONTRARELÈRBOLABARCADOR
DECOSTOMÓNIMODEUNAGRÈlCA,ACONSTRUCCIØNDELÈRBOLABARCADORDECOSTOMÓNIMO
SELLEVAACABOSELECCIONANDOLAARISTADEMENORCOSTOYAGREGÈNDOLAALÈRBOLABARCADOR
0ARAELLOSEUTILIZAUNPROCESORELATIVAMENTESENCILLO
0RIMERO SEDEBEGENERARUNASERIEDEPARTICIONESAPARTIRDELCONJUNTODEVÏRTICES6
)NICIALMENTE LASPARTICIONESTIENENTAMA×OUNO%SDECIR

0[[6] [6] [6]  [6N]]

DONDE0INDICALAPARTICIØNINICIAL YCADA[6I]ESUNAPARTICIØNFORMADAPORELVÏRTICEI
!PARTIRDEESTEPASOSEBUSCALAARISTADEMENORCOSTO YSIÏSTAUNEDOSVÏRTICESQUE
PERTENECENAPARTICIONESDIFERENTES DICHASPARTICIONESSEREEMPLAZANPORSUUNIØN0ARA
ELCASOCONTRARIO LAARISTANOFORMAPARTEDELÈRBOLABARCADORDECOSTOMÓNIMO YAQUE
PRODUCIRÓAUNCICLO3ECONTINÞAELIGIENDOLAARISTAU V DEMENORCOSTOYUNIENDOLAS
PARTICIONESALASCUALESPERTENECENUYV RESPECTIVAMENTE HASTAQUESETENGAUNASOLA
PARTICIØNFORMADAPORTODOSLOSVÏRTICESDELAGRÈlCA%SDECIR

0K[6 6 6  6N]

DONDE 0K ES LA PARTICIØN lNAL LUEGO DE K ITERACIONES LA CUAL ESTÈ FORMADA POR LOS .
VÏRTICESDE'
%STEALGORITMOREQUIERE ENELPEORDELOSCASOS UNTIEMPODE/!
LOG! DONDE
!ESELNÞMERODEARISTASDELAGRÈlCA3I!ESMENORQUEN ENTONCESELALGORITMODE
+RUSKALESMÈSElCIENTEQUEELDE0RIM3I!TIENEUNVALORCERCANOAN ENTONCESES
MÈSCONVENIENTEUSARELDE0RIM
%LALGORITMOUTILIZAALGUNOSELEMENTOSAUXILIARES!CONTINUACIØNSEDESCRIBENLOS
MISMOS

◗ ,ESUNCONJUNTOFORMADOPORLASARISTASYSUSRESPECTIVOSCOSTOS
◗ 0REPRESENTALASPARTICIONESGENERADASAPARTIRDE6)NICIALMENTE0[[] [] 
[N]]
 (3Ç'*$"4/0%*3*(*%"4 299

0ARAESTOSDOSELEMENTOSˆ,Y0ˆSEPUEDENUSARARREGLOSOLISTASPARASUREPRE
SENTACIØNENMEMORIA

!LGORITMO +RUSKAL

+RUSKAL.

[%STEALGORITMOENCUENTRAELÈRBOLABARCADORDECOSTOMÓNIMODEUNAGRÈlCA'DE.VÏRTICES
, Y 0 SON ESTRUCTURAS DE DATOS ˆARREGLOS O LISTASˆ QUE PERMITEN GUARDAR LAS ARISTAS Y LAS
PARTICIONES RESPECTIVAMENTE]

 -IENTRASHAYAVÏRTICESEN0QUEPERTENEZCANAPARTICIONESDISTINTAS2EPETIR
$E,SELECCIONARLAARISTAU V QUETENGAELMENORCOSTO
 3IUYVSEENCUENTRANENPARTICIONESDIFERENTES ENTONCES
5NIRLASPARTICIONESALASCUALESPERTENECENUYV
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]

%JEMPLO 3EPRESENTAUNEJEMPLODEUSODELALGORITMODE+RUSKALPARAENCONTRARELÈRBOLABAR
CADORDECOSTOMÓNIMODEUNAGRÈlCA ELCUALSEAPLICAALAGRÈlCADELAlGURA
OBTENIENDOCOMORESULTADOELÈRBOLQUESEMUESTRAENLAlGURA

&)'52!
­RBOLABARCADORDECOSTOMÓNIMOOBTENIDOAPLICANDOELALGORITMODE+RUSKALA 'RÉlCA
INICIALENELLAAPARECENTODASLASARISTASCONSUPESOASOCIADO0ARTICIØNINICIAL0 
B ,UEGODESELECCIONARLAARISTADEMENORPESO QUEUNELOSVÏRTICESY
300
>«‰ÌՏœÊÇÊ Ê Ê (3Ç'*$"4

&)'52!
CONTINUACIØN
C ,UEGODESELECCIONARLASIGUIENTEARISTADEMENORPESO QUEUNELOSVÏRTICESY
D ,UEGODESELECCIONARLASIGUIENTEARISTADEMENORPESO QUEUNELOSVÏRTICESY
E ,UEGODESELECCIONARLASIGUIENTEARISTADEMENORPESO QUEUNELOSVÏRTICESY
F ­RBOLABARCADORALQUESELLEGALUEGODEAPLICARELALGORITMODE+RUSKAL
 3&40-6$*Î/%&130#-&."4 301

&)'52!
0UZZLE

,ALISTA,FORMADAPORLASARISTASYSUSCOSTOSU V C DONDEUYVSONVÏRTICESYC
REPRESENTAELCOSTOASOCIADOADICHAARISTA ESLASIGUIENTE

,[                    ]

%NLATABLASEPRESENTAELSEGUIMIENTODELALGORITMO
%NELPASOSEELIGELAARISTA  PORQUEESLAQUETIENEASOCIADOELMENORCOSTO Y
ENCONSECUENCIA SEUNENLASPARTICIONESCORRESPONDIENTESALOSVÏRTICESY,APARTICIØN
RESULTANTESESOMBREA3ESIGUEDELAMISMAMANERAENLOSPASOSY%NELPASOSE
ELIGELAARISTA  CONUNCOSTODE YNOLAARISTA  CONUNCOSTODE YAQUELOS
VÏRTICESDEESTAÞLTIMANOCUMPLENCONLACONDICIØNDEPERTENECERAPARTICIONESDISTINTAS

 2%3/,5#)¼.$%02/",%-!3
,OS PROBLEMAS BÈSICAMENTE SE CLASIlCAN EN DOS GRANDES SUBGRUPOS LOS QUE CUENTAN
CONUNASOLUCIØNDETERMINÓSTICAPARASUSOLUCIØN EXPRESABLEPORMEDIODEUNALGORIT
MO YLOSQUEREQUIERENDEUNABÞSQUEDAPARASUSOLUCIØN,AINTELIGENCIAARTIlCIALSE
PREOCUPADEESTETIPODEPROBLEMAS SINIMPORTARSISONMÈSOMENOSCOMPLEJOSQUELOS
ANTERIORESˆDETERMINÓSTICOSˆ

4!",! 0ASO !RISTAELEGIDA #OSTO 0ARTICIONES


!PLICACIØNDELALGORITMO
DE+RUSKAL  0[[] [] [] [] []]%STADOINICIAL

    0[[ ] [] [] []]


 
       
0[[ ] [ ] []]

    0[[   ] []]


   
    0[    ]
    
302
>«‰ÌՏœÊÇÊ Ê Ê (3Ç'*$"4

%NLAVIDAEXISTEUNACANTIDADDEPROBLEMASQUESEPUEDENRESOLVERAPLICANDOMÏ
TODOSDEBÞSQUEDA SIÏSTOSFUERONMODELADOSMEDIANTEGRÈlCAS5NODELOSPROBLEMAS
MÈSESTUDIADOYUTILIZADOENELCAMPODELASOLUCIØNDEPROBLEMASESELDELPUZZLE 
%STEESUNJUEGOQUECONSISTEENORDENARUNCONJUNTODElCHASENUNTABLERODE.§.PO
SICIONES USANDOSØLOUNLUGARLIBRE DETALMANERAQUEAQUÏLLASQUEDENENUNASECUENCIA
DEA. n3EUTILIZANFRECUENTEMENTELOSJUEGOSENELÈREADERESOLUCIØNDEPROBLE
MAS PORQUEPROPORCIONANUNARICAFUENTEDEEJEMPLOSPARACOMPARARYPROBARDISTINTOS
MÏTODOSDEBÞSQUEDA%NLAlGURASEPRESENTAUNEJEMPLODEUNPUZZLE 
%NELPUZZLEEXISTEUNESTADOINICIALYOTROlNALDElNIDOS0OROTRAPARTE HAYUN
CONJUNTODEMOVIMIENTOSQUEPERMITENCAMBIARDEUNACONlGURACIØNAOTRAESTOSMO
VIMIENTOSSEDENOMINANOPERADORES%NLOSDIFERENTESESTADOSPARCIALESSIEMPREEXISTEN
OPERADORESPROHIBIDOS ESDECIR QUENOSEPUEDENAPLICARPORQUELOSMOVIMIENTOSRE
PRESENTANESTADOSILEGALES
%NLAlGURASEOBSERVANTANTOLOSESTADOSINICIALYlNALDELPROBLEMAARESOL
VER,ACELDAVACÓA ENESTECASO SØLOSEPUEDEINTERCAMBIARCONLASCELDASQUECONTIE
NENALYAL RESPECTIVAMENTE
%NELPUZZLE  QUESEREPRESENTACOMOUNAMATRIZDE§ ELNÞMEROPOSIBLEDE
COMBINACIONESQUESEPODRÓANGENERARES LOCUALIMPLICAQUEELPUZZLETENGA
ESTADOSLEGALES

§ 

%S PRUDENTE DESTACAR QUE PARA UN ESTADO lNAL SØLO EXISTEN  ESTADOS INICIALES
POSIBLES,ACOMPLEJIDADDEESTEPROBLEMAESSIMILARALAQUETIENEUNCARTEROQUEDEBE
DISTRIBUIRNUEVECARTASENNUEVEDIRECCIONESDIFERENTES YQUIEREENCONTRARLATRAYECTORIA
ØPTIMA3IELPROBLEMAQUETUVIÏRAMOSQUERESOLVERFUERAENCAMBIOELPUZZLE  QUE
SE REPRESENTA EN UNA MATRIZ DE DE  §  LOS ESTADOS LEGALES DEL PROBLEMA SON  
%0OROTRAPARTE CABEMENCIONARQUEEXISTENPUZZLES  QUESEREPRESENTANEN
UNAMATRIZDE§ CUYONÞMERODEESTADOSLEGALESESSINEMBARGO MUCHOSDEELLOS
NOSEPUEDENRESOLVER
0ARAQUEELLECTOROBSERVELACOMPLEJIDADDELPROBLEMA SEPRESENTANLASTABLAS
Y DONDESEMUESTRAELTIEMPOQUESENECESITAPARAGENERARTODOSLOSESTADOSLEGALES
DELPUZZLE YPUZZLE  RESPECTIVAMENTE
%N LA PRIMERA COLUMNA SE PRESENTA EL NÞMERO DE NODOS GENERADOS POR SEGUNDO
MIENTRASQUEENLASEGUNDAESELTIEMPONECESARIOPARAPROCESARTODOSLOSNODOS%NLA
TABLASEOBSERVAQUESISEPUDIERANPROCESARNODOSPORSEGUNDO SEREQUERIRÓAN
SEGUNDOSPARAALCANZARLASOLUCIØNDELPROBLEMA%NCAMBIO SILACAPACIDADDE
PROCESAMIENTOFUERADEDENODOSPORSEGUNDO SØLOSENECESITARÓASEGUN
DOSPARALLEGARALASOLUCIØN

4!",! .ODOSPORSEGUNDO 4IEMPODESOLUCIØN


*Õââi‡n
SEGUNDOS

MINUTOS

 SEGUNDOS
 3&40-6$*Î/%&130#-&."4 303

4!",! .ODOSPORSEGUNDO 4IEMPODESOLUCIØN


0UZZLEDE™
%SEGUNDOS
%MINUTOS
 HORAS
DÓAS
A×OS

SEGUNDOS
MINUTOS

HORAS
DÓAS

%NLATABLASEPRESENTANLOSRESULTADOSPARAELPUZZLE 3ILAVELOCIDADCONQUE
SEGENERANLOSNODOSFUERADENODOSPORSEGUNDO ENTONCESSENECESITARÓAN
A×OSPARAGENERARTODOSLOSNODOSSI ENCAMBIO LAVELOCIDADFUERADEDE
NODOSPORSEGUNDO SENECESITARÓANDÓAS/BSERVEQUELOSPROBLEMASSONFÈCILMENTE
ENTENDIBLES PEROLASOLUCIØNESMUYCOMPLEJA
,OSPUZZLESCONSTITUYENUNEXCELENTECAMPOPARAAPLICARYPROBARMÏTODOSDEBÞS
QUEDA%LPUZZLEMÈSFRECUENTEMENTEUTILIZADOESELPUZZLE ESDECIR AQUELDEDIMEN
SIØN§ DONDESEDEBENACOMODARLOSNÞMEROSAL%NLAlGURASEPRESENTA
OTROEJEMPLODEPUZZLE %LPROBLEMAQUEDADElNIDOENFUNCIØNDE

◗ 5NESTADOINICIALYUNESTADOlNAL
◗ 5NCONJUNTODEMOVIMIENTOSUOPERADORES PERMITIDOSPARACAMBIARDEUNACON
lGURACIØNAOTRA%SDECIR UNOPERADORESTÈASOCIADOALCONCEPTODEMOVIMIENTOY
ESELQUEPERMITETRANSFORMARUNESTADOENOTRO
◗ 5NCONJUNTODEOPERADORESPROHIBIDOS

0ARAELPROBLEMADELPUZZLELOSOPERADORESVÈLIDOSSEMUESTRANENLAlGURA
MIENTRASQUELOSOPERADORESPROHIBIDOSSEPRESENTANENLAlGURA

&)'52!
%JEMPLODEUNPUZZLE 
304
>«‰ÌՏœÊÇÊ Ê Ê (3Ç'*$"4

&)'52!
/PERADORESVÉLIDOSPARA
ELPUZZLE

&)'52!
/PERADORESPROHIBIDOS
PARAELPUZZLE

%NLENGUAJEDEESTADOSYOPERADORES UNASOLUCIØNALPROBLEMACONSISTEENOBTENER
UNASECUENCIAAPROPIADADEOPERADORESQUEPERMITIRÈNTRANSFORMARENINICIALELESTADO
lNAL
,ASOLUCIØNDEUNPROBLEMAREQUIEREDEUNORDENDEBÞSQUEDAPARASUSOLUCIØN
PEROANTESDECOMENZARLABÞSQUEDAESNECESARIOMODELAROREPRESENTARELPROBLEMADE
ALGUNAFORMA,ASALTERNATIVASSON

◗ %SPACIOESTADO
◗ 2EDUCCIØNDEPROBLEMAS

%NESTECAPÓTULOSØLOANALIZAREMOSLAREPRESENTACIØNESPACIOESTADOPORQUEESLA
QUESERELACIONACONLASGRÈlCAS

 %SPACIO ESTADO


5NPASOIMPORTANTEENLAFORMULACIØNDEUNPROBLEMAESPACIOESTADOCONSISTEENLA
SELECCIØNDEUNAFORMADEREPRESENTARLOSESTADOSDELPROBLEMA,ASESTRUCTURASDEDATOS
MÈSUSADASPARADESCRIBIRLOSESTADOSSONARREGLOSUNIDIMENSIONALES ARREGLOSBIDIMEN
 3&40-6$*Î/%&130#-&."4 305

SIONALES LISTASLIGADAS ÈRBOLESYGRÈlCAS%NELPROBLEMADELPUZZLE  UNAMATRIZDE


§PARECESERLAESTRUCTURAMÈSNATURALPARAREPRESENTARLOSESTADOSDELPROBLEMA3IN
EMBARGO HAYQUESERCUIDADOSOSENLAELECCIØNDELAESTRUCTURAPORDOSRAZONES

 ,ASOLUCIØNDEBESERCOMPUTABLE%SDECIR SEDEBEPODERDESARROLLARUNMÏTODOQUE


SEPUEDAEJECUTARENUNACOMPUTADORAENUNTIEMPORAZONABLE
 $EBEPERMITIRALMACENARYMANIPULARLOSOPERADORESQUETRANSFORMANUNESTADOEN
OTRO

#ONSIDERANDOQUELAMATRIZESUNAESTRUCTURADEDATOSESTÈTICA LALISTARESULTASERLA
ESTRUCTURADEDATOSMÈSADECUADAPARAREPRESENTARALPUZZLE 0ORELDINAMISMODELA
MISMA SEPUEDENALMACENARFÈCILMENTELOSESTADOSYLOSOPERADORESDELPROBLEMA

 -ÏTODOSDEBÞSQUEDAENESPACIO ESTADO


%NELPLANTEAMIENTODEPROBLEMASESPACIOESTADO UNASOLUCIØNSEOBTIENEMEDIANTELA
APLICACIØNDEOPERADORESDESDEELESTADOINICIALHASTAALCANZARELESTADOlNALOMETA%S
IMPORTANTECONSIDERARLOSSIGUIENTESPUNTOS

◗ 5NNODOINICIALSEASOCIACONLADESCRIPCIØNDEUNESTADOINICIAL
◗ ,OSSUCESORESDEUNNODOSECALCULANUSANDOLOSOPERADORESQUESONAPLICABLESA
ESEESTADO
◗ 8ESUNOPERADORQUECALCULATODOSLOSSUCESORESDEUNNODO%LPROCESODEAPLICAR
8AUNNODOSEDENOMINAEXPANDERUNNODO
◗ 3EUTILIZANAPUNTADORESPARALIGARELNODOPADRECONSUHIJOY DEESTAMANERA PODER
OBTENERLATRAYECTORIACUANDOSEENCUENTRAELESTADOMETA

,OSMÏTODOSDEBÞSQUEDASECARACTERIZANPORELORDENENELCUALSEEXPANDENLOS
NODOSLOSDOSBÈSICOSMÈSAMPLIAMENTECONOCIDOSSON

◗ "READTH lRSTOBÞSQUEDAALOANCHO3EEXPANDENLOSNODOSENELORDENENQUE
HANSIDOGENERADOS
◗ $EPTH lRST O BÞSQUEDA EN PROFUNDIDAD 3E EXPANDEN LOS NODOS QUE HAN SIDO
GENERADOSRECIENTEMENTE

%S IMPORTANTE SE×ALAR QUE ÏSTOS SON MÏTODOS DE BÞSQUEDA ELEMENTALES PARA EN
CONTRAR LAS TRAYECTORIAS PERO SON EXHAUSTIVOS PORQUE EXPANDEN DEMASIADOS NODOS Y
DEBEMOSRECORDARQUESIEMPREEXISTENLÓMITES TANTODETIEMPOCOMODEESPACIO PARA
ENCONTRARLASOLUCIØNDELPROBLEMA$ENTRODELÈREADERESOLUCIØNDEPROBLEMASDEIN
TELIGENCIAARTIlCIALEXISTENOTROSMÏTODOSMÈSElCIENTESQUEINCORPORANCONOCIMIENTO
ESTRATEGIA Y HEURÓSTICA Y PERMITEN NO SØLO ENCONTRAR UNA TRAYECTORIA SINO TAMBIÏN LA
ØPTIMA
306
>«‰ÌՏœÊÇÊ Ê Ê (3Ç'*$"4

 -ÏTODODEBÞSQUEDABREADTH lRST


%NELMÏTODODEBÞSQUEDABREADTH lRSTOBÞSQUEDAALOANCHOLOSNODOSSEEXPANDEN
ENELORDENENELQUEHANSIDOGENERADOS3EAVANZAPORNIVELESESDECIR PRIMEROSE
GENERANTODOSLOSNODOSDELPRIMERNIVEL LUEGOLOSDELSEGUNDO POSTERIORMENTELOSDEL
TERCERO Y ASÓ SUCESIVAMENTE HASTA ENCONTRAR EL ESTADO META SIEMPRE QUE SEA POSIBLE
ENCUANTOATIEMPOYESPACIOOCUPADOENMEMORIA%LMÏTODOTRABAJACONDOSLISTAS
AUXILIARES UNALLAMADA!")%24/YLAOTRA#%22!$/,APRIMERASEUTILIZAPARA
ALMACENARLOSNODOSQUEESTÈNPENDIENTESDESEREXPANDIDOSCADANUEVONODOGENERADO
SECOLOCASIEMPREALlNALDE!")%24/%N#%22!$/SECOLOCANLOSNODOSQUEYAHAN
SIDOEXPANDIDOS!CONTINUACIØNSEPRESENTAELALGORITMOCORRESPONDIENTE

!LGORITMO "READTH lRST

"READTH?lRST

[%STEMÏTODOPERMITEENCONTRARLATRAYECTORIAQUEHACEPOSIBLEIRDEUNESTADOINICIALAUN
ESTADOlNAL USANDOLOSOPERADORESPERMITIDOS!")%24/Y#%22!$/SONDOSLISTASLIGADAS
ENLASCUALESSEALMACENANLOSNODOSPENDIENTESDESEREXPANDIDOSYLOSNODOSYAEXPANDIDOS
RESPECTIVAMENTE]

 )NSERTARELNODOINICIALENLALISTA!")%24/
 -IENTRAS!")%24/NOESTÏ6!#¶! YNOSEHAYAALCANZADOELESTADOlNAL 2EPETIR
1UITARELPRIMERNODO8DE!")%24/
 3IELNODO8NOSEENCUENTRAEN#%22!$/ ENTONCES
0ONERELNODO8ENLALISTA#%22!$/
%XPANDIRELNODO8OBTENIENDOTODOSSUSSUCESORES
 3IHAYSUCESORESYNOSONELESTADOlNAL ENTONCES
!LMACENARLOSALlNALDE!")%24/YPROVEERAPUNTADORESPARAREGRESARA8
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
 3ISEGENERØELESTADOlNAL
ENTONCES[²XITO]
$ESPLEGARTRAYECTORIADELESTADOINICIALALESTADOlNAL
SINO[&RACASO]
%SCRIBIRh.OSEALCANZØELESTADOlNALv
 [&INDELCONDICIONALDELPASO]

%JEMPLO !CONTINUACIØNSEPRESENTAUNEJEMPLODEAPLICACIØNDELMÏTODODEBÞSQUEDABREADTH
lRSTPARAENCONTRARUNATRAYECTORIAENTREDOSNODOS%LPROBLEMACONSISTEENENCONTRAR
UNATRAYECTORIADE3A+ DELAGRÈlCAPRESENTADAENLAlGURA TOMANDOELORDEN
ALFABÏTICOCOMOBASEPARAELORDENDEAPLICACIØNDELOSOPERADORES
%NLAlGURASEOBSERVAQUEPARAESTEPROBLEMA LASOLUCIØNALCANZADAES

3 ! # % * +


 3&40-6$*Î/%&130#-&."4 307

&)'52!
"ÞSQUEDABREADTH lRST

&)'52!
4RAYECTORIAENCONTRADA
3 ! # % * +

9AFUERONEXPANDIDOS
308
>«‰ÌՏœÊÇÊ Ê Ê (3Ç'*$"4

LACUALSEINDICACONUNAmECHAENCOLOR%NELESTADOINICIAL 3 SEOBTIENENTODOSSUS
SUCESORES LOSCUALES SEGÞNLAGRÈlCADELAlGURA SON!Y'#OMONINGUNODELOS
DOSESELESTADOMETA SECONTINÞAEXPANDIENDOCADAUNODEESTOSNODOS!SÓ PARA!SE
OBTIENEN" #Y' MIENTRASQUEPARA'SEGENERARON!Y(%NAMBOSCASOSSEOBTUVIE
RONNODOS'Y! CONLOSQUEYASECONTABAPOREXPANSIONESANTERIORESPORLOTANTO SE
IGNORAN%NLAGRÈlCA ESTOSCASOSSESE×ALANCON
%NLAlGURASEOBSERVACLARAMENTE
QUETODASLASRAMASDELÈRBOLCRECEN ENPROFUNDIDAD DEIGUALMANERA
%JEMPLO !CONTINUACIØNSEPRESENTAOTROEJEMPLODEAPLICACIØNDELMÏTODODEBÞSQUEDABREADTH
lRST PEROAHORAPARARESOLVERELPUZZLE %NESTECASOSEUSANLISTASPARAREPRESENTAR
LOSNODOS

.OTA 3E UTILIZA EL  EN LUGAR DEL RECTÈNGULO PARA INDICAR CELDA VACÓA SIMPLEMENTE PARA MANTENER LA
HOMOGENEIDADDELOSDATOS

#ABERECORDARQUESEUSANLASLISTAS!")%24/Y#%22!$/PARAALMACENARLOS
NODOSQUESEVANAEXPANDIRENALGÞNMOMENTOYLOSQUEYAHANSIDOEXPANDIDOS RES
PECTIVAMENTE%STAÞLTIMALISTATAMBIÏNSEUTILIZAPARARECUPERARLATRAYECTORIADESDEEL
ESTADOINICIALALESTADOMETA UNAVEZQUESEALCANZAESTAÞLTIMA4AMBIÏNESIMPORTANTE
REMARCARQUECADAVEZQUESEEXPANDEUNNODOESNECESARIOVERIlCARQUESUCONTENIDO
NOSEENCUENTREENLALISTA#%22!$/ PARAEVITARCAERENCICLOSINlNITOS3IEXPANDE
MOSUNNODOQUEYASEENCUENTRAEN#%22!$/ ENTONCESCAEMOSENUNCICLO YADE
MÈSDESERMUYDIFÓCILSALIRDEÏL ESCASIIMPOSIBLEENCONTRARLASOLUCIØNDELPROBLEMA
ˆESTADOMETAˆ
 3&40-6$*Î/%&130#-&."4 309

,A lGURA  PRESENTA LA SOLUCIØN AL PROBLEMA DEL PUZZLE  ,OS OPERADORES SE
APLICANSIGUIENDOLAFORMADELASMANECILLASDELRELOJIZQUIERDA ARRIBA DERECHAYABAJO
← ↑ → ↓3EPRESENTANACONTINUACIØNLASLISTAS!")%24/Y#%22!$/FORMADAS
DURANTELASOLUCIØNDELPROBLEMA,ASLÓNEASHORIZONTALESSOBRELAINFORMACIØNDELOS
NODOSINDICANQUEDICHONODOSEQUITØDELALISTA!")%24/#OMOSEOBSERVA ENLAS
DOSLISTASSEINCORPORASOLAMENTELAINFORMACIØNDELNODOPORPROBLEMASDEESPACIO%N
UNAAPLICACIØNREALESABSOLUTAMENTENECESARIOINCLUIRELCONTENIDOCOMPLETODELNODO
/BSERVEQUEPARAELESTADOINICIALLAINFORMACIØNDEESENODOES.), %L
PRIMERNÞMERO  INDICAELNÞMERODELNODOELSEGUNDO  INDICASUPADRE ELTERCERO
 ELNIVELENQUENOSENCONTRAMOSYELÞLTIMO .), ELOPERADORAPLICADO

&)'52!
3OLUCIØNALPROBLEMADELPUZZLE 
310
>«‰ÌՏœÊÇÊ Ê Ê (3Ç'*$"4

!")%24/ #%22!$/

.), .),
← → ↓ ← .),
→ ↓ ↓ → ← .),
↓ ↓ ↓ ↓ → ← .),
↓ ↓ ← → ↓ ↓ ↓ → ← .),

5NAVEZQUESEALCANZAELESTADOMETASEPUEDEOBTENERINFORMACIØNMUYVALIOSA
DELCAMPO)NFORMACIØNDELNODO%NESTEEJEMPLO→ ELNÞMEROINDICAQUE
SEHANGENERADOn NODOS!SIMISMO ELINDICAQUEELESTADOMETASEENCONTRØEN
ELNIVELY PORLOTANTO SENECESITAAPLICARTRESOPERADORESPARARESOLVERELPROBLEMA
0OROTRAPARTE LATRAYECTORIASEDEBEOBTENERDE#%22!$/DELASIGUIENTEMANERA

→ PADREDE→SEBUSCAEN#%22!$/ELNÞMERODENODO
↓ PADREDE→SEBUSCAEN#%22!$/ELNÞMERODENODO
← PADREDE→SEBUSCAEN#%22!$/ELNÞMERODENODO
.), PADREDE→SEBUSCAEN#%22!$/ELNÞMERODENODO

,ASOLUCIØNENLENGUAJEDEESTADOSYOPERADORESES

←↓→

2ECUERDEQUEENELLENGUAJEDEESTADOSYOPERADORES LASOLUCIØNAUNPROBLEMA
CONSISTE EN ENCONTRAR LA SECUENCIA DE OPERADORES QUE PERMITEN TRANSFORMAR EL ESTADO
INICIALENELlNAL

%JEMPLO !CONTINUACIØNSEPRESENTAOTROEJEMPLODEUSODELMÏTODODEBÞSQUEDABREADTH lRST


%NESTECASO ELMÏTODOPERMITEPROBARSIUNACADENADADACOMOENTRADAFUEGENERADAO
NOPORCIERTAGRAMÈTICA0ARAESTEPROBLEMALOSOPERADORESSEDElNENENTÏRMINODELAS
SIGUIENTESREGLASDEREESCRITURA

 αβ → γ
 αγ → γ
 γβ → γ
 γγ → γ
 γ→Σ

%NLAlGURASEPRESENTALAGRÈlCACONLOSNODOSGENERADOSAPARTIRDELESTADO
INICIALαβααβαβHASTAALCANZARELESTADOMETAΣ%L
DEBAJODEUNNODOINDICAQUE
DICHONODOYAEXISTEY PORLOTANTO SEELIMINAPARAEVITARLOSCICLOS#OMOENELEJEM
PLOANTERIOR LASLISTAS!")%24/Y#%22!$/ALMACENANLOSNODOSPENDIENTESDESER
EXPANDIDOSYAQUELLOSQUEYAHANSIDOEXPANDIDOS,ASLÓNEASHORIZONTALESSOBREALGU
NOSNODOSINDICANQUEÏSTOSFUERONELIMINADOSDE!")%24/PORHABERSIDOEXPANDIDOS
ANTERIORMENTE PARANOCAERENCICLOSINlNITOS
 3&40-6$*Î/%&130#-&."4 311

&)'52!
.ODOSGENERADOSPARA
LLEGARALESTADOMETA

!")%24/
.IL
  
   
     
      
       
       

312
>«‰ÌՏœÊÇÊ Ê Ê (3Ç'*$"4

        


         

        


         

        


         

        


        

       


      



    







 3OLUCIØN

#%22!$/
.),
 .),
  .),
   .),
    .),
     .),
      .),
       .),
        .),
         .),
          .),
           
.),
           
 .),
           
  .),
           
   .),
          
     .),
          
      .),
          
       .),
 3&40-6$*Î/%&130#-&."4 313

,ATRAYECTORIAQUEPERMITELLEGARALASOLUCIØNESLASIGUIENTE

       .),

%LESTADOMETAESELNODO %LTOTALDENODOSGENERADOSESYFUERON
NECESARIOSSIETENIVELESPARAALCANZARLASOLUCIØN,OSOPERADORESˆREGLASDEREESCRITU
RAˆAPLICADOSPARAALCANZARELESTADOMETAPARTIENDODELESTADOINICIALSON

 αβ →γ
 αβ →γ
 αβ →γ
 αγ →γ
 γγ →γ
 γγ →γ
 γ →Σ

%JEMPLO /TROEJEMPLODEAPLICACIØNDELMÏTODODEBÞSQUEDABREADTH lRSTESELCONOCIDOCOMO


PROBLEMADELASJARRASDEAGUA3ETIENENDOSJARRAS UNACONCAPACIDADPARACUATROLI
TROSYOTRAPARATRES.INGUNADEELLASTIENEMARCASDEMEDICIØN!DEMÈS SEDISPONEDE
UNABOMBADEAGUAQUEPERMITELLENARLASJARRASDEAGUATANTASVECESCOMOSEREQUIERA
%LPROBLEMACONSISTEENENCONTRARLAFORMADECOLOCAREXACTAMENTEDOSLITROSDEAGUA
ENLAJARRADECUATROLITROS%NESTEPROBLEMASEPARTEDEUNESTADOINICIALYEXISTENVA
RIASMANERASDEALCANZARELESTADOlNAL PARTICULARIDADQUELOCONVIERTEENUNCASOMUY
INTERESANTE
,OSELEMENTOSDELPROBLEMASEALMACENANENUNALISTAFORMADAPORLASVARIABLES
8Y9 LASCUALESASUVEZREPRESENTARÈNALASJARRASDECUATROYTRESLITROSDECAPACIDAD
RESPECTIVAMENTE

8*ARRADECUATROLITROS QUEPUEDETOMARLOSVALORES    


9*ARRADETRESLITROS QUEPUEDETOMARLOSVALORES   

0ARAESTEPROBLEMALOSOPERADORESVÈLIDOSSONLOSQUESEMUESTRANENLATABLA

4!",! )DENTIlCADOR
/PERADORESPARAEL DELOPERADOR $ESCRIPCIØNDELAOPERACIØN
PROBLEMADELAJARRA
 ,LENARLAJARRADECUATROLITROS

 ,LENARLAJARRADETRESLITROS

 6ACIARENELSUELOLAJARRADECUATROLITROS

 6ACIARENELSUELOLAJARRADETRESLITROS

6ERTERDELAJARRADECUATROLITROSALADETRES HASTAQUELASEGUNDASELLENEO

LAPRIMERAQUEDEVACÓA

6ERTERDELAJARRADETRESLITROSALADECUATRO HASTAQUELASEGUNDASELLENEO

LAPRIMERAQUEDEVACÓA
314
>«‰ÌՏœÊÇÊ Ê Ê (3Ç'*$"4

%LESTADOINICIALYELlNALDELPROBLEMASEDElNENCOMO

%STADOINICIAL  !MBASJARRASESTÈNVACÓAS
%STADOlNAL . ,AJARRA8TIENEDOSLITROSYLAJARRA9TIENE. DONDE. 
 

/BSERVEQUEESTEPROBLEMAMUESTRALAPARTICULARIDADDETENERUNESTADOINICIALY
MÞLTIPLESESTADOSlNALESˆˆ%NLAlGURASEPRESENTALAGRÈlCACONLOSNODOS
GENERADOSPARAALCANZARLASOLUCIØN#OMOENLOSEJEMPLOSANTERIORES ELASTERISCOSE
UTILIZAPARAINDICARQUEDICHONODOYAFUEGENERADOY PORLOTANTO SEIGNORA

&)'52!
.ODOSGENERADOSPARAALCANZARLASOLUCIØN
 3&40-6$*Î/%&130#-&."4 315

!CONTINUACIØNSEPRESENTANLASLISTAS!")%24/Y#%22!$/DONDESEGUARDAN
RESPECTIVAMENTE LOSNODOSGENERADOSYEXPANDIDOS,ASLÓNEASATRAVESADASSOBREALGU
NOSNODOSINDICANQUEÏSTOSFUERONELIMINADOSPORHABERSIDOEXPANDIDOSANTERIORMEN
TE%LASTERISCODEBAJODEUNNODOINDICAQUEÏSTEYAEXISTEY PORLOTANTO SEELIMINA
PARAEVITARCAERENCICLOS,AIGUALDADSEDETECTAALCOMPARARELCONTENIDODELNODOQUE
SEQUIEREEXPANDIRCONELDEAQUELLOSQUEYASEENCUENTRANEN#%22!$/

!")%24/
.),
 
   
     
      

        



         



        



         




       




       



 %STADOMETA

#%22!$/
.),
 .),
  .),
   .),
    .),
     .),
      .),
       .),
        .),
         .),
          .),

%LESTADOMETASEENCUENTRAENELNODO %LTOTALDENODOSGENERADOSES
n YELTOTALDENIVELESES,ATRAYECTORIAQUEDESCRIBELASOLUCIØNSERECUPERA
DELALISTA#%22!$/

       .),


316
>«‰ÌՏœÊÇÊ Ê Ê (3Ç'*$"4

#ONSIDERANDOLADESCRIPCIØNDELASOPERACIONESASOCIADASALOSOPERADORESˆTABLA
ˆ LASOLUCIØNENLENGUAJEDEESTADOSYOPERADORESES

     

%STASECUENCIADEOPERADORESINDICAQUEPRIMEROSEDEBELLENARLAJARRA8ˆREQUIE
RECUATROLITROSˆYLUEGOVERTERESAAGUAENLAJARRA9ˆSØLOSEUSARÈNTRESDELOSCUATRO
LITROSˆ%LSIGUIENTEOPERADORINDICAQUESEDEBEVACIARLAJARRA9 ARROJANDOELAGUA
QUECONTIENEALPISO0OSTERIORMENTESECOLOCAELLITRORESTANTEDELAJARRA8ENLAJARRA9
QUEDANDOLAPRIMERAVACÓAYLASEGUNDACONUNLITRO,UEGOSELLENALAJARRA8ˆUSANDO
CUATROLITROSˆ0ORÞLTIMO SEPASAAGUADELAJARRA8ALAJARRA9HASTAQUEÏSTASELLENE
ˆLOCUALSELOGRACONSØLODOSLITROSˆPORLOTANTO LAJARRA8SEQUEDACONLOSOTROS
DOSLITROS ALCANZANDOASÓELESTADOMETA

#OMPLEJIDADDELMÏTODOBREADTH lRST
,ACOMPLEJIDADDELMÏTODOBREADTH lRSTES/BD DONDEBREPRESENTAELFACTORDERA
MIlCACIØNDELNODOYDLAPROFUNDIDADDELÈRBOL3UPONIENDOQUEB LAVELOCIDAD
DEEXPANSIØNDENODOSPORSEGUNDOYLACAPACIDADDEALMACENAMIENTOBYTES
POR NODO EN LA TABLA  SE OBSERVA EN TIEMPO Y ESPACIO LA COMPLEJIDAD DEL MÏTODO
BREADTH lRST
%SIMPORTANTEDESTACARQUECUANDOSEUTILIZAELMÏTODOBREADTH lRSTSEDEBEEN
CONTRARLASOLUCIØNENLOSPRIMEROSSEISNIVELES PORQUEDEOTRAFORMAAPARECERÈNSERIOS
PROBLEMASENCUANTOATIEMPOYESPACIO/BSERVEQUEENELNIVELYASENECESITAN
HORASPARARESOLVERELPROBLEMAYGIGABYTES

 -ÏTODODEBÞSQUEDADEPTH lRST


%NELMÏTODODEBÞSQUEDADEPTH lRST CONOCIDOCONELNOMBREDEBÞSQUEDAENPROFUN
DIDADENELMUNDODEHABLAHISPANA SEEXPANDEELNODOMÈSRECIENTEMENTEGENERADO

4!",! 0ROFUNDIDAD .ODOS 4IEMPO -EMORIA


#OMPLEJIDADBREADTH lRST
/BD   MILISEGUNDO BYTES

  SEGUNDO +B

  SEGUNDOS -B

  MINUTOS -B



  HORAS 'B

  DÓAS 4B



  A×OS 4B

  A×OS 4B


 3&40-6$*Î/%&130#-&."4 317

ESTOÞLTIMOPERMITEREALIZARUNABÞSQUEDAENPROFUNDIDADENLUGARDEHACERLOENFORMA
HORIZONTALCOMOENELMÏTODODEBÞSQUEDAALOANCHO,APROFUNDIDADDELNODOINICIAL
ESCEROYLADEUNNODOQUENOESINICIALESIGUALAUNOMÈSLAPROFUNDIDADDESUPADRE
.ORMALMENTESEESTABLECEUNLÓMITEMÈXIMODEPROFUNDIDADPERMITIDO QUEASU
VEZESTABLECEELNÞMEROMÈXIMODENIVELESQUESEPUEDENGENERARENLABÞSQUEDADELA
SOLUCIØN3ISELLEGAALLÓMITEESTABLECIDOSINHABERALCANZADOELESTADOMETA ENTONCES
SECONSIDERAQUEELPROBLEMANOTIENESOLUCIØN!CONTINUACIØNSEPRESENTAELALGORITMO
CORRESPONDIENTE

!LGORITMO $EPTH lRST

$EPTH &IRST

[%STEMÏTODOPERMITEENCONTRARELESTADOMETADEUNPROBLEMA APARTIRDEUNESTADOINICIALY
USANDOLOSOPERADORESPERMITIDOSPARADICHOPROBLEMA0ESUNENTEROQUEINDICAELLÓMITEDE
PROFUNDIDADPERMITIDO!")%24/Y#%22!$/SONDOSLISTASLINEALESSIMPLEMENTELIGADAS]

 )NSERTARELNODOINICIALENLALISTALLAMADA!")%24/
 -IENTRAS!")%24/TENGAELEMENTOS YNOSEHAYALLEGADOALESTADOlNAL 2EPETIR
1UITARELPRIMERNODO.DE!")%24/
 3I.NOESTÈEN#%22!$/ YSUPROFUNDIDADES≤0 ENTONCES
)NSERTARELNODO.ENLALISTA#%22!$/
%XPANDIRELNODO.OBTENIENDOTODOSSUSSUCESORES
 3IHAYSUCESORESYNOSONELESTADOMETA ENTONCES
!LMACENARLOSALINICIODELALISTA!")%24/
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
 3IALGUNODELOSNODOSGENERADOSESELESTADOMETA
ENTONCES[²XITO]
$ESPLEGARLATRAYECTORIADESDEELESTADOINICIALALlNAL
SINO[&RACASO]
.OSEENCONTRØELESTADOlNAL
 [&INDELCONDICIONALDELPASO]

%NESTEALGORITMOSEMANEJAUNVALORADICIONAL 0 QUEREPRESENTALAPROFUNDIDAD
MÈXIMAPERMITIDA!LRESOLVERELPROBLEMASEVERIlCASIELNODOYATIENEESAPROFUN
DIDAD%NCASOAlRMATIVO SEELIMINADELALISTA!")%24/YSEAPLICABACKTRACKINGES
DECIR SECONTINÞAELANÈLISISCONELNODOINMEDIATAMENTEANTERIORDELÈRBOLDEDERIVA
CIØN!DEMÈS ESIMPORTANTEDESTACARQUEMIENTRASENELMÏTODOBREADTH lRSTLOSNODOS
GENERADOSSEALMACENANALlNALDE!")%24/ ENELMÏTODODEPTH lRSTSECOLOCANAL
INICIO
318
>«‰ÌՏœÊÇÊ Ê Ê (3Ç'*$"4

%JEMPLO !CONTINUACIØNSEPRESENTAUNEJEMPLODEAPLICACIØNDELMÏTODODEBÞSQUEDADEPTH
lRST3ERETOMAELPROBLEMADELPUZZLE  PEROAHORASESOLUCIONAPORMEDIODEESTE
MÏTODO3EPARTEDEUNESTADOINICIALYSEDElNEUNESTADOlNALALCUALSEQUIERELLEGAR

%STADOINICIAL %STADOlNAL
     

     

     

%LESTADOINICIALSEREPRESENTADELASIGUIENTEMANERA

.IL   

)NFORMACIØNDELNODO #ONTENIDODELNODO

!DEMÈSSEESTABLECEUNLÓMITEDEPROFUNDIDADIGUALA%NLAlGURASEPRE
SENTALAGRÈlCACONLOSNODOSGENERADOSHASTALLEGARALASOLUCIØN,ASLÓNEASPUNTEADAS
INDICANBACKTRACKING UNMÏTODOQUEDESHACEPARTEDELATRAYECTORIAGENERADACUANDO
ÏSTANOPERMITELLEGARALASOLUCIØN
!CONTINUACIØNSEPRESENTANLASLISTAS!")%24/Y#%22!$/DONDESEGUARDAN
RESPECTIVAMENTE LOSNODOSGENERADOSYLOSEXPANDIDOS,ASLÓNEASHORIZONTALESINDICAN
QUEDICHOSNODOSFUERONELIMINADOSYASEAPORHABERSIDOEXPANDIDOSANTERIORMENTEO
PORHABERLLEGADOALAPROFUNDIDADLÓMITEESTABLECIDA%LASTERISCODEBAJODEUNNODO
INDICAQUEÏSTEYAEXISTEOQUESUPROFUNDIDADESIGUALALAMÈXIMAESTABLECIDAPORLO
TANTO SEELIMINAPARAEVITARCAERENCICLOS

!")%24/

.),
← ↑ → ↓
↑ ↓ ↑ → ↓
→ ↓ ↑ → ↓
→ ↓ ↓ ↑ → ↓

→ ↑ → ↓


→ → ↑ → ↓

← → → ↓


↓ → → ↓

→ %STADOMETA
 3&40-6$*Î/%&130#-&."4 319

&)'52!
3OLUCIØNALPROBLEMA
DELPUZZLE APLICANDO
DEPTH lRST
320
>«‰ÌՏœÊÇÊ Ê Ê (3Ç'*$"4

#%22!$/
.),
← .),
↑ ← .),
→ ↑ ← .),
↓ → ↑ ← .),
→ ↓ → ↑ ← .),
↑ → ↓ → ↑ ← .),
← ↑ → ↓ → ↑ ← .),
↓ ← ↑ → ↓ → ↑ ← .),

%LESTADOMETASEENCUENTRAENELNODO→ %LTOTALDENODOSGENERADOSES
n YESELNIVELDONDEENCONTRAMOSELESTADOMETA,ATRAYECTORIAQUEDESCRIBE
LASOLUCIØNSERECUPERADELALISTA#%22!$/

→ ↓ ← ↑ .),

,ASOLUCIØNEXPRESADAENLENGUAJEDEESTADOSYOPERADORESQUEDADELASIGUIENTE
MANERA
↑←↓→
,OSMÏTODOSDEBÞSQUEDAANALIZADOS BREADTH lRSTYDEPTH lRST SECONOCENCOMO
CIEGOS YAQUESONMÏTODOSEXHAUSTIVOS%NPRINCIPIO ESTOSMÏTODOSPROPORCIONANUNA
SOLUCIØNPARAENCONTRARUNATRAYECTORIA PEROSONPOCOPRÈCTICOSPORQUEEXPANDENDE
MASIADOS NODOS ADEMÈS SABEMOS QUE EXISTEN LÓMITES EN CUANTO A TIEMPO Y ESPACIO
ˆMEMORIAˆ5SANDOINFORMACIØNESPECIALDELPROBLEMAYSUREPRESENTACIØNSEPUEDE
AUMENTARLAVELOCIDAD%SAINFORMACIØNSEDENOMINAINFORMACIØNHEURÓSTICA
%NELCAMPODELASOLUCIØNDEPROBLEMAS HEURÓSTICASIGNIlCAACELERARELPROCESO
DEBÞSQUEDAHACIALAMETAMEDIANTELAEXPANSIØNDELOSNODOSMÈSPROMISORIOS5NO
DELOSTEMASQUEOCUPAALAINTELIGENCIAARTIlCIALESPRECISAMENTEELESTUDIODEMÏTODOS
HEURÓSTICOS
%NRESUMEN LOSMÏTODOSANALIZADOSPUEDENMEJORARCONSIDERABLEMENTESUDESEM
PE×OSILESINCORPORAMOSCONOCIMIENTOYHEURÓSTICA5NODELOSMÏTODOSHEURÓSTICOSDE
MEJORCOMPORTAMIENTOSECONOCECOMO!


 ,!#,!3%'2­&)#!
0ARADElNIRLACLASEGRÈlCASEREQUIEREDETERMINARSUSATRIBUTOSYLOSMÏTODOSNECESA
RIOSPARASUMANEJO,OSATRIBUTOSSONLOSVÏRTICESYARISTAS INDICANDOENESTASÞLTIMAS
SITIENENDIRECCIØNYCOSTO0ARASUREPRESENTACIØNSEPUEDEUTILIZARCUALQUIERADELAS
ESTRUCTURASPRESENTADAS%NCUANTOALOSMÏTODOS ÏSTOSSERÈNLOSQUEPERMITANENCONTRAR
UNVÏRTICE IMPRIMIRLAINFORMACIØNDEVÏRTICESYARISTAS ASÓCOMOENCONTRARTRAYECTORIAS
SEGÞNELTIPODEGRÈlCAQUESEESTÏREPRESENTANDO
%SRECOMENDABLEQUESEDElNAUNACLASEPORTIPODEGRÈlCA%SDECIR UNAPARALAS
GRÈlCASDIRIGIDASYOTRAPARALASGRÈlCASNODIRIGIDAS%NCADAUNADEELLASSEDEBERÈ
INCLUIR COMOMÏTODOS LOSALGORITMOSESTUDIADOSENESTECAPÓTULO
&+&3$*$*04 321

▼ %*%2#)#)/3
Ê £° 0ARACADAUNADELASGRÈlCASDELAlGURAINDIQUE

A !QUELLASQUESONGRÈlCASCONECTADAS
B !QUELLASQUESONGRÈlCASCÓCLICAS
C !QUELLASQUESONGRÈlCASCONEXAS
D !QUELLASQUESONGRÈlCASCOMPLETAS
E 4ODOSLOSPARESDEVÏRTICESADYACENTES
F 5NCAMINOENTRELOSVÏRTICESAYC SIESPOSIBLE
G 5NCAMINOCERRADOENTRECUALQUIERPARDEVÏRTICES SIESPOSIBLE
H 5NCAMINOSIMPLEENTRECUALQUIERPARDEVÏRTICES SIESPOSIBLE
I %LGRADODECADAVÏRTICE

Ê Ó° 5TILICEUNAMATRIZDEADYACENCIAYUNALISTASIMILARPARAREPRESENTARLASGRÈlCASDE
LAlGURAAYB

Ê Î° 5TILICEUNAMATRIZDEADYACENCIAYUNALISTADEADYACENCIAPARAREPRESENTARLADIGRÈ
lCADELAlGURA

&)'52!
322
>«‰ÌՏœÊÇÊ Ê Ê (3Ç'*$"4

&)'52!

Ê {° 5TILICEUNAMATRIZDECOSTOSPARAREPRESENTARLAGRÈlCADELAlGURA

Ê x° 5TILICEUNAMATRIZDECOSTOSPARAREPRESENTARLASDIGRÈlCASDELAlGURAAYB

Ê È° $ADALADIGRÈlCAREPRESENTADAENLAlGURA INDIQUECUÈLESDELASSIGUIENTES


SUCESIONESDEÓNDICESDESCRIBENUNCAMINOENELLA

A 
B 
C 
D 
E 

&)'52!
&+&3$*$*04 323

&)'52!

Ê Ç° $ADALADIGRÈlCADELAlGURA ENCUENTREUNCAMINOACÓCLICODE

A A
B A
C A
D A
E A

Ê n° $ADALADIGRÈlCADELAlGURA

A %NCUENTRELATRAYECTORIAMÈSCORTADELVÏRTICEAATODOSLOSOTROSVÏRTICES
B 5TILICEUNAMATRIZDECOSTOSPARAREPRESENTARLA

&)'52!
324
>«‰ÌՏœÊÇÊ Ê Ê (3Ç'*$"4

&)'52!

Ê ™° $ADALASIGUIENTEMATRIZDEADYACENCIA DIBUJELAGRÈlCACORRESPONDIENTE

&)'52!
&+&3$*$*04 325

£ä°$ADALASIGUIENTEMATRIZDEADYACENCIA DIBUJELADIGRÈlCACORRESPONDIENTE

££°$ADALASIGUIENTEMATRIZDECOSTOS DIBUJELADIGRÈlCACORRESPONDIENTE

£Ó°!PLIQUEELALGORITMODE$IJKSTRAALADIGRÈlCADELAlGURAB4OMEELVÏRTICEA
COMOVÏRTICEORIGEN#ONSTRUYALATABLACORRESPONDIENTEALSEGUIMIENTODELALGORIT
MO

£Î°!PLIQUEELALGORITMODE&LOYDALADIGRÈlCADELAlGURA#ONSTRUYALATABLA
CORRESPONDIENTEALSEGUIMIENTODELALGORITMO

£{°!PLIQUEELALGORITMODE7ARSHALLALADIGRÈlCADELAlGURA#ONSTRUYALATABLA
CORRESPONDIENTEALSEGUIMIENTODELALGORITMO
326
>«‰ÌՏœÊÇÊ Ê Ê (3Ç'*$"4

£x°!PLIQUEELALGORITMODE0RIMALAGRÈlCADELAlGURA#ONSTRUYALATABLACO
RRESPONDIENTEALSEGUIMIENTODELALGORITMO

£È°!PLIQUEELALGORITMODE+RUSKALALAGRÈlCADELAlGURA#ONSTRUYALATABLA
CORRESPONDIENTEALSEGUIMIENTODELALGORITMO

£Ç°%SCRIBAUNALGORITMOQUEPERMITAALMACENARUNAGRÈlCAPORMEDIODE

A 5NAMATRIZDEADYACENCIA
B 5NALISTADEADYACENCIA

£n°%SCRIBAUNALGORITMOQUEPERMITAALMACENARUNADIGRÈlCAPORMEDIODEUNAMATRIZ
DECOSTOS

£™°%SCRIBAUNALGORITMOQUEPERMITA DADAUNAGRÈlCAALMACENADAPORMEDIODEUNA
MATRIZDEADYACENCIA IMPRIMIRTODOSLOSPARESDEVÏRTICESADYACENTES

Óä°%SCRIBAUNAVERSIØNMODIlCADADELALGORITMODE$IJKSTRAQUEPERMITAELEGIRELCA
MINOCONELMENORNÞMERODEARISTAS ENCASODETRAYECTORIASCONIGUALCOSTO

Ó£°%SCRIBAUNALGORITMOQUEPERMITAELIMINARLASARISTASNECESARIASPARAOBTENER COMO
RESULTADO UNAGRÈlCAACÓCLICA

ÓÓ°#ONSIDEREQUEHAYCUATROTIPOSDESANGRE! " !"Y/!DEMÈS SESABEQUEELTIPO


/ESCOMPATIBLEhPUEDEDONARAv CONCUALQUIERADELOSCUATROTIPOSELTIPO!ES
COMPATIBLECONSUTIPOYCONELTIPO!"ELTIPO"ESCOMPATIBLECONSUTIPOYCON
ELTIPO!" YELTIPO!"SØLOPUEDEDONARASUMISMOTIPO5TILICEUNAGRÈlCAPARA
REPRESENTARESTAINFORMACIØNz1UÏTIPODEGRÈlCASERÈLAMÈSAPROPIADA*USTIlQUE
SURESPUESTA

Óΰ0IENSEENLARECETAPARAPREPARARSUPLATILLOFAVORITO,ASOPERACIONESINVOLUCRADAS
JUNTOCONELTIEMPOREQUERIDOPARASUREALIZACIØN PUEDENREPRESENTARSEPORMEDIO
DEUNAGRÈlCA%NELLASEPUEDENINDICARLASTAREASAREALIZARSIMULTÈNEAMENTE ASÓ
COMOAQUELLASQUEDEBENSEGUIRCIERTASERIACIØN5TILICEUNAGRÈlCAYREPRESÏNTELA
CONSIDERANDOQUE

A 5STEDNOCUENTACONAYUDAY PORLOTANTO VAALLEVARACABOCADAUNADELASACTIVI


DADESREQUERIDAS
B 5STEDCUENTACONTANTOSAYUDANTESCOMODESEEY PORLOTANTO CIERTASTAREASSEPUE
DENREALIZARPARALELAMENTE

Ó{°3EQUIEREREPRESENTARUNATOPOLOGÓADEUNAREDTELEFØNICA DONDESEDISTINGUENCEN
TRALESDECONMUTACIØNYENLACESENTRELASCENTRALES,OSENLACESENTRELASCENTRALES
SONBIDIRECCIONALESYCONDIFERENTESCAPACIDADESDETRANSMISIØNCANALESDEVOZ 
5TILICEUNAGRÈlCAPARAREPRESENTARUNAREDDEESTETIPOz1UÏTIPODEGRÈlCASERÈ
LAMÈSAPROPIADAz#ØMOSEMODIlCALAGRÈlCASICAMBIANLASCAPACIDADESz1UÏ
OPERACIONESSOBREESTAGRÈlCAPODRÓANSERDEINTERÏS*USTIlQUESUSRESPUESTAS
&+&3$*$*04 327

Óx°3E TIENE UN ALFABETO QUE CONSISTE EN TODAS LAS PALABRAS BINARIAS DE TRES BITS!L
TRANSMITIRLOSATRAVÏSDEUNCANALCONRUIDOSEORIGINANCAMBIOS Y PORLOTANTO SE
ORIGINATRANSICIØNENTRELASPALABRASTRANSMITIDAS0OREJEMPLO SILAPALABRATRANS
MITIDAES LARECIBIDAPODRÓASER3UPONGAQUEENCADAPALABRATRANSMITIDA
PUEDEHABERSØLOUNDÓGITOCONERROR#ONUNAGRÈlCAREPRESENTETODASLASPALABRAS
DELALFABETOYLASTRANSICIONESQUEPUEDENORIGINARSEAOTRASPALABRASALTRANSMITIRLAS
ATRAVÏSDELCANALCONRUIDOz1UÏTIPODEGRÈlCASERÈLAMÈSAPROPIADA*USTIlQUE
SURESPUESTA

ÓÈ°3ETIENENTRESJARRASDEAGUACONCAPACIDADESDECINCO TRESYSIETELITROS.INGUNA
DEELLASPRESENTAMARCASDEMEDICIØN3ETIENEUNABOMBAQUEPERMITELLENARLASJA
RRASDEAGUAz#ØMOSEPUEDENCOLOCAREXACTAMENTECUATRO LITROSDEAGUAENLA
JARRADECINCOLITROSDECAPACIDAD

ÓÇ°4RESMISIONEROSYTRESCANÓBALESSEENCUENTRANSOBRELAORILLADEUNRÓO4ODOSQUIE
RENLLEGARALAOTRAORILLA PEROÞNICAMENTEHAYUNBOTEPARADOSPERSONAS,OSMI
SIONEROS PARANOCORRERELRIESGODESERCOMIDOS QUIERENQUESUNÞMERONUNCASEA
MENORQUEELDECANÓBALESENELMISMOLADODELRÓOz#ØMOPUEDENCRUZARTODOSSIN
QUELOSMISIONEROSESTÏNENPELIGRO

Ón°-UESTREQUELACADENA     PERTENECEALLENGUAJEGENERADOPORLA


GRAMÈTICA' APLICANDOLASSIGUIENTESREGLASDEREESCRITURA

 3←
 !←3
 !←! !
 3←!

ә°#ONSIDEREELESTADOINICIAL ELESTADOlNALYLOSOPERADORESQUESEDANACONTINUA
CIØN%NCUENTRELASOLUCIØNALPROBLEMA
328
>«‰ÌՏœÊÇÊ Ê Ê (3Ç'*$"4

Îä°$ElNALACLASE'RÈlCA CORRESPONDIENTEAUNAGRÈlCANODIRIGIDA UTILIZANDOUNA


MATRIZDECOSTOSPARAALMACENARLASARISTASYSUSCOSTOS

Σ°2ETOMEELPROBLEMAANTERIOREINCLUYALOSMÏTODOSNECESARIOSPARAIMPLEMENTARLOS
ALGORITMOSDE0RIMY+RUSKAL

ÎÓ°$ElNA LA CLASE $IGRÈlCA CORRESPONDIENTE A UNA GRÈlCA DIRIGIDA UTILIZANDO UNA
LISTADEADYACENCIAPARAALMACENARLASARISTASYSUSCOSTOS0UEDEREUSARLACLASE
,ISTASDELCAPÓTULO

Îΰ2ETOMEELPROBLEMAANTERIOREINCLUYAENLACLASELOSMÏTODOSNECESARIOSPARAIM
PLEMENTARLOSALGORITMOSDE$IJKSTRA &LOYDY7ARSHALL
#APÓTULO n
-³4/$/3
$%/2$%.!#)¼.
 ).42/$5##)¼.

/RDENARSIGNIlCAREAGRUPAROREORGANIZARUNCONJUNTODEDATOSUOBJETOSENUNASE
CUENCIAESPECÓlCA,OSPROCESOSDEORDENACIØNYBÞSQUEDAˆESTEÞLTIMOSEESTUDIARÈ
EN EL SIGUIENTE CAPÓTULOˆ SON FRECUENTES EN NUESTRA VIDA6IVIMOS EN UN MUNDO DE
SARROLLADO AUTOMATIZADO ACELERADO DONDELAINFORMACIØNREPRESENTAUNELEMENTODE
VITALIMPORTANCIA,ASOCIEDADDEBEESTARINFORMADAY PORLOTANTO CONSTANTEMENTESE
NECESITABUSCARYRECUPERARINFORMACIØN
,AOPERACIØNDEBÞSQUEDAˆRECUPERACIØNˆDEINFORMACIØNNORMALMENTESEEFEC
TÞASOBREELEMENTOSORDENADOS LOQUEDEMUESTRAQUE ENGENERAL DONDEHAYAOBJETOS
QUESEDEBANBUSCARYRECUPERARESTARÈPRESENTEELPROCESODEORDENACIØN
,OSOBJETOSORDENADOSAPARECENPORDOQUIER$IRECTORIOSTELEFØNICOS REGISTROSDE
PACIENTESDEUNHOSPITAL REGISTROSDEHUÏSPEDESDEUNHOTEL ÓNDICESDELIBROSDEUNABI
BLIOTECA SONTANSØLOALGUNOSEJEMPLOSDEOBJETOSORDENADOSCONLOSQUEELSERHUMANO
SEENCUENTRAFRECUENTEMENTE)NCLUSOYDEMANERAINFORMALSEPUEDESE×ALARQUEDESDE
NI×OSENOSENSE×AASERORGANIZADO APONERLASCOSASENORDEN
,AORDENACIØNESUNAACTIVIDADFUNDAMENTALYRELEVANTEENLAVIDA)MAGINEELLEC
TORQUÏOCURRIRÓASISEDESEARAENCONTRARUNLIBROENUNABIBLIOTECACONMÈSDE
VOLÞMENESYÏSTOSESTUVIERANDESORDENADOSOREGISTRADOSENLOSÓNDICESENELORDENENEL
CUALFUERONRECIBIDOSO POREJEMPLO SISEQUISIERAHABLARPORTELÏFONOCONUNAPERSONA
YSEENCONTRARAQUEENELDIRECTORIOLOSABONADOSESTÈNORDENADOSSEGÞNSUNÞMEROTE
LEFØNICO ENFORMAASCENDENTEODESCENDENTE,ATAREASERÓAMAYÞSCULA PEROSINNINGÞN
SENTIDO
&ORMALMENTESEDElNEORDENACIØNDELASIGUIENTEMANERA
3EA!UNALISTADE.ELEMENTOS

! ! !  !.

/RDENARSIGNIlCAPERMUTARESTOSELEMENTOSDETALFORMAQUEQUEDENDEACUERDOCON
UNADISTRIBUCIØNPREESTABLECIDA
330
>«‰ÌՏœÊnÊ Ê Ê .c50%04%&03%&/"$*Î/

◗ !SCENDENTE!≤!≤!≤≤!.
◗ $ESCENDENTE!≥!≥!≥≥!.

%NELPROCESAMIENTODEDATOSALOSMÏTODOSDEORDENACIØNSELESCLASIlCAENDOS
GRANDESCATEGORÓAS SEGÞNDONDEHAYANSIDOALMACENADOS

◗ /RDENACIØNDEARREGLOS
◗ /RDENACIØNDEARCHIVOS

,APRIMERACATEGORÓASEDENOMINATAMBIÏNORDENACIØNINTERNA YAQUELOSELEMEN
TOSOCOMPONENTESDELARREGLOSEENCUENTRANENLAMEMORIAPRINCIPALDELACOMPUTADORA
,ASEGUNDACATEGORÓASELLAMAORDENACIØNEXTERNA YAQUELOSELEMENTOSSEENCUENTRAN
ENARCHIVOSALMACENADOSENDISPOSITIVOSDEALMACENAMIENTOSECUNDARIO COMODISCOS
CINTAS TAMBORES ETCÏTERA
3ISEBUSCARAUNAANALOGÓAENTRELOSMÏTODOSDEORDENACIØNYLAVIDAREAL SEPODRÓA
MENCIONARQUEPARALAMÈQUINA LAORDENACIØNINTERNAREPRESENTALOQUEPARAUNHUMANO
SIGNIlCAORDENARUNCONJUNTODETARJETASQUESEENCUENTRANVISIBLESYEXTENDIDASTODAS
SOBREUNAMESA,AORDENACIØNEXTERNA ENCAMBIO REPRESENTAPARALAMÈQUINALOQUE
PARAUNHUMANOSIGNIlCAORDENARUNCONJUNTODETARJETASQUEESTÈNDISPUESTASUNADEBA
JODEOTRAYENDONDESØLOSEVISUALIZALAPRIMERA
%NLAPRIMERAPARTEDEESTECAPÓTULOSEESTUDIARÈNLOSMÏTODOSMÈSIMPORTANTESDE
ORDENACIØNINTERNAYPOSTERIORMENTELOSMÈSINTERESANTESDEORDENACIØNEXTERNA

&)'52!
/RDENACIØNINTERNA
 03%&/"$*Î/*/5&3/" 331

&)'52!
/RDENACIØNEXTERNA

 /2$%.!#)¼.).4%2.!

,OSMÏTODOSDEORDENACIØNINTERNASEEXPLICARÈNCONARREGLOSUNIDIMENSIONALES PERO
SUUSOPUEDEEXTENDERSEAOTROSTIPOSDEARREGLOSYESTRUCTURASDEDATOS%SIMPORTANTE
SE×ALAR ADEMÈS QUESETRABAJARÈCONMÏTODOSDEORDENACIØNINSITU ESDECIR MÏTODOS
QUENOREQUIERENDEARREGLOSAUXILIARESPARASUORDENACIØN,OSMÏTODOSQUEREQUIE
REN DE ARREGLOS AUXILIARES SON GENERALMENTE INElCIENTES E INTRÓNSECAMENTE DE MENOR
INTERÏS
,OSMÏTODOSDEORDENACIØNINTERNAASUVEZSEPUEDENCLASIlCARENDOSTIPOS

◗ -ÏTODOSDIRECTOSN 
◗ -ÏTODOSLOGARÓTMICOSN
LOGN 

,OSMÏTODOSDIRECTOSTIENENLACARACTERÓSTICADEQUESUIMPLEMENTACIØNESRELATI
VAMENTESENCILLAYSONFÈCILESDECOMPRENDER AUNQUESONINElCIENTESCUANDO.ˆEL
NÞMERODEELEMENTOSDELARREGLOˆESDETAMA×OMEDIANOOGRANDE,OSMÏTODOSLO
GARÓTMICOS PORSUPARTE SONMÈSCOMPLEJOSQUELOSDIRECTOS3UELABORACIØNESMÈS
SOlSTICADAY ALSERMENOSINTUITIVOS RESULTANMÈSDIFÓCILESDEENTENDER3INEMBARGO
SONMÈSElCIENTESYAQUEREQUIERENDEMENOSCOMPARACIONESYMOVIMIENTOSPARAOR
DENARSUSELEMENTOS
%SIMPORTANTEDESTACARQUEUNABUENAMEDIDADEElCIENCIAENTRELOSDISTINTOSMÏTO
DOSLACONSTITUYEELTIEMPODEEJECUCIØNDELALGORITMOYÏSTEDEPENDEFUNDAMENTALMEN
TEDELNÞMERODECOMPARACIONESYMOVIMIENTOSQUESEREALICENENTRESUSELEMENTOS
#OMOCONCLUSIØNSEPUEDESE×ALARQUECUANDO.ESPEQUE×OSEDEBENUTILIZARMÏ
TODOSDIRECTOSYCUANDO.ESMEDIANOOGRANDESEUSARÈNMÏTODOSLOGARÓTMICOS
,OSMÏTODOSDIRECTOSMÈSCONOCIDOSSON
332
>«‰ÌՏœÊnÊ Ê Ê .c50%04%&03%&/"$*Î/

◗ /RDENACIØNPORINTERCAMBIO
◗ /RDENACIØNPORINSERCIØN
◗ /RDENACIØNPORSELECCIØN

 /RDENACIØNPORINTERCAMBIODIRECTOBURBUJA
%LMÏTODODEINTERCAMBIODIRECTO CONOCIDOCOLOQUIALMENTECOMOBURBUJA ESELMÈS
UTILIZADOENTRELOSESTUDIANTESPRINCIPIANTESDECOMPUTACIØNPORSUFÈCILCOMPRENSIØNY
PROGRAMACIØN0EROESPRECISOSE×ALARQUEESQUIZÈSELMÏTODOMÈSINElCIENTE
%LMÏTODODEINTERCAMBIODIRECTOPUEDETRABAJARDEDOSMANERASDIFERENTESLLEVAN
DOLOSELEMENTOSMÈSPEQUE×OSHACIALAPARTEIZQUIERDADELARREGLOOTRASLADANDOLOS
ELEMENTOSMÈSGRANDESHACIASUPARTEDERECHA,AIDEABÈSICADEESTEALGORITMOCONSISTE
ENCOMPARARPARESDEELEMENTOSADYACENTESEINTERCAMBIARLOSENTRESÓHASTAQUETODOS
SEENCUENTRENORDENADOS3EREALIZANNn PASADASTRANSPORTANDOENCADAUNADEELLAS
ELMENOROMAYORDEELEMENTOSˆSEGÞNSEAELCASOˆASUPOSICIØNIDEAL!LlNALDELAS
Nn PASADASLOSELEMENTOSDELARREGLOESTARÈNORDENADOS

%JEMPLO 3UPONGAMOSQUESEDESEAORDENARLASSIGUIENTESCLAVESDELARREGLOUNIDIMENSIONAL!
TRANSPORTANDOENCADAPASADAELMENORELEMENTOHACIALAPARTEIZQUIERDADELARREGLO

!       

,ASCOMPARACIONESQUESEREALIZANSON

02)-%2!0!3!$!

!;=!;=  NOHAYINTERCAMBIO


!;=!;=  SÓHAYINTERCAMBIO
!;=!;=  SÓHAYINTERCAMBIO
!;=!;=  SÓHAYINTERCAMBIO
!;=!;=  NOHAYINTERCAMBIO
!;=!;=  SÓHAYINTERCAMBIO
!;=!;=  SÓHAYINTERCAMBIO

,UEGODELAPRIMERAPASADAELARREGLOQUEDAASÓ

!        

/BSERVE QUE EL ELEMENTO MÈS PEQUE×O EN ESTE CASO  FUE SITUADO EN LA PARTE
IZQUIERDADELARREGLO

3%'5.$!0!3!$!

!;=!;=  NOHAYINTERCAMBIO


!;=!;=  SÓHAYINTERCAMBIO
!;=!;=  NOHAYINTERCAMBIO
 03%&/"$*Î/*/5&3/" 333

!;=!;=  NOHAYINTERCAMBIO


!;=!;=  SÓHAYINTERCAMBIO
!;=!;=  SÓHAYINTERCAMBIO

,UEGODELASEGUNDAPASADAELARREGLOQUEDAASÓ

!        

YELSEGUNDOELEMENTOMÈSPEQUE×ODELARREGLO ENESTECASO FUESITUADOENLASE


GUNDAPOSICIØN
%NLATABLASEPRESENTAELRESULTADODELASPASADASRESTANTES

4!",! APASADA        

APASADA        

APASADA        

APASADA        

APASADA        

%LALGORITMODEORDENACIØNPORELMÏTODODEINTERCAMBIODIRECTOQUETRANSPORTAEN
CADAPASADAELMENORELEMENTOHACIALAPARTEIZQUIERDADELARREGLOESELSIGUIENTE

!LGORITMO "URBUJA?MENOR

"URBUJA?MENOR! .

[%STEALGORITMOORDENALOSELEMENTOSDELARREGLOUNIDIMENSIONALUTILIZANDOELMÏTODODELA
BURBUJA 4RANSPORTA EN CADA PASADA EL ELEMENTO MÈS PEQUE×O HACIA LA PARTE IZQUIERDA DEL
ARREGLO!ESUNARREGLOUNIDIMENSIONALDE.ELEMENTOS]
[) *Y!58SONVARIABLESDETIPOENTERO]

 2EPETIRCON)DESDEHASTA.
 2EPETIRCON*DESDE.HASTA)
 3I!*n !;*=ENTONCES
(ACER!58←!;*n= !;*n=←!;)=Y!;)=←!58
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
 [&INDELCICLODELPASO]

%JEMPLO 3UPONGAMOSQUESEDESEAORDENARLASSIGUIENTESCLAVESDELARREGLOUNIDIMENSIONAL!
TRANSPORTANDOENCADAPASADAELMAYORELEMENTOHACIALAPARTEDERECHADELARREGLO

!        


334
>«‰ÌՏœÊnÊ Ê Ê .c50%04%&03%&/"$*Î/

,ASCOMPARACIONESQUESEREALIZANSON

02)-%2!0!3!$!

!;=!;=  NOHAYINTERCAMBIO


!;=!;=  SÓHAYINTERCAMBIO
!;=!;=  SÓHAYINTERCAMBIO
!;=!;=  SÓHAYINTERCAMBIO
!;=!;=  SÓHAYINTERCAMBIO
!;=!;=  SÓHAYINTERCAMBIO
!;=!;=  SÓHAYINTERCAMBIO

!        

/BSERVEQUEELELEMENTOMÈSGRANDE ENESTECASO FUESITUADOENLAÞLTIMAPO


SICIØNDELARREGLO

3%'5.$!0!3!$!

!;=!;=  SÓHAYINTERCAMBIO


!;=!;=  NOHAYINTERCAMBIO
!;=!;=  NOHAYINTERCAMBIO
!;=!;=  SÓHAYINTERCAMBIO
!;=!;=  SÓHAYINTERCAMBIO
!;=!;=  SÓHAYINTERCAMBIO

!        

YELSEGUNDOELEMENTOMÈSGRANDEDELARREGLO ENESTECASO FUESITUADOENLAPENÞL


TIMAPOSICIØN%NLATABLASEVEELRESULTADODELASPASADASRESTANTES

4!",! APASADA        

APASADA        

APASADA        

APASADA        

APASADA        

%LALGORITMODEORDENACIØNPORELMÏTODODEINTERCAMBIODIRECTOQUETRANSPORTAEN
CADAPASADAELELEMENTOMAYORHACIALAPARTEDERECHADELARREGLOES

!LGORITMO "URBUJA?MAYOR
 03%&/"$*Î/*/5&3/" 335

"URBUJA?MAYOR! .

[%LALGORITMOORDENALOSELEMENTOSDELARREGLOUNIDIMENSIONAL!4RANSPORTAENCADAPASADA
ELELEMENTOMÈSGRANDEHACIALAPARTEDERECHADELARREGLO!ESUNARREGLODE.ELEMENTOS]
[) *Y!58SONVARIABLESDETIPOENTERO]

 2EPETIRCON)DESDE.nHASTA
 2EPETIRCON*DESDEHASTA)
 3I!;*=!;* =ENTONCES
(ACER!58←!;*= !;*=←!;* =Y!;* =←!58
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
 [&INDELCICLODELPASO]

!NÉLISISDEElCIENCIADELMÏTODO
DEINTERCAMBIODIRECTO
%LNÞMERODECOMPARACIONESQUESEREALIZANENELMÏTODODELABURBUJASEPUEDECON
TABILIZARFÈCILMENTE%NLAPRIMERAPASADASEREALIZANNn COMPARACIONES ENLASE
GUNDAPASADAN COMPARACIONES ENLATERCERAPASADANn COMPARACIONESYASÓ
SUCESIVAMENTEHASTALLEGARAYCOMPARACIONESENTRECLAVES SIENDONELNÞMERODE
ELEMENTOSDELARREGLO0ORLOTANTO TENEMOSQUEELNÞMERODECOMPARACIONESES
N
 N 
#   N   N  x   

QUEESIGUALA

N N
# &ØRMULA


#OMOYASEMENCIONØENELCAPÓTULO SEHACEUSODELPRINCIPIODEINDUCCIØNMA
TEMÈTICAPARADESARROLLARCIERTASFØRMULAS
2ESPECTODELNÞMERODEMOVIMIENTOS ÏSTOSDEPENDENFUNDAMENTALMENTEDESIEL
ARREGLOSEENCUENTRAORDENADO DESORDENADOOENORDENINVERSO,OSMOVIMIENTOSPARA
CADAUNODEESTOSCASOSSON


-MÓN -MED
NnN -MÈX
NnN &ØRMULA

!SÓ POREJEMPLO SISETIENEQUEORDENARUNARREGLOQUECONTIENEELEMENTOS EL


NÞMERODEMOVIMIENTOSQUESETENDRÈQUEREALIZARES

A 3IELARREGLOSEENCUENTRAORDENADO
◗ COMPARACIONES
◗ MOVIMIENTOS
B 3ILOSELEMENTOSDELARREGLOSEENCUENTRANDISPUESTOSENFORMAALEATORIA
◗ COMPARACIONES
◗ MOVIMIENTOS
336
>«‰ÌՏœÊnÊ Ê Ê .c50%04%&03%&/"$*Î/

C 3ILOSELEMENTOSDELARREGLOSEENCUENTRANENORDENINVERSO
◗ COMPARACIONES
◗ MOVIMIENTOS

!HORABIEN ELTIEMPONECESARIOPARAEJECUTARELALGORITMODELABURBUJAESPROPOR
CIONALAN /N DONDENESELNÞMERODEELEMENTOSDELARREGLO
! CONTINUACIØN SE PRESENTARÈN DOS VARIANTES DEL MÏTODO DE INTERCAMBIO DIRECTO
MÏTODODEINTERCAMBIODIRECTOCONSE×ALYMÏTODODESHAKERSORT

 /RDENACIØNPORELMÏTODODEINTERCAMBIO
DIRECTOCONSE×AL
%STE MÏTODO ES UNA MODIlCACIØN DEL MÏTODO DE INTERCAMBIO DIRECTO ANALIZADO EN LA
SECCIØNANTERIOR,AIDEACENTRALDEESTEALGORITMOCONSISTEENUTILIZARUNAMARCAOSE×AL
PARA INDICAR QUE NO SE HA PRODUCIDO NINGÞN INTERCAMBIO EN UNA PASADA %S DECIR SE
COMPRUEBASIELARREGLOESTÈTOTALMENTEORDENADODESPUÏSDECADAPASADA TERMINANDO
SUEJECUCIØNENCASOAlRMATIVO%LALGORITMODEORDENACIØNPORELMÏTODODELABURBUJA
CONSE×ALES

!LGORITMO "URBUJA?SE×AL

"URBUJA?SE×AL! .

[%LALGORITMOORDENALOSELEMENTOSDELARREGLOUTILIZANDOELMÏTODODELABURBUJACONSE×AL!
ESUNARREGLOUNIDIMENSIONALDE.ELEMENTOS]
[) *Y!58SONVARIABLESDETIPOENTERO"!.$ESUNAVARIABLEDETIPOBOOLEANO]

 (ACER)←Y"!.$←&!,3/
 -IENTRAS)≤.n Y"!.$&!,3/ 2EPETIR
(ACER"!.$←6%2$!$%2/
 2EPETIRCON*DESDEHASTA.n
 3I!;*=!;* = ENTONCES
(ACER!58←!;*= !;*=←!;* = !;* =←!58
Y"!.$←&!,3/
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
(ACER)←) 
 [&INDELCICLODELPASO]

! CONTINUACIØN PRESENTAMOS LA SEGUNDA VARIANTE DEL MÏTODO DE INTERCAMBIO DI


RECTO
 03%&/"$*Î/*/5&3/" 337

 /RDENACIØNPORELMÏTODODELASACUDIDASHAKERSORT
%LMÏTODODESHAKERSORT MÈSCONOCIDOCOMOELMÏTODODELASACUDIDA ESUNAOPTIMI
ZACIØNDELMÏTODODEINTERCAMBIODIRECTO,AIDEABÈSICADEESTEALGORITMOCONSISTEEN
MEZCLARLASDOSFORMASENQUESEPUEDEREALIZARELMÏTODODELABURBUJA
%NESTEALGORITMOCADAPASADATIENEDOSETAPAS%NLAPRIMERAETAPA DEDERECHAA
IZQUIERDA SETRASLADANLOSELEMENTOSMÈSPEQUE×OSHACIALAPARTEIZQUIERDADELARRE
GLO ALMACENANDOENUNAVARIABLELAPOSICIØNDELÞLTIMOELEMENTOINTERCAMBIADO%N
LASEGUNDAETAPA DEIZQUIERDAADERECHA SETRASLADANLOSELEMENTOSMÈSGRANDESHACIA
LAPARTEDERECHADELARREGLO ALMACENANDOENOTRAVARIABLELAPOSICIØNDELÞLTIMOELE
MENTOINTERCAMBIADO,ASSUCESIVASPASADASTRABAJANCONLOSCOMPONENTESDELARREGLO
COMPRENDIDOSENTRELASPOSICIONESALMACENADASENLASVARIABLESAUXILIARES%LALGORITMO
TERMINACUANDOENUNAETAPANOSEPRODUCENINTERCAMBIOS OBIENCUANDOELCONTENIDO
DELAVARIABLEQUEGUARDAELEXTREMOIZQUIERDODELARREGLOESMAYORQUEELCONTENIDODE
LAVARIABLEQUEALMACENAELEXTREMODERECHO

%JEMPLO 3UPONGAMOSQUESEDESEAORDENARLASSIGUIENTESCLAVESDELARREGLOUNIDIMENSIONAL!
UTILIZANDOELMÏTODODELASACUDIDA

!        

02)-%2!0!3!$!
0RIMERAETAPADEDERECHAAIZQUIERDA

!;=!;=  NOHAYINTERCAMBIO


!;=!;=  SÓHAYINTERCAMBIO
!;=!;=  SÓHAYINTERCAMBIO
!;=!;=  SÓHAYINTERCAMBIO
!;=!;=  NOHAYINTERCAMBIO
!;=!;=  SÓHAYINTERCAMBIO
!;=!;=  SÓHAYINTERCAMBIO

ÁLTIMAPOSICIØNDEINTERCAMBIODEDERECHAAIZQUIERDA
,UEGODELAPRIMERAETAPADELAPRIMERAPASADA ELARREGLOQUEDAASÓ

!        

3EGUNDAETAPADEIZQUIERDAADERECHA
!;=!;=  NOHAYINTERCAMBIO
!;=!;=  SÓHAYINTERCAMBIO
!;=!;=  SÓHAYINTERCAMBIO
!;=!;=  SÓHAYINTERCAMBIO
!;=!;=  SÓHAYINTERCAMBIO
!;=!;=  SÓHAYINTERCAMBIO

ÁLTIMAPOSICIØNDEINTERCAMBIODEIZQUIERDAADERECHA
338
>«‰ÌՏœÊnÊ Ê Ê .c50%04%&03%&/"$*Î/

,UEGODELASEGUNDAETAPADELAPRIMERAPASADA ELARREGLOQUEDAASÓ

!        

3%'5.$!0!3!$!

0RIMERAETAPADEDERECHAAIZQUIERDA

!;=!;=  NOHAYINTERCAMBIO


!;=!;=  SÓHAYINTERCAMBIO
!;=!;=  NOHAYINTERCAMBIO
!;=!;=  NOHAYINTERCAMBIO
!;=!;=  SÓHAYINTERCAMBIO

ÁLTIMAPOSICIØNDEINTERCAMBIODEDERECHAAIZQUIERDA

!        

3EGUNDAETAPADEIZQUIERDAADERECHA

!;=!;=  NOHAYINTERCAMBIO


!;=!;=  NOHAYINTERCAMBIO
!;=!;=  NOHAYINTERCAMBIO
!;=!;=  SÓHAYINTERCAMBIO

ÁLTIMAPOSICIØNDEINTERCAMBIODEIZQUIERDAADERECHA

!        

!LREALIZARLAPRIMERAETAPADELATERCERAPASADASEOBSERVAQUENOSEREALIZARON
INTERCAMBIOSPORLOTANTO LAEJECUCIØNDELALGORITMOSETERMINA%LALGORITMODEORDE
NACIØNPORELMÏTODODELASACUDIDAESELSIGUIENTE

!LGORITMO 3ACUDIDA

3ACUDIDA! .

[%LALGORITMOORDENALOSELEMENTOSDEUNARREGLOUNIDIMENSIONALUTILIZANDOELMÏTODODELA
SACUDIDA!ESUNARREGLODE.ELEMENTOS]
[) ):1 $%2 +Y!58SONVARIABLESDETIPOENTERO]

 (ACER):1← $%2←.Y+←.


 -IENTRAS$%2≥):1 2EPETIR
 2EPETIRCON)DESDE$%2HASTA):1[#ICLODESCENDENTE]
 03%&/"$*Î/*/5&3/" 339

 3I!;)n=!;)= ENTONCES


(ACER!58←!;)n= !;)n=←!;)= !;)=←!58Y+←)
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
(ACER):1←+ 
 2EPETIRCON)DESDE):1HASTA$%2[#ICLOASCENDENTE]
 3I!;)n=!;)= ENTONCES
(ACER!58←!;)n= !;)n=←!;)= !;)=←!58Y+←)
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
(ACER$%2←+n
 [&INDELCICLO]

!NÉLISISDEElCIENCIADELMÏTODODELASACUDIDA
%LANÈLISISDELMÏTODODELASACUDIDA YENGENERALELDELOSMÏTODOSMEJORADOSYLOGA
RÓTMICOS ESMUYCOMPLEJO0ARAELANÈLISISDEESTEMÏTODOESNECESARIOTENERENCUENTA
TRESFACTORESQUEAFECTANDIRECTAMENTEALTIEMPODEEJECUCIØNDELALGORITMOLASCOM
PARACIONESENTRELASCLAVES LOSINTERCAMBIOSENTREELLASYLASPASADASQUESEREALIZAN
%NCONTRARFØRMULASQUEPERMITANCALCULARCADAUNODEESTOSFACTORESESUNATAREAMUY
DIFÓCILDEREALIZAR
,OSESTUDIOSQUESEHANEFECTUADOSOBREELMÏTODODELASACUDIDADEMUESTRANQUE
ENÏLSØLOSEPUEDENREDUCIRLASDOBLESCOMPARACIONESENTRECLAVES PEROSEDEBERECOR
DARQUELAOPERACIØNDEINTERCAMBIOESUNATAREAMÈSCOMPLICADAYCOSTOSAQUELADE
COMPARACIØN0ORLOTANTO ESPOSIBLEAlRMARQUELASHÈBILESMEJORASREALIZADASSOBRE
ELMÏTODODEINTERCAMBIODIRECTOSØLOPRODUCENRESULTADOSAPRECIABLESSIELARREGLOESTÈ
PARCIALMENTEORDENADO LOCUALRESULTADIFÓCILSABERDEANTEMANOPEROSIELARREGLOESTÈ
DESORDENADOELMÏTODOSECOMPORTA INCLUSO PEORQUEOTROSMÏTODOSDIRECTOS COMOLOS
DEINSERCIØNYSELECCIØN

 /RDENACIØNPORINSERCIØNDIRECTA
%LMÏTODODEORDENACIØNPORINSERCIØNDIRECTAESELQUEUTILIZANGENERALMENTELOSJU
GADORESDECARTASCUANDOLASORDENAN DEAHÓQUETAMBIÏNSECONOZCACONELNOMBREDE
MÏTODODELABARAJA
,AIDEACENTRALDEESTEALGORITMOCONSISTEENINSERTARUNELEMENTODELARREGLOENSU
PARTEIZQUIERDA QUEYASEENCUENTRAORDENADA%STEPROCESOSEREPITEDESDEELSEGUNDO
HASTAELN ÏSIMOELEMENTO/BSERVEMOSUNEJEMPLO

%JEMPLO 3UPONGAMOSQUESEDESEAORDENARLASSIGUIENTESCLAVESDELARREGLOUNIDIMENSIONAL!
UTILIZANDOELMÏTODODEINSERCIØNDIRECTA

!        


340
>«‰ÌՏœÊnÊ Ê Ê .c50%04%&03%&/"$*Î/

,ASCOMPARACIONESQUESEREALIZANSON

02)-%2!0!3!$!

!;=!;=  NOHAYINTERCAMBIO

!        

3%'5.$!0!3!$!

!;=!;=  SÓHAYINTERCAMBIO


!;=!;=  SÓHAYINTERCAMBIO

!        

4%2#%2!0!3!$!

!;=!;=  SÓHAYINTERCAMBIO


!;=!;=  NOHAYINTERCAMBIO

!        

/BSERVEQUEUNAVEZQUESEDETERMINALAPOSICIØNCORRECTADELELEMENTOSEINTE
RRUMPENLASCOMPARACIONES0OREJEMPLO PARAELCASOANTERIORNOSEREALIZØLACOMPARA
CIØN!;=!;=%NLATABLASEPRESENTAELRESULTADODELASPASADASRESTANTES
%LALGORITMODEORDENACIØNPORELMÏTODODEINSERCIØNDIRECTAES

!LGORITMO )NSERCIØN

)NSERCIØN! .
[%STEALGORITMOORDENALOSELEMENTOSDELARREGLOUTILIZANDOELMÏTODODEINSERCIØNDIRECTA!
ESUNARREGLOUNIDIMENSIONALDE.ELEMENTOS]
[) !58Y+SONVARIABLESDETIPOENTERO]
 2EPETIRCON)DESDEHASTA.
(ACER!58←!;)=Y+←)n
 -IENTRAS+≥ Y!58!;+= 2EPETIR
(ACER!;+ =←!;+=Y+←+n
 [&INDELCICLODELPASO]
(ACER!;+ =←!58
 [&INDELCICLODELPASO]

4!",! APASADA        
APASADA        
APASADA        
APASADA        
 03%&/"$*Î/*/5&3/" 341

!NÉLISISDEElCIENCIADELMÏTODODEINSERCIØNDIRECTA
%LNÞMEROMÓNIMODECOMPARACIONESYMOVIMIENTOSENTRECLAVESSEPRODUCECUANDOLOS
ELEMENTOSDELARREGLOYAESTÈNORDENADOS!NALICEELSIGUIENTECASO

%JEMPLO 3EA!UNARREGLOFORMADOPORLOSELEMENTOS

!     

,ASCOMPARACIONESQUESEREALIZANSON

02)-%2!0!3!$!

!;=!;=  NOHAYINTERCAMBIO

3%'5.$!0!3!$!

!;=!;=  NOHAYINTERCAMBIO

4%2#%2!0!3!$!

!;=!;=  NOHAYINTERCAMBIO

#5!24!0!3!$!

!;=!;=  NOHAYINTERCAMBIO

,UEGODELASCOMPARACIONESREALIZADAS ELARREGLOCORRESPONDIENTEQUEDAASÓ

!     

/BSERVEQUEPARAESTEEJEMPLOSEEFECTUARONCUATROCOMPARACIONES%NGENERAL
PODEMOSAlRMARQUESIELARREGLOSEENCUENTRAORDENADOSEEFECTÞANCOMOMÈXIMO
NnCOMPARACIONESYMOVIMIENTOSENTREELEMENTOS


#MÓNNn &ØRMULA

%LNÞMEROMÈXIMODECOMPARACIONESYMOVIMIENTOSENTREELEMENTOSSEPRODUCE
CUANDOLOSELEMENTOSDELARREGLOESTÈNENORDENINVERSO

%JEMPLO 3EA!UNARREGLOFORMADOPORLOSSIGUIENTESELEMENTOS

!     

,ASCOMPARACIONESQUESEREALIZANSON
342
>«‰ÌՏœÊnÊ Ê Ê .c50%04%&03%&/"$*Î/

02)-%2!0!3!$!

!;=!;=  SÓHAYINTERCAMBIO

3%'5.$!0!3!$!

!;=!;=  SÓHAYINTERCAMBIO


!;=!;=  SÓHAYINTERCAMBIO

4%2#%2!0!3!$!

!;=!;=  SÓHAYINTERCAMBIO


!;=!;=  SÓHAYINTERCAMBIO
!;=!;=  SÓHAYINTERCAMBIO

#5!24!0!3!$!

!;=!;=  SÓHAYINTERCAMBIO


!;=!;=  SÓHAYINTERCAMBIO
!;=!;=  SÓHAYINTERCAMBIO
!;=!;=  SÓHAYINTERCAMBIO

/BSERVEQUEENLAPRIMERAPASADASEREALIZØUNACOMPARACIØNENLASEGUNDA DOS
COMPARACIONESENLATERCERA TRESCOMPARACIONES YASÓSUCESIVAMENTEHASTANnCOM
PARACIONESENTREELEMENTOS0ORLOTANTO

N
 N 
- MÈX     x  N  

QUEESIGUALA

#MÈX 
N 
N &ØRMULA


!HORABIEN ELNÞMERODECOMPARACIONESPROMEDIO QUEESCUANDOLOSELEMENTOS


APARECENENELARREGLOENFORMAALEATORIA SEPUEDECALCULARMEDIANTELASUMADELAS
COMPARACIONESMÓNIMASYMÈXIMASDIVIDIDAENTRE

¨  N N ·
© N  ¸
#MED ª  ¹


!LHACERLAOPERACIØNQUEDA
 03%&/"$*Î/*/5&3/" 343

#MED 
N 
N  &ØRMULA


2ESPECTODELNÞMERODEMOVIMIENTOS SIELARREGLOSEENCUENTRAORDENADONOSE
REALIZANINGUNO0ORLOTANTO


-MÓN &ØRMULA

%L NÞMERO MÈXIMO DE MOVIMIENTOS SE PRESENTA CUANDO EL ARREGLO ESTÈ EN ORDEN
INVERSO/BSERVEELEJEMPLOANTERIOR%NLAPRIMERAPASADASEREALIZØUNMOVIMIENTO EN
LASEGUNDADOSYASÓSUCESIVAMENTEHASTANnMOVIMIENTOSENTRELOSELEMENTOSENLA
ÞLTIMAPASADA0ORLOTANTO

N
 N 
- MÈX     x  N  

QUEESIGUALA

- MÈX 
N 
N &ØRMULA

%LNÞMERODEMOVIMIENTOSPROMEDIO QUESEDACUANDOLOSELEMENTOSSEENCUEN
TRANENELARREGLOENFORMAALEATORIA SECALCULACOMOLASUMADELOSMOVIMIENTOSMÓNI
MOSYMÈXIMOSDIVIDIDAENTRE0ORLOTANTO


N 
N
- MED  

!LHACERLAOPERACIØNQUEDA


N N &ØRMULA
- MED 


!SÓ POREJEMPLO SISETIENEQUEORDENARUNARREGLOQUECONTIENEELEMENTOS

A 3IELARREGLOSEENCUENTRAORDENADOSERÈNNECESARIAS
◗ COMPARACIONES
◗ MOVIMIENTOS

B 3ILOSELEMENTOSDELARREGLOSEENCUENTRANDISPUESTOSENFORMAALEATORIASEREALIZA
RÈN
344
>«‰ÌՏœÊnÊ Ê Ê .c50%04%&03%&/"$*Î/

◗ COMPARACIONES ENPROMEDIO
◗ MOVIMIENTOS ENPROMEDIO

C 3ILOSELEMENTOSDELARREGLOSEENCUENTRANENORDENINVERSOSERÈNNECESARIAS
◗ COMPARACIONES
◗ MOVIMIENTOS

%S IMPORTANTE SE×ALAR QUE EL TIEMPO REQUERIDO PARA EJECUTAR EL ALGORITMO DE IN
SERCIØN DIRECTA ES PROPORCIONAL A N /N DONDE N ES EL NÞMERO DE ELEMENTOS DEL
ARREGLO
!PESARDESERUNMÏTODOINElCIENTEYRECOMENDABLESØLOCUANDONESPEQUE×O EL
MÏTODODEINSERCIØNDIRECTASECOMPORTAMEJORQUELOSMÏTODOSDEINTERCAMBIODIRECTO
ANALIZADOSANTERIORMENTE

 /RDENACIØNPORELMÏTODODEINSERCIØNBINARIA
%LMÏTODODEORDENACIØNPORINSERCIØNBINARIAESUNAMEJORADELMÏTODODEINSERCIØN
DIRECTAPRESENTADOANTERIORMENTE,AMEJORACONSISTEENREALIZARUNABÞSQUEDABINARIA
ENLUGARDEUNABÞSQUEDASECUENCIAL PARAINSERTARUNELEMENTOENLAPARTEIZQUIERDA
DEL ARREGLO QUE YA SE ENCUENTRA ORDENADO %L PROCESO AL IGUAL QUE EN EL MÏTODO DE
INSERCIØNDIRECTA SEREPITEDESDEELSEGUNDOHASTAELN ÏSIMOELEMENTO!NALICEMOSUN
EJEMPLO

%JEMPLO 3UPONGAMOSQUESEDESEAORDENARLASSIGUIENTESCLAVESDELARREGLOUNIDIMENSIONAL!
UTILIZANDOELMÏTODODEINSERCIØNBINARIA

!        

!CONTINUACIØNSEPRESENTANLASCOMPARACIONESQUESELLEVANACABO

02)-%2!0!3!$!

!;=!;=  NOHAYINTERCAMBIO

!        

3%'5.$!0!3!$!

!;=!;=  SÓHAYINTERCAMBIO

!        


4%2#%2!0!3!$!

!;=!;=  NOHAYINTERCAMBIO


!;=!;=  SÓHAYINTERCAMBIO
!        
 03%&/"$*Î/*/5&3/" 345

#5!24!0!3!$!

!;=!;=  NOHAYINTERCAMBIO


!;=!;=  NOHAYINTERCAMBIO
!;=!;=  SÓHAYINTERCAMBIO

!        

15).4!0!3!$!

!;=!;=  NOHAYINTERCAMBIO


!;=!;=  SÓHAYINTERCAMBIO

!        

3%84!0!3!$!

!;=!;=  SÓHAYINTERCAMBIO


!;=!;=  NOHAYINTERCAMBIO
!;=!;=  SÓHAYINTERCAMBIO

!        

3²04)-!0!3!$!

!;=!;=  NOHAYINTERCAMBIO


!;=!;=  SÓHAYINTERCAMBIO
!;=!;=  NOHAYINTERCAMBIO

!        

%LALGORITMODEORDENACIØNPORELMÏTODODEINSERCIØNBINARIAES

!LGORITMO )NSERCIØN?BINARIA

)NSERCIØN?BINARIA! .

[%STEALGORITMOORDENALOSELEMENTOSDEUNARREGLOUNIDIMENSIONALUTILIZANDOELMÏTODODE
INSERCIØNBINARIA!ESUNARREGLOUNIDIMENSIONALDE.ELEMENTOS]
[) !58 ):1 $%2 -Y*SONVARIABLESDETIPOENTERO]

 2EPETIRCON)DESDEHASTA.
(ACER!58←!;)= ):1←Y$%2←)n
 -IENTRAS):1≤$%2 2EPETIR
(ACER-←PARTEENTERA):1 $%2 ENTRE
346
>«‰ÌՏœÊnÊ Ê Ê .c50%04%&03%&/"$*Î/

 3I!58≤!;-=
ENTONCES
(ACER$%2←-n
SINO
(ACER):1←- 
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
(ACER*←)n
 -IENTRAS*≥):1 2EPETIR
(ACER!;* =←!;*=Y*←*n
 [&INDELCICLODELPASO]
(ACER!;):1=←!58
 [&INDELCICLODELPASO]

!NÉLISISDEElCIENCIADELMÏTODODEINSERCIØNBINARIA
!LANALIZARELMÏTODODEORDENACIØNPORINSERCIØNBINARIASEADVIERTELAPRESENCIADE
UNCASOANTINATURAL%LMÏTODOEFECTÞAELMENORNÞMERODECOMPARACIONESCUANDOEL
ARREGLOESTÈTOTALMENTEDESORDENADOYELMÈXIMOCUANDOSEENCUENTRAORDENADO
%SPOSIBLESUPONERQUEMIENTRASENUNABÞSQUEDASECUENCIALSENECESITAN+COM
PARACIONES PARA INSERTAR UN ELEMENTO EN UNA BINARIA SE NECESITARÈ LA MITAD DE LAS +
COMPARACIONES0ORLOTANTO ELNÞMERODECOMPARACIONESPROMEDIOENELMÏTODODE
ORDENACIØNPORINSERCIØNBINARIASEPUEDECALCULARCOMO

    N  N
 N 
# x 
    

QUEESIGUALA


#
N 
N &ØRMULA


²STEESUNALGORITMODECOMPORTAMIENTOANTINATURALY PORLOTANTO ESNECESARIO


SERMUYCUIDADOSOCUANDOSEHACEUNANÈLISISDEÏL,ASHÈBILESMEJORASINTRODUCIDAS
PRODUCENUNEFECTONEGATIVOCUANDOELARREGLOESTÈORDENADOYRESULTADOSAPENASSATIS
FACTORIOSCUANDOLASCLAVESESTÈNDESORDENADAS$ETODASMANERAS SEDEBERECORDARQUE
NOSEREDUCEELNÞMERODEMOVIMIENTOSQUEESUNAOPERACIØNMÈSCOMPLICADAYCOSTOSA
QUELAOPERACIØNDECOMPARACIØN0ORLOTANTO ELTIEMPODEEJECUCIØNDELALGORITMO
SIGUESIENDOPROPORCIONALAN /N 

 /RDENACIØNPORSELECCIØNDIRECTA
%LMÏTODODEORDENACIØNPORSELECCIØNDIRECTAESMÈSElCIENTEQUELOSMÏTODOSANALI
ZADOSANTERIORMENTE0ERO AUNQUESUCOMPORTAMIENTOESMEJORQUEELDEAQUÏLLOSYSU
 03%&/"$*Î/*/5&3/" 347

PROGRAMACIØNESFÈCILYCOMPRENSIBLE NOSERECOMIENDAUTILIZARLOCUANDOELNÞMERODE
ELEMENTOSDELARREGLOESMEDIANOOGRANDE,AIDEABÈSICADEESTEALGORITMOCONSISTE
ENBUSCARELMENORELEMENTODELARREGLOYCOLOCARLOENLAPRIMERAPOSICIØN,UEGOSE
BUSCAELSEGUNDOELEMENTOMÈSPEQUE×ODELARREGLOYSELOCOLOCAENLASEGUNDAPOSICIØN
%LPROCESOCONTINÞAHASTAQUETODOSLOSELEMENTOSDELARREGLOHAYANSIDOORDENADOS%L
MÏTODOSEBASAENLOSSIGUIENTESPRINCIPIOS

 3ELECCIONARELMENORELEMENTODELARREGLO
 )NTERCAMBIARDICHOELEMENTOCONELPRIMERO
 2EPETIRLOSPASOSANTERIORESCONLOSNn Nn ELEMENTOS YASÓSUCESIVAMENTE
HASTAQUESØLOQUEDEELELEMENTOMAYOR

%JEMPLO 3UPONGAMOSQUESEDESEAORDENARLASSIGUIENTESCLAVESDELARREGLOUNIDIMENSIONAL!
UTILIZANDOELMÏTODODESELECCIØNDIRECTA

!        

,ASCOMPARACIONESQUESEREALIZANSON

02)-%2!0!3!$!

3EREALIZALAASIGNACIØN-%./2←!;= 

-%./2!;=  SÓSECUMPLELACONDICIØN


-%./2!;=  NOSECUMPLELACONDICIØN
-%./2←!;=
-%./2!;=  SÓSECUMPLELACONDICIØN
-%./2!;=  SÓSECUMPLELACONDICIØN
-%./2!;=  SÓSECUMPLELACONDICIØN
-%./2!;=  SÓSECUMPLELACONDICIØN
-%./2!;=  SÓSECUMPLELACONDICIØN

,UEGODELAPRIMERAPASADA ELARREGLOQUEDADELASIGUIENTEFORMA

!        

/BSERVEQUEELMENORELEMENTODELARREGLO!;= SEINTERCAMBIØCONELPRIMER
ELEMENTO!;= REALIZANDOSOLAMENTEUNMOVIMIENTO

3%'5.$!0!3!$!

3EREALIZALASIGUIENTEASIGNACIØN-%./2←!;=

-%./2!;=  NOSECUMPLELACONDICIØN


-%./2←!;=
-%./2!;=  SÓSECUMPLELACONDICIØN
-%./2!;=  SÓSECUMPLELACONDICIØN
348
>«‰ÌՏœÊnÊ Ê Ê .c50%04%&03%&/"$*Î/

-%./2!;=  SÓSECUMPLELACONDICIØN


-%./2!;=  NOSECUMPLELACONDICIØN
-%./2←!;=
-%./2!;=  SÓSECUMPLELACONDICIØN

!        

/BSERVEQUEELSEGUNDOELEMENTOMÈSPEQUE×ODELARREGLO!;= SEINTERCAMBIØ
CONELSEGUNDOELEMENTO !;= 
%NLATABLASEOBSERVAELRESULTADODELASPASADASRESTANTES

4!",! APASADA        
APASADA        
APASADA        
APASADA        
APASADA        

%LALGORITMODEORDENACIØNPORELMÏTODODESELECCIØNDIRECTAES

!LGORITMO 3ELECCIØN

3ELECCIØN! .

[%STEALGORITMOORDENALOSELEMENTOSDEUNARREGLOUNIDIMENSIONALUTILIZANDOELMÏTODODE
SELECCIØNDIRECTA!ESUNARREGLOUNIDIMENSIONALDE.ELEMENTOS]
[) -%./2 +Y*SONVARIABLESDETIPOENTERO]

 2EPETIRCON)DESDEHASTA.n
(ACER-%./2←!;)=Y+←)
 2EPETIRCON*DESDE) HASTA.
 3I!;*=-%./2 ENTONCES
(ACER-%./2←!;*=Y+←*
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
(ACER!;+=←!;)=Y!;)=←-%./2
 [&INDELCICLODELPASO]

!NÉLISISDEElCIENCIADELMÏTODODESELECCIØNDIRECTA
%LANÈLISISDELMÏTODODESELECCIØNDIRECTAESRELATIVAMENTESIMPLE3EDEBECONSIDERAR
QUEELNÞMERODECOMPARACIONESENTREELEMENTOSESINDEPENDIENTEDELADISPOSICIØNINI
CIALDEÏSTOSENELARREGLO%NLAPRIMERAPASADASEREALIZANNn COMPARACIONES ENLA
SEGUNDAPASADANn COMPARACIONESYASÓSUCESIVAMENTEHASTAYCOMPARACIONES
ENLAPENÞLTIMAYÞLTIMAPASADAS RESPECTIVAMENTE0ORLOTANTO
 03%&/"$*Î/*/5&3/" 349

N
 N 
#   N   N  x   

QUEESIGUALA


N N &ØRMULA
#


2ESPECTODELNÞMERODEINTERCAMBIOS SIEMPRESERÈNn AEXCEPCIØNDEQUESE


TENGA INCORPORADA EN EL ALGORITMO ALGUNA TÏCNICA PARA PREVENIR EL INTERCAMBIO DE UN
ELEMENTOCONSIGOMISMO0ORLOTANTO


-Nn &ØRMULA

!SÓ POREJEMPLO SISETIENEQUEORDENARUNARREGLOQUECONTIENEELEMENTOS SE


EFECTUARÈNCOMPARACIONESYMOVIMIENTOS
%LTIEMPODEEJECUCIØNDELALGORITMOESPROPORCIONALAN /N AUNCUANDOESMÈS
RÈPIDOQUELOSMÏTODOSPRESENTADOSCONANTERIORIDAD

 !NÉLISISDEElCIENCIADELOSMÏTODOSDIRECTOS
,ATABLACONTIENELASFØRMULASNECESARIASPARAOBTENERELNÞMERODECOMPARACIONES
YMOVIMIENTOSPARAORDENARUNARREGLOCONLOSTRESMÏTODOSDIRECTOSANALIZADOS,AS
COLUMNASINDICANSILOSELEMENTOSDELARREGLOSEENCUENTRANENFORMAORDENADA DESOR
DENADAOENORDENINVERSO
%NLATABLA POROTRAPARTE SEOBSERVANLOSNÞMEROSDECOMPARACIONESYMO
VIMIENTOSNECESARIOSPARAORDENARUNARREGLOCONLOSTRESMÏTODOSDIRECTOSANALIZADOS

4!",! /RDENADA $ESORDENADA /RDENINVERSO

)NTERCAMBIO N N N N N N
#
DIRECTO   
-  
 N  N 
 N  N
#  N  N 
N  N N
)NSERCIØN  
DIRECTA N N N N
- 
 

N N N N N N
3ELECCIØN #
  
DIRECTA
- N  N  N 
350
>«‰ÌՏœÊnÊ Ê Ê .c50%04%&03%&/"$*Î/

4!",!

/RDENADA $ESORDENADA /RDENINVERSO

)NTERCAMBIO #      

DIRECTO -      

)NSERCIØN #      

DIRECTA -      

3ELECCIØN #      

DIRECTA -      

,ASCOLUMNASINDICANSILOSELEMENTOSDELARREGLOSEENCUENTRANENFORMAORDENADA
DESORDENADAOENORDENINVERSO/BSERVEQUEESTASCOLUMNASSEENCUENTRANDIVIDIDASEN
DOS,ASUBCOLUMNAIZQUIERDAREPRESENTAUNARREGLODEELEMENTOSYLASUBCOLUMNA
DERECHAREPRESENTAUNARREGLODEELEMENTOS
%SFÈCILOBSERVARQUEELMÏTODODESELECCIØNDIRECTAESELMEJORYSØLOESSUPERADO
PORELMÏTODODEINSERCIØNDIRECTACUANDOLOSELEMENTOSDELARREGLOYASEENCUENTRAN
ORDENADOS%LPEORMÏTODO SINDUDA ESELDEINTERCAMBIODIRECTO
%NLOSSIGUIENTESINCISOSSEANALIZARÈNLOSMÏTODOSLOGARÓTMICOSMÈSIMPORTANTES

 /RDENACIØNPORELMÏTODODE3HELL
%LMÏTODODE3HELLESUNAVERSIØNMEJORADADELMÏTODODEINSERCIØNDIRECTA2ECIBEESE
NOMBREENHONORDESUAUTOR $ONALD,3HELL QUIENLOPROPUSOEN%STEMÏTODO
TAMBIÏNSECONOCECOMOINSERCIØNCONINCREMENTOSDECRECIENTES
%NELMÏTODODEORDENACIØNPORINSERCIØNDIRECTACADAELEMENTOSECOMPARAPARA
SU UBICACIØN CORRECTA EN EL ARREGLO CON LOS ELEMENTOS QUE SE ENCUENTRAN EN SU PARTE
IZQUIERDA3IELELEMENTOAINSERTARESMÈSPEQUE×OQUEELGRUPODEELEMENTOSQUESE
ENCUENTRAN A SU IZQUIERDA SERÈ NECESARIO EFECTUAR VARIAS COMPARACIONES ANTES DE SU
UBICACIØN
3HELL PROPONE QUE LAS COMPARACIONES ENTRE ELEMENTOS SE EFECTÞEN CON SALTOS DE
MAYORTAMA×O PEROCONINCREMENTOSDECRECIENTESASÓ LOSELEMENTOSQUEDARÈNORDE
NADOSENELARREGLOMÈSRÈPIDAMENTE0ARACOMPRENDERMEJORESTEALGORITMOANALICEEL
SIGUIENTECASO
#ONSIDEREMOSUNARREGLOQUECONTENGAELEMENTOS%NPRIMERLUGAR SEDIVIDIRÈN
LOSELEMENTOSDELARREGLOENOCHOGRUPOS TENIENDOENCUENTALOSELEMENTOSQUESEEN
CUENTRANAOCHOPOSICIONESDEDISTANCIAENTRESÓYSEORDENARÈNPORSEPARADO1UEDARÈN
ENELPRIMERGRUPOLOSELEMENTOS!;= !;= ENELSEGUNDO !;= !;= ENELTER
CERO !;= !;= YASÓSUCESIVAMENTE$ESPUÏSDEESTEPRIMERPASOSEDIVIDIRÈNLOS
ELEMENTOSDELARREGLOENCUATROGRUPOS TENIENDOENCUENTAAHORALOSELEMENTOSQUESE
ENCUENTRENACUATROPOSICIONESDEDISTANCIAENTRESÓYSELESORDENARÈPORSEPARADO1UE
 03%&/"$*Î/*/5&3/" 351

DARÈNENELPRIMERGRUPOLOSELEMENTOS!;= !;= !;= !;= ENELSEGUNDO!;=


!;= !;= !;= YASÓSUCESIVAMENTE%NELTERCERPASOSEDIVIDIRÈNLOSELEMENTOS
DELARREGLOENGRUPOS TOMANDOENCUENTALOSELEMENTOSQUESEENCUENTRANAHORAADOS
POSICIONESDEDISTANCIAENTRESÓYNUEVAMENTESELESORDENARÈPORSEPARADO%NELPRIMER
GRUPOQUEDARÈN!;= !;= !;= !;= !;= !;= !;= !;= YENELSEGUNDO!;=
!;= !;= !;= !;= !;= !;= !;= 
&INALMENTESEAGRUPARÈNYORDENARÈNLOSELEMENTOSDEMANERANORMALESDECIR DE
UNOENUNO3EPRESENTAACONTINUACIØNUNEJEMPLO

%JEMPLO 3UPONGAMOSQUESEDESEAORDENARLOSELEMENTOSQUESEENCUENTRANENELARREGLOUNIDI
MENSIONAL!UTILIZANDOELMÏTODODE3HELL

!                

02)-%2!0!3!$!

3EDIVIDENLOSELEMENTOSENGRUPOS
352
>«‰ÌՏœÊnÊ Ê Ê .c50%04%&03%&/"$*Î/

,AORDENACIØNPRODUCE

!                

!CONTINUACIØNSEPRESENTAELALGORITMODEORDENACIØNPORELMÏTODODE3HELL

!LGORITMO 3HELL

3HELL! .

[%STE ALGORITMO PERMITE ORDENAR LOS ELEMENTOS DE UN ARREGLO UNIDIMENSIONAL UTILIZANDO EL
MÏTODODE3HELL!ESUNARREGLOUNIDIMENSIONALDE.ELEMENTOS]
[).4 )Y!58SONVARIABLESDETIPOENTERO"!.$ESUNAVARIABLEDETIPOBOOLEANO]

 (ACER).4←. 
 -IENTRAS).4 2EPETIR
(ACER).4←PARTEENTERA).4 Y"!.$←6%2$!$%2/
 -IENTRAS"!.$6%2$!$%2/ 2EPETIR
(ACER"!.$←&!,3/E)←
 -IENTRAS) ).4 ≤. 2EPETIR
 3I!;)=!;) ).4=ENTONCES
(ACER!58←!;)= !;)=←!;) ).4= !;) ).4=←!58
Y"!.$←6%2$!$%2/
 [&INDELCONDICIONALDELPASO]
(ACER)←) 
 [&INDELCICLODELPASO]
 [&INDELCICLODELPASO]
 [&INDELCICLODELPASO]
 03%&/"$*Î/*/5&3/" 353

!NÉLISISDEElCIENCIADELMÏTODODE3HELL
%LANÈLISISDEElCIENCIADELMÏTODODE3HELLESUNPROBLEMAMUYCOMPLICADOYAÞNNO
RESUELTO(ASTAELMOMENTONOSEHAPODIDOESTABLECERLAMEJORSECUENCIADEINCREMEN
TOSCUANDONESGRANDE#ABERECORDARQUECADAVEZQUESEPROPONEUNASECUENCIADE
INTERVALOS ESNECESARIOCORRERELALGORITMOPARAANALIZARSUTIEMPODEEJECUCIØN
%N 0RATTDESCUBRIØQUEELTIEMPODEEJECUCIØNDELALGORITMOESDELORDEN
DEN
LOGN 5NASPRUEBASEXHAUSTIVASREALIZADASPARAOBTENERLAMEJORSECUENCIA
DEINTERVALOSCUANDOELNÞMERODEELEMENTOSDELARREGLOESIGUALAARROJARONCOMO
RESULTADOQUELAMEJORSECUENCIACORRESPONDEAUNINTERVALODE QUENOESMÈSQUEEL
MÏTODODEINSERCIØNDIRECTAESTUDIADOPREVIAMENTE%STASPRUEBASTAMBIÏNDETERMINA
RONQUEELMENORNÞMERODEMOVIMIENTOSSEREGISTRABACONLASECUENCIA  #ABE
ACLARAR QUE LAS PRUEBAS EXHAUSTIVAS CORRESPONDEN AL ANÈLISIS DE  POSIBILIDADES ES
DECIR CASOSDIFERENTES
%N LA TABLA  SE MUESTRAN LAS DIEZ MEJORES SECUENCIAS OBTENIDAS AL EVALUAR LAS
POSIBILIDADESDESECUENCIASQUESEPRESENTANCUANDOSETIENEUNARREGLODE
ELEMENTOS
0ARACONCLUIRCONELANÈLISISDEElCIENCIADEMÏTODODE3HELL SEMENCIONAQUEES
TUDIOSDE0ETERSONY2USSELL ENLA5NIVERSIDADDE3TANFORD EN MUESTRANQUELAS
MEJORESSECUENCIASPARAVALORESDE.COMPRENDIDOSENTREYSONLASQUESE
PRESENTANENLATABLA DONDEK    
0ORÞLTIMO YPARAACLARARAÞNMÈSLOSCONCEPTOSVERTIDOSSOBREELMÏTODODE3HELL
SEINCLUYEUNSEGUNDOEJEMPLO

%JEMPLO 3UPONGAMOSQUESEDESEAORDENARLASSIGUIENTESCLAVESDELARREGLOUNIDIMENSIONAL!
UTILIZANDOELMÏTODODE3HELL,ASECUENCIADEINTERVALOSQUESEUTILIZARÈCORRESPONDEA
LAFØRMULAKn PRESENTADAPOR0ETERSONY2USSELL

!                

4!",! 0OSICIØN 3ECUENCIA


 
  
  
  
  
  
  
   
   
   
354
>«‰ÌՏœÊnÊ Ê Ê .c50%04%&03%&/"$*Î/

4!",!      K 

3ECUENCIAS      Kn


     K› 
     K  

,OSRESULTADOSPARCIALESDECADAPASADA ASÓCOMOELRESULTADOlNAL SEOBSERVANEN


LATABLA DONDE0!3REPRESENTAELNÞMERODEPASADAE).4REPRESENTAELINTERVALO
ENELCUALSEESTÈTRABAJANDO

 /RDENACIØNPORELMÏTODOQUICKSORT
%LMÏTODODEORDENACIØNQUICKSORTESACTUALMENTEELMÈSElCIENTEYVELOZDELOSMÏTO
DOSDEORDENACIØNINTERNA%STAMBIÏNCONOCIDOCOMOMÏTODORÈPIDOYDEORDENACIØN
PORPARTICIØN%STEMÏTODOESUNAMEJORASUSTANCIALDELMÏTODODEINTERCAMBIODIRECTO
YSEDENOMINAQUICKSORTˆRÈPIDOˆPORLAVELOCIDADCONQUEORDENALOSELEMENTOSDEL
ARREGLO3UAUTOR #!(OARE LOLLAMØASÓ,AIDEACENTRALDEESTEALGORITMOCONSISTE
ENLOSIGUIENTE

 3ETOMAUNELEMENTO8DEUNAPOSICIØNCUALQUIERADELARREGLO
 3ETRATADEUBICARA8ENLAPOSICIØNCORRECTADELARREGLO DETALFORMAQUETODOSLOS
ELEMENTOSQUESEENCUENTRENASUIZQUIERDASEANMENORESOIGUALESA8YTODOSLOSQUE
SEENCUENTRENASUDERECHASEANMAYORESOIGUALESA8
 3EREPITENLOSPASOSANTERIORES PEROAHORAPARALOSCONJUNTOSDEDATOSQUESEEN
CUENTRANALAIZQUIERDAYALADERECHADELAPOSICIØNDE8ENELARREGLO
 %LPROCESOTERMINACUANDOTODOSLOSELEMENTOSSEENCUENTRANENSUPOSICIØNCO
RRECTAENELARREGLO

3EDEBESELECCIONAR ENTONCES UNELEMENTO8CUALQUIERA%NESTECASOSESELECCIO


NARÈ!;=3EEMPIEZAARECORRERELARREGLODEDERECHAAIZQUIERDACOMPARANDOSILOS
ELEMENTOSSONMAYORESOIGUALESA83IUNELEMENTONOCUMPLECONESTACONDICIØN SE
INTERCAMBIANAQUÏLLOSYSEALMACENAENUNAVARIABLELAPOSICIØNDELELEMENTOINTERCAM
BIADOˆSEACOTAELARREGLOPORLADERECHAˆ3EINICIANUEVAMENTEELRECORRIDO PERO
AHORADEIZQUIERDAADERECHA COMPARANDOSILOSELEMENTOSSONMENORESOIGUALESA8
4!",!

0!3 !RREGLO! ).4

                 

                 

                 

                 

               
 03%&/"$*Î/*/5&3/" 355

3IUNELEMENTONOCUMPLECONESTACONDICIØN ENTONCESSEINTERCAMBIANAQUÏLLOSYSE
ALMACENAENOTRAVARIABLELAPOSICIØNDELELEMENTOINTERCAMBIADOˆSEACOTAELARREGLO
PORLAIZQUIERDAˆ3EREPITENLOSPASOSANTERIORESHASTAQUEELELEMENTO8ENCUENTRASU
POSICIØNCORRECTAENELARREGLO!NALICEMOSACONTINUACIØNELSIGUIENTEEJEMPLO

%JEMPLO 3UPONGAMOSQUESEDESEAORDENARLOSELEMENTOSQUESEENCUENTRANENELARREGLO!UTI
LIZANDOELMÏTODO

!        

3ESELECCIONA!;= PORLOTANTO 8←


3ELLEVANACABOLASCOMPARACIONESQUESEMUESTRANACONTINUACIØN

02)-%2!0!3!$!

2ECORRIDODEDERECHAAIZQUIERDA

!;=≥8 ≥ NOHAYINTERCAMBIO


!;=≥8 ≥ SÓHAYINTERCAMBIO

!        


↑ ↑

2ECORRIDODEIZQUIERDAADERECHA

!;=≤8 ≤ SÓHAYINTERCAMBIO

!        


↑ ↑

3%'5.$!0!3!$!

2ECORRIDODEDERECHAAIZQUIERDA

!;=≥8 ≥ NOHAYINTERCAMBIO


!;=≥8 ≥ NOHAYINTERCAMBIO
!;=≥8 ≥ NOHAYINTERCAMBIO
!;=≥8 ≥ SÓHAYINTERCAMBIO

!        


↑ ↑

#OMOELRECORRIDODEIZQUIERDAADERECHASEDEBERÓAINICIARENLAMISMAPOSICIØN
DONDESEENCUENTRAELELEMENTO8 ELPROCESOTERMINAYAQUESEDETECTAQUEELELEMENTO
8SEENCUENTRAENLAPOSICIØNCORRECTA/BSERVEQUELOSELEMENTOSQUEFORMANPARTEDEL
PRIMERCONJUNTOSONMENORESOIGUALESA8 YLOSDELSEGUNDOCONJUNTOSONMAYORESO
IGUALESA8
356
>«‰ÌՏœÊnÊ Ê Ê .c50%04%&03%&/"$*Î/

!        


ERCONJUNTO OCONJUNTO

%STEPROCESODEPARTICIONAMIENTOAPLICADOPARALOCALIZARLAPOSICIØNCORRECTADEUN
ELEMENTO8ENELARREGLOSEREPITECADAVEZQUEQUEDENCONJUNTOSFORMADOSPORDOSO
MÈSELEMENTOS%LMÏTODOSEPUEDEAPLICARDEMANERAITERATIVAORECURSIVA%NLATABLA
SEPRESENTALAUBICACIØNDELRESTODELOSELEMENTOSENELARREGLO

4!",! !        
!        

!        
!        

%LALGORITMODEORDENACIØNPORELMÏTODOQUICKSORTENSUVERSIØNRECURSIVAES

!LGORITMO 2ÈPIDO?RECURSIVO

2ÈPIDO?RECURSIVO! .

[%STEALGORITMOORDENALOSELEMENTOSDELARREGLOUNIDIMENSIONALUTILIZANDOELMÏTODORÈPIDO
DEMANERARECURSIVA!ESUNARREGLOUNIDIMENSIONALDE.ELEMENTOS]

 ,LAMARALALGORITMO2EDUCE?RECURSIVOCONY.

/BSERVE QUE EL ALGORITMO 2ÈPIDO?RECURSIVO REQUIERE PARA SU FUNCIONAMIENTO DE
OTROALGORITMO ELCUALSEPRESENTAENLATABLA

!LGORITMO 2EDUCE?RECURSIVO

2EDUCE?RECURSIVO).) &).

[).)Y&).REPRESENTANLASPOSICIONESDELEXTREMOIZQUIERDOYDERECHO RESPECTIVAMENTE DEL


CONJUNTODEELEMENTOSAORDENAR]
[):1 $%2 0/3 Y !58 SON VARIABLES DE TIPO ENTERO "!.$ ES UNA VARIABLE DE TIPO
BOOLEANO]

 (ACER):1←).) $%2←&). 0/3←).)Y"!.$←6%2$!$%2/


 -IENTRAS"!.$6%2$!$%2/ 2EPETIR
(ACER"!.$←&!,3/
 -IENTRAS!;0/3=≤!;$%2= Y0/3≠$%2 2EPETIR
(ACER$%2←$%2n
 [&INDELCICLODELPASO]
 3I0/3≠$%2 ENTONCES
(ACER!58←!;0/3= !;0/3=←!;$%2= !;$%2=←!58Y0/3←$%2
 03%&/"$*Î/*/5&3/" 357

 -IENTRAS!;0/3=≥!;):1= Y0/3≠):1 2EPETIR


(ACER):1←):1 
 [&INDELCICLODELPASO]
 3I0/3≠):1 ENTONCES
(ACER"!.$←6%2$!$%2/ !58←!;0/3= !;0/3=←!;):1=
!;):1=←!58Y0/3←):1
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
 3I0/3n ).) ENTONCES
2EGRESARA2EDUCE?RECURSIVOCON).)Y0/3n [,LAMADARECURSIVA]
 [&INDELCONDICIONALDELPASO]
 3I&).0/3  ENTONCES
2EGRESARA2EDUCE?RECURSIVOCON0/3  Y&).[,LAMADARECURSIVA]
 [&INDELCONDICIONALDELPASO]

!UNCUANDOELALGORITMODELQUICKSORTPRESENTADORESULTECLARO ESPOSIBLEAUMENTAR
SUVELOCIDADDEEJECUCIØNELIMINANDOLASLLAMADASRECURSIVAS,ARECURSIVIDADESUNINS
TRUMENTOMUYPODEROSO PEROLAElCIENCIADEEJECUCIØNESUNFACTORMUYIMPORTANTEEN
UNPROCESODEORDENACIØNQUEESNECESARIOCUIDARYADMINISTRARMUYBIEN%STASLLAMADAS
RECURSIVASSEPUEDENSUSTITUIRUTILIZANDOPILAS DANDOLUGARENTONCESALAITERATIVIDAD
#ONSIDEREMOSELARREGLOUNIDIMENSIONAL!DELEJEMPLO,UEGODELAPRIMERA
PARTICIØN !QUEDADELASIGUIENTEMANERA

!        


ERCONJUNTO OCONJUNTO

!LUTILIZARLAITERATIVIDAD SEDEBENALMACENARENLASPILASLOSÓNDICESDELOSDOSCON
JUNTOSDEDATOSQUEFALTATRATAR3EUTILIZARÈNDOSPILAS 0),!-%./2Y0),!-!9/2
%NLAPRIMERASEALMACENARÈELEXTREMOIZQUIERDOYENLAOTRASEALMACENARÈELEXTREMO
DERECHODELOSCONJUNTOSDEDATOSQUEFALTATRATAR%NLAlGURASEOBSERVAELESTADO
DELASPILAS LUEGODECARGARLOSEXTREMOSDELOSCONJUNTOSQUEFALTATRATAR
,OSÓNDICESDELPRIMERCONJUNTOQUEDARONALMACENADOSENLAPRIMERAPOSICIØNDE
0),!-%./2 Y 0),!-!9/2 RESPECTIVAMENTE ,A POSICIØN DEL EXTREMO IZQUIERDO
DELPRIMERCONJUNTO EN0),!-%./2YLADELEXTREMODERECHODELMISMOCONJUNTO
 EN0),!-!9/2,ASPOSICIONESDELOSEXTREMOSIZQUIERDOYDERECHODELSEGUNDO
CONJUNTO  Y  FUERON ALMACENADOS EN LA CIMA DE 0),!-%./2 Y 0),!-!9/2
RESPECTIVAMENTE

&)'52!
0ILASPARASUSTITUIR
LARECURSIVIDAD
358
>«‰ÌՏœÊnÊ Ê Ê .c50%04%&03%&/"$*Î/

!CONTINUACIØNSEPRESENTAELALGORITMODEORDENACIØNPORELMÏTODODELQUICKSORT
UTILIZANDOITERATIVIDADENLUGARDERECURSIVIDAD

!LGORITMO 2ÈPIDO?ITERATIVO

2ÈPIDO?ITERATIVO! .

[%STE ALGORITMO ORDENA LOS ELEMENTOS DE UN ARREGLO UNIDIMENSIONAL UTILIZANDO EL MÏTODO
RÈPIDO DEMANERAITERATIVA!ESUNARREGLOUNIDIMENSIONALDE.ELEMENTOS]
[4/0% ).) &). Y 0/3 SON VARIABLES DE TIPO ENTERO 0),!-%./2 Y 0),!-!9/2 SON
ARREGLOSUNIDIMENSIONALES QUEFUNCIONANCOMOPILAS]

 (ACER4/0%← 0),!-%./2;4/0%=←Y0),!-!9/2;4/0%=←.


 -IENTRAS4/0% 2EPETIR
(ACER).)←0),!-%./2;4/0%= &).←0),!-!9/2;4/0%=Y
4/0%←4/0%n
,LAMARALALGORITMO2EDUCE?ITERATIVOCON).) &).Y0/3
 3I).)0/3n ENTONCES
(ACER4/0%←4/0%  0),!-%./2;4/0%=←).)Y
0),!-!9/2;4/0%=←0/3n
 [&INDELCONDICIONALDELPASO]
 3I&).0/3  ENTONCES
(ACER4/0%←4/0%  0),!-%./2;4/0%=←0/3 Y
0),!-!9/2;4/0%=←&).
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]

.OTEQUEELALGORITMO2ÈPIDO?ITERATIVONECESITAPARASUFUNCIONAMIENTODEOTRO
ALGORITMO ELCUALSEPRESENTAACONTINUACIØN

!LGORITMO 2EDUCE?ITERATIVO

2EDUCE?ITERATIVO).) &). 0/3

[).)Y&).REPRESENTANLASPOSICIONESDELOSEXTREMOSIZQUIERDOYDERECHO RESPECTIVAMENTE
DELCONJUNTODEELEMENTOSAEVALUAR0/3ESUNAVARIABLEDONDESEALMACENARÈELRESULTADODE
ESTEALGORITMO]
[):1 $%2Y!58SONVARIABLESDETIPOENTERO"!.$ESUNAVARIABLEDETIPOBOOLEANO]

 (ACER):1←).) $%2←&). 0/3←).)Y"!.$←6%2$!$%2/


 -IENTRAS"!.$6%2$!$%2/ 2EPETIR
 -IENTRAS!;0/3=≤!;$%2= Y0/3≠$%2 2EPETIR
(ACER$%2←$%2n
 [&INDELCICLODELPASO]
 3I0/3$%2
ENTONCES
 03%&/"$*Î/*/5&3/" 359

(ACER"!.$←&!,3/
SINO
(ACER!58←!;0/3= !;0/3=←!;$%2= !;$%2=←!58Y
0/3←$%2
 -IENTRAS!;0/3=≥!;):1= Y0/3≠):1 2EPETIR
(ACER):1←):1 
 [&INDELCICLODELPASO]
 3I0/3):1
ENTONCES
(ACER"!.$←&!,3/
SINO
(ACER!58←!;0/3= !;0/3=←!;):1=
!;):1=←!58Y0/3←):1
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]

%JEMPLO %N LA TABLA  SE EXPONEN LOS PASOS NECESARIOS PARA ORDENAR LAS CLAVES DEL ARREGLO
UNIDIMENSIONAL!

!                

,ACOLUMNA%842%-/CONTIENELOSEXTREMOSIZQUIERDOYDERECHODELCONJUNTO
DEELEMENTOSAEVALUAR%N0),!-%./2SEALMACENAELEXTREMOIZQUIERDOYEN0),!
-!9/2ELEXTREMODERECHODELOSCONJUNTOSPENDIENTESDETRATAR
5NALEVEMEJORAENELFUNCIONAMIENTODELMÏTODORÈPIDOSEPUEDEPRODUCIRSIEL
PRIMERELEMENTOPOSICIONADOENELARREGLOSEENCUENTRAENLAMITADOMUYPRØXIMOASU
MITAD0ARALOGRARESTOÞLTIMOSENECESITAPERMUTARLOSCOMPONENTESDELARREGLODETAL
FORMAQUEPARAELVALOR8TODOSLOSELEMENTOSQUESEENCUENTRENASUIZQUIERDADESDE
!;=HASTA!;I= DONDEIESIGUALAN n SEANMENORESOIGUALESAÏLYTODOSLOSQUE
SEENCUENTRENASUDERECHADESDE!;I =HASTA!;.=SEANMAYORESOIGUALESAÏL0OR
EJEMPLO ENELSIGUIENTEARREGLOUNIDIMENSIONAL!

!         

ESELELEMENTOQUEOCUPALAPOSICIØNCENTRALDELARREGLOORDENADOYDIVIDEAÏSTEEN
DOSMITADESIGUALES1UEDALATAREADECONSTRUIRELALGORITMOQUEENCUENTRAALELEMENTO
8QUEOCUPALAPOSICIØNCENTRALDELARREGLO

!NÉLISISDEElCIENCIADELMÏTODOQUICKSORT
%LMÏTODOQUICKSORTESELMÈSRÈPIDODEORDENACIØNINTERNAQUEEXISTEENLAACTUALIDAD
%STOESSORPRENDENTE PORQUEELMÏTODOTIENESUORIGENENELMÏTODODEINTERCAMBIO
DIRECTO EL PEOR DE TODOS LOS MÏTODOS DIRECTOS $IVERSOS ESTUDIOS REALIZADOS SOBRE SU
COMPORTAMIENTODEMUESTRANQUESISEESCOGEENCADAPASADAELELEMENTOQUEOCUPALA
360
>«‰ÌՏœÊnÊ Ê Ê .c50%04%&03%&/"$*Î/

4!",!

0/3)#)/.%3 0),! 0),!


                %842%-/ -%./2 -!9/2

                  .), .),

                   

 

                   

 

                   

 

                   

 

                   

 

                   

                  .), .),

                   

                  .), .),

                .), .), .),

POSICIØNCENTRALDELCONJUNTODEDATOSAANALIZAR ELNÞMERODEPASADASNECESARIASPARA
ORDENARLOESDELORDENDELOGN2ESPECTODELNÞMERODECOMPARACIONES SIELTAMA×O
DELARREGLOESUNAPOTENCIADE ENLAPRIMERAPASADAREALIZARÈNn COMPARACIONES
ENLASEGUNDANn COMPARACIONES PEROENDOSCONJUNTOSDIFERENTES ENLATERCERA
REALIZARÈNn COMPARACIONES PEROENCUATROCONJUNTOSDIFERENTESYASÓSUCESIVA
MENTE0ORLOTANTO

 N   N   N 
#   N  

x  N 

   N 
 03%&/"$*Î/*/5&3/" 361

LOCUALESLOMISMOQUE

#Nn Nn Nn  Nn

3ISECONSIDERAACADAUNODELOSCOMPONENTESDELASUMATORIACOMOUNTÏRMINOY
ELNÞMERODETÏRMINOSDELASUMATORIAESIGUALAM ENTONCESSETIENEQUE

#Nn
M

#ONSIDERANDOQUEELNÞMERODETÏRMINOSDELASUMATORIAM ESIGUALALNÞMERODE
PASADAS YQUEÏSTEESIGUALALOGN LAEXPRESIØNANTERIORQUEDA


#Nn
LOGN &ØRMULA

3IN EMBARGO ENCONTRAR EL ELEMENTO QUE OCUPE LA POSICIØN CENTRAL DEL CONJUNTO
DEDATOSQUESEVANAANALIZARESUNATAREADIFÓCIL YAQUEEXISTENNPOSIBILIDADESDE
LOGRARLO!DEMÈS EL RENDIMIENTO MEDIO DEL MÏTODO ES APROXIMADAMENTE 
LN 
INFERIORALCASOØPTIMO PORLOQUE(OARE ELAUTORDELMÏTODO PROPONECOMOSOLUCIØN
QUEELELEMENTO8SESELECCIONEARBITRARIAMENTEOBIENENTREUNAMUESTRARELATIVAMENTE
PEQUE×ADEELEMENTOSDELARREGLO
%LPEORCASOOCURRECUANDOLOSELEMENTOSDELARREGLOYASEENCUENTRANORDENADOS
OBIENCUANDOSEENCUENTRANENORDENINVERSO3UPONGAMOS POREJEMPLO QUESEDEBE
ORDENARELSIGUIENTEARREGLOUNIDIMENSIONALQUEYASEENCUENTRAORDENADO

!        

3ISEESCOGEARBITRARIAMENTEELPRIMERELEMENTO ENTONCESSEPARTICIONARÈEL
ARREGLOENDOSMITADES UNADEYOTRADENn ELEMENTOS

       

3ISECONTINÞACONELPROCESODEORDENACIØNYSEESCOGENUEVAMENTEELPRIMERELE
MENTO DELCONJUNTODEDATOSQUESEANALIZARÈN ENTONCESSEDIVIDIRÈELARREGLOEN
DOSNUEVOSCONJUNTOS NUEVAMENTEUNODEYOTRODENn ELEMENTOS0ORLOTANTO EL
NÞMERODECOMPARACIONESQUESEREALIZARÈNSERÈ

N
 N 
#MÈX  N  N   N  x   


QUEESIGUALA


N N &ØRMULA
#MÈX  

362
>«‰ÌՏœÊnÊ Ê Ê .c50%04%&03%&/"$*Î/

#OMOCONCLUSIØN SEPUEDEAlRMARQUEELTIEMPOPROMEDIODEEJECUCIØNDELALGO
RITMOESPROPORCIONALAN
LOGN /N
LOGN %NELPEORCASO ELTIEMPODEEJECUCIØN
ESPROPORCIONALAN /N 

 /RDENACIØNPORELMÏTODOHEAPSORTMONTÓCULO
%LMÏTODODEORDENACIØNHEAPSORTSECONOCETAMBIÏNCOMOMONTÓCULO3UNOMBRESE
DEBEASUAUTOR *77ILLIAMS QUIENLOLLAMØASÓ%SELMÈSElCIENTEDELOSMÏTODOS
DEORDENACIØNQUETRABAJANCONÈRBOLES,AIDEACENTRALDEESTEALGORITMOSEBASAENDOS
OPERACIONES

 #ONSTRUIRUNMONTÓCULO
 %LIMINARLARAÓZDELMONTÓCULOENFORMAREPETIDA

%SIMPORTANTESE×ALARQUEUNMONTÓCULOSEDElNECOMO0ARATODONODODELÈRBOLSE
DEBECUMPLIRQUESUVALORSEAMAYOROIGUALQUEELVALORDECUALQUIERADESUSHIJOS

%JEMPLO %NLAlGURASEMUESTRAUNMONTÓCULO!LLÓSEPUEDEOBSERVARQUEPARACADANODO+
DELÈRBOL SUVALORESMAYOROIGUALQUEELVALORDECUALQUIERADESUSHIJOS
!HORA BIEN PARA REPRESENTAR UN MONTÓCULO EN UN ARREGLO LINEAL SE DEBE TENER EN
CUENTAPARATODONODO+LOSIGUIENTE

 %LNODO+SEALMACENAENLAPOSICIØN+CORRESPONDIENTEDELARREGLO
 %LHIJOIZQUIERDODELNODO+SEALMACENAENLAPOSICIØN
+
 %LHIJODERECHODELNODO+SEALMACENAENLAPOSICIØN
+ 

,AlGURACONTIENELAREPRESENTACIØNDELMONTÓCULODELAlGURAENUNARREGLO
UNIDIMENSIONAL!
/BSERVEQUESISEDESEAOBTENERELHIJOIZQUIERDODELNODO!;= CUYOVALORES
SEHACE!;
=!;=YSUCONTENIDOES3IDESEAMOSOBTENERENCAMBIOELHIJO
DERECHODE!;= HACEMOS!;
 =!;=YSUCONTENIDOES

&)'52!
-ONTÓCULOCON
ELEMENTOS
 03%&/"$*Î/*/5&3/" 363

&)'52!
2EPRESENTACIØNDEUN
MONTÓCULOENUNARREGLO
LINEAL

!SUVEZ ESPOSIBLECALCULARELPADREDEUNNODONORAÓZ+CUALQUIERA TOMANDOLA


PARTEENTERADE+ENTRE !SÓ POREJEMPLO SISEDESEAOBTENERELPADREDELNODO!;=
CUYOVALORES SEHACE!;PARTEENTERAENTRE =!;=YSUCONTENIDOES

)NSERCIØNDEUNELEMENTOENUNMONTÓCULO
,AINSERCIØNDEUNELEMENTOENUNMONTÓCULOSELLEVAACABOPORMEDIODELOSSIGUIENTES
PASOS

 3EINSERTAELELEMENTOENLAPRIMERAPOSICIØNDISPONIBLE
 3EVERIlCASISUVALORESMAYORQUEELDESUPADRE3ISECUMPLEESTACONDICIØN
ENTONCES SE EFECTÞA EL INTERCAMBIO 3I NO SE CUMPLE ESTA CONDICIØN ENTONCES
ELALGORITMOSEDETIENEYELELEMENTOQUEDAUBICADOENSUPOSICIØNCORRECTAENEL
MONTÓCULO

#ABEACLARARQUEELPASOSEAPLICADEMANERARECURSIVAYDESDEABAJOHACIAARRIBA

%JEMPLO 3UPONGAMOSQUESEQUIEREINCORPORARALMONTÓCULODELAlGURAELELEMENTO,AS
COMPARACIONESQUEREALIZAMOSSON

 SÓHAYINTERCAMBIO
 SÓHAYINTERCAMBIO
 NOHAYINTERCAMBIO

,UEGODEHABERINSERTADOELELEMENTO ELMONTÓCULOQUEDACOMOSEMUESTRAEN
LAlGURA

&)'52!
-ONTÓCULOCON
ELEMENTOS
.OTA3EUTILIZAmECHADISCON
TINUAPARAINDICARLAPOSICIØN
INICIALDONDESEINSERTAEL
ELEMENTO
364
>«‰ÌՏœÊnÊ Ê Ê .c50%04%&03%&/"$*Î/

&)'52!
-ONTÓCULOLUEGODEHABER
INSERTADOLACLAVE

%JEMPLO 3UPONGAMOSQUESEDESEAINSERTARLASSIGUIENTESCLAVESENUNMONTÓCULOQUESEENCUEN
TRAVACÓO

       

,OSRESULTADOSPARCIALESQUEILUSTRANCØMOFUNCIONAELPROCEDIMIENTOSEOBSERVAN
ENLAlGURA%LMONTÓCULOSEREPRESENTACOMOÈRBOLYTAMBIÏNCOMOARREGLO,AS
mECHASDISCONTINUASINDICANLAPOSICIØNINICIALDONDESEINSERTAELOLOSELEMENTOS

%JEMPLO $ADOELMONTÓCULODELAlGURAF VERIlQUESIÏSTEQUEDAIGUALALMONTÓCULO REPRESEN


TADOCOMOARREGLO DELAlGURA LUEGODEINSERTARLASSIGUIENTESCLAVES

       

&)'52!
)NSERCIONESENUN
MONTÓCULO
.OTA3EUTILIZALAmECHA
DISCONTINUAPARAINDICARLAPO
SICIØNINICIALDONDESEINSERTA
ELOLOSELEMENTOS
 03%&/"$*Î/*/5&3/" 365

&)'52!
CONTINUACIØN
)NSERCIONESENUNMONTÓCULO
.OTA3EUTILIZALAmECHADISCONTINUAPARAINDICARLAPOSICIØNINICIALDONDESEINSERTA
ELOLOSELEMENTOS
366
>«‰ÌՏœÊnÊ Ê Ê .c50%04%&03%&/"$*Î/

 
   


&)'52!
CONTINUACIØN
)NSERCIONESENUNMON
TÓCULO
.OTA3EUTILIZALAmECHA
DISCONTINUAPARAINDICARLAPO
SICIØNINICIALDONDESEINSERTA
ELOLOSELEMENTOS

%LALGORITMOPARAINSERTARELEMENTOSENUNMONTÓCULOES

!LGORITMO )NSERTA?MONTÓCULO

)NSERTA?MONTÓCULO! .

[%L ALGORITMO INSERTA LOS ELEMENTOS EN UN MONTÓCULO REPRESENTADO COMO ARREGLO ! ES UN
ARREGLOUNIDIMENSIONALDE.ELEMENTOS]
[) +Y!58SONVARIABLESDETIPOENTERO"!.$ESUNAVARIABLEDETIPOBOOLEANO]

 2EPETIRCON)DESDEHASTA.
(ACER+←)Y"!.$←6%2$!$%2/
 -IENTRAS+ Y"!.$6%2$!$%2/ 2EPETIR
(ACER"!.$←&!,3/
 3I!;+=!;PARTEENTERA+ENTRE =ENTONCES
(ACER!58←!;PARTEENTERA+ENTRE =
!;PARTEENTERA+ENTRE =←!;+= !;+=←!58
+←PARTEENTERA+ENTRE Y"!.$←6%2$!$%2/
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
 [&INDELCICLODELPASO]
 03%&/"$*Î/*/5&3/" 367

&)'52!
-ONTÓCULOREPRESENTADO
COMOARREGLO
UNIDIMENSIONAL

%LIMINACIØNDEUNMONTÓCULO
%LPROCESOPARAOBTENERLOSELEMENTOSORDENADOSSEEFECTÞAELIMINANDOLARAÓZDELMON
TÓCULOENFORMAREPETIDA!HORABIEN LOSPASOSNECESARIOSPARALOGRARLAELIMINACIØNDE
LARAÓZDELMONTÓCULOSON

 3EREEMPLAZALARAÓZCONELELEMENTOQUEOCUPALAÞLTIMAPOSICIØNDELMONTÓCULO
 3EVERIlCASIELVALORDELARAÓZESMENORQUEELVALORMÈSGRANDEDESUSHIJOS3ISE
CUMPLELACONDICIØN ENTONCESSEEFECTÞAELINTERCAMBIO3INOSECUMPLELACONDI
CIØN ENTONCESELALGORITMOSEDETIENEYELELEMENTOQUEDAUBICADOENSUPOSICIØN
CORRECTAENELMONTÓCULO

#ABEACLARARQUEELPASOSEAPLICADEMANERARECURSIVAYDESDEARRIBAHACIAABAJO

%JEMPLO 3UPONGAMOSQUESEDESEAELIMINARLARAÓZDELMONTÓCULO DELAlGURA


2EEMPLAZAMOSLARAÓZ  PORELELEMENTOQUEOCUPALAÞLTIMAPOSICIØNDELMONTÓCU
LO !CONTINUACIØNEFECTUAMOSLASSIGUIENTESCOMPARACIONES

 SÓHAYINTERCAMBIO
ESELMAYORDELOSHIJOSDE

 SÓHAYINTERCAMBIO
ESELMAYORDELOSHIJOSDE

%LMONTÓCULO LUEGODEHABERSEELIMINADOLARAÓZ QUEDACOMOELQUESEPRESENTAEN


LAlGURA

&)'52!
-ONTÓCULOREPRESENTADO
COMOÉRBOL
368
>«‰ÌՏœÊnÊ Ê Ê .c50%04%&03%&/"$*Î/

&)'52!
-ONTÓCULOREPRESENTADO
COMOÉRBOL

%JEMPLO 3UPONGAMOSQUESEDESEAELIMINARLARAÓZDELMONTÓCULO PRESENTADOCOMOARREGLO DE


LAlGURA ENFORMAREPETIDA
#ABEACLARARQUEALREEMPLAZARLARAÓZPORELÞLTIMOELEMENTODELMONTÓCULO ÏSTA
SECOLOCAENLAPOSICIØNDELÞLTIMOELEMENTO%SDECIR LAPRIMERAVEZLARAÓZSERÈCOLO
CADAENLAPOSICIØNN LASEGUNDAVEZENLAPOSICIØNNn LATERCERAVEZENLAPOSICIØN
Nn YASÓSUCESIVAMENTEHASTAQUEQUEDECOLOCADAENLASPOSICIONESY ENFORMA
RESPECTIVA,OSPASOSAREALIZARSON

02)-%2!%,)-).!#)».$%,!2!¶:

3EINTERCAMBIALARAÓZ  CONELELEMENTOQUEOCUPALAÞLTIMAPOSICIØNDELMONTÓCULO


,ASCOMPARACIONESQUESEREALIZANSON

!;=!;=  SÓHAYINTERCAMBIO


!;=ESELMAYORDELOSHIJOSDE!;=

!;=!;=  SÓHAYINTERCAMBIO


!;=ESELMAYORDELOSHIJOSDE!;=

!;=!;=  SÓHAYINTERCAMBIO


!;=ESELMAYORDELOSHIJOSDE!;=

,UEGODEELIMINARLAPRIMERARAÓZ ELMONTÓCULOQUEDAASÓ

               

&)'52!
-ONTÓCULOREPRESENTADO
COMOARREGLOUNIDIMEN
SIONAL
 03%&/"$*Î/*/5&3/" 369

/BSERVEQUEELELEMENTOMÈSGRANDESEUBICØENLAÞLTIMAPOSICIØNDELARREGLO

3%'5.$!%,)-).!#)».$%,!2!¶:

3EINTERCAMBIALARAÓZ  CONELELEMENTOQUEOCUPALAÞLTIMAPOSICIØNDELMONTÓCULO


,ASCOMPARACIONESQUESEREALIZANSON

!;=!;=  SÓHAYINTERCAMBIO


!;=ESELMAYORDELOSHIJOSDE!;=

!;=!;=  SÓHAYINTERCAMBIO


!;=ESELMAYORDELOSHIJOSDE!;=

!;=!;=  SÓHAYINTERCAMBIO


!;=ESELMAYORDELOSHIJOSDE!;=

,UEGODEELIMINARLASEGUNDARAÓZ ELMONTÓCULOQUEDAASÓ

               

4%2#%2!%,)-).!#)».$%,!2!¶:

3EINTERCAMBIALARAÓZ  CONELELEMENTOQUEOCUPALAÞLTIMAPOSICIØNDELMONTÓCULO


,ASCOMPARACIONESQUESEREALIZANSON

!;=!;=  SÓHAYINTERCAMBIO


!;=ESELMAYORDELOSHIJOSDE!;=

!;=!;=  SÓHAYINTERCAMBIO


!;=ESELMAYORDELOSHIJOSDE!;=

!;=!;=  SÓHAYINTERCAMBIO


!;=ESELMAYORDELOSHIJOSDE!;=

,UEGODEELIMINARLATERCERARAÓZ ELMONTÓCULOQUEDAASÓ

               

%NLATABLASEPRESENTAELRESULTADODELASRESTANTESELIMINACIONES/BSERVEQUE
LUEGODEELIMINARLARAÓZDELMONTÓCULO ENFORMAREPETIDA ELARREGLOQUEDAORDENADO
!CONTINUACIØNSEPRESENTAELALGORITMOQUEELIMINASUCESIVAMENTELARAÓZDELMON
TÓCULO#ABEACLARARQUEPARAEFECTODEAUMENTARLAElCIENCIADELALGORITMOSEELIMINAN
LOS INTERCAMBIOS PARCIALES UTILIZANDO UNA VARIABLE AUXILIAR EN LA QUE SE ALMACENA EL
ÞLTIMOELEMENTODELMONTÓCULO
370
>«‰ÌՏœÊnÊ Ê Ê .c50%04%&03%&/"$*Î/

4!",!

%LIMINACIØN -ONTÓCULO

                
                
                
                
                
                
                
                
                
                
                
                

!LGORITMO %LIMINA?MONTÓCULO

%LIMINA?MONTÓCULO! .

[%LALGORITMOELIMINALARAÓZDELMONTÓCULOENFORMAREPETIDA!ESUNARREGLOUNIDIMENSIONAL
DE.ELEMENTOS]
[) !58 ):1 $%2 + Y!0 SON VARIABLES DE TIPO ENTERO "//, ES UNA VARIABLE DE TIPO
BOOLEANO]

 2EPETIRCON)DESDE.HASTA[#ICLODESCENDENTE]
(ACER!58←!;)= !;)=←!;= ):1← $%2← +←Y
"//,←6%2$!$%2/
 -IENTRAS):1) Y"//,6%2$!$%2/ 2EPETIR
(ACER-!9/2←!;):1=Y!0←):1
 3I-!9/2!;$%2= Y$%2≠) ENTONCES
(ACER-!9/2←!;$%2=Y!0←$%2
 [&INDELCONDICIONALDELPASO]
 3I!58-!9/2
ENTONCES
(ACER!;+=←!;!0=Y+←!0
SINO
(ACER"//,←&!,3/
 [&INDELCONDICIONALDELPASO]
(ACER):1←+
Y$%2←):1 
 [&INDELCICLODELPASO]
(ACER!;+=←!58
 [&INDELCICLODELPASO]
 03%&/"$*Î/&95&3/" 371

%LPROCESODEORDENACIØNPORELMÏTODODELMONTÓCULOCONSTADEDOSPARTES

 #ONSTRUIRELMONTÓCULO%STAOPERACIØNSEBASAENLADEINSERCIØNPRESENTADAENEL
ALGORITMO
 %LIMINARREPETIDAMENTELARAÓZDELMONTÓCULO%STAOPERACIØNSEBASAENLADEELIMI
NACIØNPRESENTADAENELALGORITMO

%LALGORITMODEORDENACIØN RESULTAENTONCESDELASIGUIENTEMANERA

!LGORITMO -ONTÓCULO

-ONTÓCULO! .

[%LALGORITMOORDENALOSELEMENTOSDELARREGLOUTILIZANDOELMÏTODODELMONTÓCULO!ESUN
ARREGLOUNIDIMENSIONALDE.ELEMENTOS]

 ,LAMARALALGORITMO)NSERTA?MONTÓCULOCON!Y.
 ,LAMARALALGORITMO%LIMINA?MONTÓCULOCON!Y.

!NÉLISISDEElCIENCIADELMÏTODODELMONTÓCULO
%LANÈLISISDELMÏTODODELMONTÓCULO COMOELDELOSMÏTODOSLOGARÓTMICOS ESCOMPLEJO
%SIMPORTANTETENERENCUENTATANTOLAFASEDECONSTRUCCIØNDELMONTÓCULOCOMOLAFASE
DONDESEELIMINAREPETIDAMENTESURAÓZ PARAlNALMENTEOBTENERELARREGLOORDENADO
!DIFERENCIADELOQUESEPUDIERAPENSAR YAQUEENLAFASEDECONSTRUCCIØNDELMON
TÓCULOLOSELEMENTOSMAYORESSECARGANHACIALAIZQUIERDAYENLAFASEDEELIMINACIØNDE
LARAÓZLOSELEMENTOSMAYORESSECARGANHACIALADERECHA ÏSTEESUNMÏTODOMUYRÈPIDO
SOBRETODOPARAVALORESGRANDESDE.,OSESTUDIOSREALIZADOSALRESPECTODEMUESTRAN
QUEELTIEMPODEEJECUCIØNDELALGORITMOENAMBASFASESESDE/N
LOGN 
!UNQUEELMÏTODODELMONTÓCULOPUEDESERUNPOCOMÈSLENTOQUEELQUICKSORTSE
ESTIMAEN ESELÞNICOQUEGARANTIZAQUEAUNENELPEORCASOSUTIEMPODEEJECU
CIØNESPROPORCIONALAN
LOGN /N
LOGN 2ECUERDEQUEELTIEMPODEEJECUCIØNDEL
MÏTODOQUICKSORT ENELPEORCASO ESPROPORCIONALAN /N 

 /2$%.!#)¼.%84%2.!
%NLAACTUALIDADESMUYCOMÞNPROCESARTALESVOLÞMENESDEINFORMACIØNQUELOSDATOS
NOSEPUEDENALMACENARENLAMEMORIAPRINCIPALDELACOMPUTADORA%STOSDATOS ORGA
NIZADOSENARCHIVOS SEGUARDANENDISPOSITIVOSDEALMACENAMIENTOSECUNDARIO COMO
CINTAS DISCOS ETCÏTERA
%LPROCESODEORDENARLOSDATOSALMACENADOSENVARIOSARCHIVOSSECONOCECOMO
FUSIØNOMEZCLASEENTIENDEPORESTECONCEPTOALACOMBINACIØNOINTERCALACIØNDEDOS
OMÈSSECUENCIASORDENADASENUNAÞNICASECUENCIAORDENADA3EDEBEHACERHINCAPIÏEN
372
>«‰ÌՏœÊnÊ Ê Ê .c50%04%&03%&/"$*Î/

QUESØLOSECOLOCANENLAMEMORIAPRINCIPALDELACOMPUTADORALOSDATOSQUESEPUEDEN
ACCEDERENFORMADIRECTA

 )NTERCALACIØNDEARCHIVOS
0OR INTERCALACIØN DE ARCHIVOS SE ENTIENDE LA UNIØN O FUSIØN DE DOS O MÈS ARCHIVOS
ORDENADOSDEACUERDOCONUNDETERMINADOCAMPOCLAVE ENUNSOLOARCHIVO!NALICEMOS
ELSIGUIENTEEJEMPLO

%JEMPLO 3UPONGAQUESETIENENDOSARCHIVOS &Y& CUYAINFORMACIØNESTÈORDENADADEACUER


DOCONUNCAMPOCLAVE

&    


&      

3EDEBEPRODUCIR ENTONCES UNARCHIVO&ORDENADO COMORESULTADODELAMEZCLA


DE&Y&3ØLOSEPUEDENACCEDERENFORMADIRECTADOSCLAVES LAPRIMERADELARCHIVO
& Y LA SEGUNDA DEL ARCHIVO & ,AS COMPARACIONES QUE SE REALIZAN PARA PRODUCIR EL
ARCHIVO&SON

 SÓSECUMPLELACONDICIØN
3EESCRIBEENELARCHIVODESALIDA&YSEVUELVEALEEROTRACLAVE
DE&

 SÓSECUMPLELACONDICIØN
3EESCRIBEENELARCHIVODESALIDA&YSEVUELVEALEEROTRACLAVE
DE&

 NOSECUMPLELACONDICIØN
3EESCRIBEENELARCHIVODESALIDA&YSEVUELVEALEEROTRACLAVE
DE&

%LESTADODELOSARCHIVOS& &Y& HASTAELMOMENTO ESCOMOSEMUESTRAMÈS


ABAJO,AmECHASE×ALAELÞLTIMOELEMENTOLEÓDODELOSARCHIVOSQUESEESTÈNINTERCA
LANDO


&    

&      

&  

%LPROCESOCONTINÞAHASTAQUEENUNOUOTROARCHIVOSEDETECTESUlNALENTALCASO
SØLOSETENDRÈQUECOPIARLAINFORMACIØNDELARCHIVONOVACÓOALARCHIVODESALIDA&%L
RESULTADOlNALDELAINTERCALACIØNENTRELOSARCHIVOS&Y&ES
 03%&/"$*Î/&95&3/" 373

&            

!CONTINUACIØNSEMUESTRAELALGORITMODEINTERCALACIØNDEARCHIVOS

!LGORITMO )NTERCALACIØN

)NTERCALACIØN& & &

[%LALGORITMOINTERCALALOSELEMENTOSDEDOSARCHIVOSYAORDENADOS&Y&YALMACENAEL
RESULTADOENELARCHIVO&]
[2Y2SONVARIABLESDETIPOENTERO"!.Y"!.SONVARIABLESDETIPOBOOLEANO]

 !BRIRLOSARCHIVOS&Y&PARALECTURA
 !BRIRELARCHIVO&PARAESCRITURA
 (ACER"!.←6%2$!$%2/Y"!.←6%2$!$%2/
 -IENTRAS NO SEA EL lN DE ARCHIVO DE & O "!.  &!,3/ Y NO SEA EL lN DE
ARCHIVODE& O"!.&!,3/ 2EPETIR
 3I"!.6%2$!$%2/ ENTONCES[3EDEBELEER2DE&]
,EER2DE&
(ACER"!.←&!,3/
 [&INDELCONDICIONALDELPASO]
 3I"!.6%2$!$%2/ ENTONCES[3EDEBELEER2DE&]
,EER2DE&
(ACER"!.←&!,3/
 [&INDELCONDICIONALDELPASO]
 3I22
ENTONCES
%SCRIBIR2EN&
(ACER"!.←6%2$!$%2/
SINO
%SCRIBIR2EN&
(ACER"!.←6%2$!$%2/
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
[6ERIlCASISELEYØUNELEMENTODE&YNOSECOPIØEN&]
 3I"!.&!,3/ ENTONCES
%SCRIBIR2EN&
 -IENTRASNOSEAELlNDEARCHIVODE& 2EPETIR
,EER2DE&
%SCRIBIR2EN&
 [&INDELCICLODELPASO]
 [&INDELCONDICIONALDELPASO]
[6ERIlCASISELEYØUNELEMENTODE&YNOSECOPIØEN&]
 3I"!.&!,3/ ENTONCES
%SCRIBIR2EN&
 -IENTRASNOSEAELlNDEARCHIVODE& 2EPETIR
374
>«‰ÌՏœÊnÊ Ê Ê .c50%04%&03%&/"$*Î/

,EER2DE&
%SCRIBIR2EN&
 [&INDELCICLODELPASO]
 [&INDELCONDICIONALDELPASO]
 [#ERRARLOSARCHIVOS& &Y&]

 /RDENACIØNDEARCHIVOS
,A ORDENACIØN DE ARCHIVOS SE EFECTÞA CUANDO EL VOLUMEN DE LOS DATOS ES DEMASIADO
GRANDE Y ÏSTOS NO CABEN EN LA MEMORIA PRINCIPAL DE LA COMPUTADORA!L OCURRIR ESTA
SITUACIØNNOSEPUEDENAPLICARLOSMÏTODOSDEORDENACIØNINTERNAESTUDIADOSENLAPRI
MERAPARTEDEESTECAPÓTULO DEMODOQUESEDEBEPENSARENOTROTIPODEALGORITMOSPARA
ORDENARDATOSALMACENADOSENARCHIVOS
0ORORDENACIØNDEARCHIVOSSEENTIENDE ENTONCES LAORDENACIØNOCLASIlCACIØNDE
ÏSTOS ASCENDENTEODESCENDENTEMENTE DEACUERDOCONUNCAMPODETERMINADOALQUE
SEDENOMINARÈCAMPOCLAVE,APRINCIPALDESVENTAJADEESTAORDENACIØNESELTIEMPODE
EJECUCIØN DEBIDOALASSUCESIVASOPERACIONESDELECTURAYESCRITURAADEARCHIVO
,OS DOS MÏTODOS DE ORDENACIØN EXTERNA MÈS IMPORTANTES SON LOS BASADOS EN LA
MEZCLADIRECTAYENLAMEZCLAEQUILIBRADA

 /RDENACIØNPORMEZCLADIRECTA
%LMÏTODODEORDENACIØNPORMEZCLADIRECTAESPROBABLEMENTEELMÈSUTILIZADOPORSU
FÈCILCOMPRENSIØN,AIDEACENTRALDEESTEALGORITMOCONSISTEENLAREALIZACIØNSUCESIVA
DEUNAPARTICIØNYUNAFUSIØNQUEPRODUCESECUENCIASORDENADASDELONGITUDCADAVEZ
MAYOR%NLAPRIMERAPASADA LAPARTICIØNESDELONGITUDYLAFUSIØNOMEZCLAPRODUCE
SECUENCIASORDENADASDELONGITUD%NLASEGUNDAPASADA LAPARTICIØNESDELONGITUD
YLAFUSIØNOMEZCLAPRODUCESECUENCIASORDENADASDELONGITUD%STEPROCESOSEREPITE
HASTAQUELALONGITUDDELASECUENCIAPARALAPARTICIØNSEA

0ARTEENTERAN  

$ONDENREPRESENTAELNÞMERODEELEMENTOSDELARCHIVOORIGINAL

%JEMPLO 3UPONGAMOSQUESEDESEAORDENARLASCLAVESDELARCHIVO&0ARAREALIZARTALACTIVIDADSE
UTILIZANDOSARCHIVOSAUXILIARESALOSQUESELESDENOMINARÈ&Y&

&               

02)-%2!0!3!$!

0ARTICIØNENSECUENCIASDELONGITUD
 03%&/"$*Î/&95&3/" 375

& ʹ ʹ ʹ ʹ ʹ ʹ ʹ ʹ


& ʹ ʹ ʹ ʹ ʹ ʹ ʹ

&USIØNENSECUENCIASDELONGITUD

&  ʹ  ʹ  ʹ  ʹ  ʹ  ʹ  ʹ ʹ

3%'5.$!0!3!$!

0ARTICIØNENSECUENCIASDELONGITUD

&  ʹ  ʹ  ʹ  ʹ


&  ʹ  ʹ  ʹ ʹ

&USIØNENSECUENCIASDELONGITUD

&    ʹ    ʹ    ʹ   ʹ

4%2#%2!0!3!$!

0ARTICIØNENSECUENCIASDELONGITUD

&    ʹ    ʹ


&    ʹ   ʹ

&USIØNENSECUENCIASDELONGITUD

&        ʹ       ʹ

#5!24!0!3!$!

0ARTICIØNENSECUENCIASDELONGITUD

&        ʹ


&       ʹ

&USIØNENSECUENCIASDELONGITUD

&               

!CONTINUACIØNSEPRESENTAELALGORITMODEORDENACIØNDEARCHIVOSPORELMÏTODO
DEMEZCLADIRECTA
376
>«‰ÌՏœÊnÊ Ê Ê .c50%04%&03%&/"$*Î/

!LGORITMO -EZCLA?DIRECTA

-EZCLA?DIRECTA& & & .

[%LALGORITMOORDENALOSELEMENTOSDELARCHIVO&PORELMÏTODODEMEZCLADIRECTA5TILIZADOS
ARCHIVOSAUXILIARES&Y&.ESELNÞMERODEELEMENTOSDELARCHIVO&]
[0!24ESUNAVARIABLEDETIPOENTERO]

 (ACER0!24←
 -IENTRAS0!24PARTEENTERA.   2EPETIR
,LAMARALALGORITMO0ARTICIONACON& & &Y0!24
,LAMARALALGORITMO&USIONACON& & &Y0!24
(ACER0!24←0!24

 [&INDELCICLODELPASO]

/BSERVEQUEELALGORITMOREQUIEREPARASUFUNCIONAMIENTODEDOSALGORITMOSAUXI
LIARES LOSCUALESSEPRESENTANACONTINUACIØN

!LGORITMO 0ARTICIONA

0ARTICIONA& & & 0!24

[%L ALGORITMO GENERA DOS ARCHIVOS AUXILIARES & Y & A PARTIR DEL ARCHIVO & 0!24 ES LA
LONGITUDDELAPARTICIØNQUESEVAAREALIZAR]
[+ ,Y2SONVARIABLESDETIPOENTERO]

 !BRIRELARCHIVO&PARALECTURA
 !BRIRLOSARCHIVOS&Y&PARAESCRITURA
 -IENTRASNOSEAELlNDEARCHIVODE& 2EPETIR
(ACER+←
 -IENTRAS+0!24 YNOSEAELlNDEARCHIVODE& GZeZi^g
,EER2DE&
%SCRIBIR2EN&
(ACER+←+ 
 [&INDELCICLODELPASO]
(ACER,←
 -IENTRAS,0!24 YNOSEAELlNDEARCHIVODE& 2EPETIR
,EER2DE&
%SCRIBIR2EN&
(ACER,←, 
 [&INDELCICLODELPASO]
 [&INDELCICLODELPASO]
 03%&/"$*Î/&95&3/" 377

!LGORITMO &USIONA

&USIONA& & & 0!24

[%LALGORITMOFUSIONALOSARCHIVOS&Y&ENELARCHIVO&0!24ESLALONGITUDDELAPARTICIØN
QUESEREALIZØPREVIAMENTE]
[2 2 +Y,SONVARIABLESDETIPOENTERO"Y"SONVARIABLESDETIPOBOOLEANO]

 !BRIRELARCHIVO&PARAESCRITURA
 !BRIRLOSARCHIVOS&Y&PARALECTURA
 (ACER"←6%2$!$%2/Y"←6%2$!$%2/
 3INOESELlNDEARCHIVODE& ENTONCES
,EER2DE&
(ACER"←&!,3/
 [&INDELCONDICIONALDELPASO]
 3INOESELlNDEARCHIVODE& ENTONCES
,EER2DE&
(ACER"←&!,3/
 [&INDELCONDICIONALDELPASO]
 -IENTRASNOSEAELlNDEARCHIVODE& O"&!,3/ YNOSEAEL
lNDEARCHIVODE& O"&!,3/ 2EPETIR
(ACER+←Y,←
 -IENTRAS+0!24 Y"&!,3/ Y,0!24 Y"&!,3/
2EPETIR
 3I2≤2
ENTONCES
%SCRIBIR2EN&
(ACER"←6%2$!$%2/Y+←+ 
 3INOESELlNDEARCHIVODE& ENTONCES
,EER2DE&
(ACER"←&!,3/
 [&INDELCONDICIONALDELPASO]
SINO
%SCRIBIR2EN&
(ACER"←6%2$!$%2/Y,←, 
 3INOESELlNDEARCHIVODE& ENTONCES
,EER2DE&
(ACER"←&!,3/
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
 -IENTRAS+0!24 Y"&!,3/ 2EPETIR
%SCRIBIR2EN&
(ACER"←6%2$!$%2/Y+←+ 
 3INOESELlNDEARCHIVODE& ENTONCES
,EER2DE&
(ACER"←&!,3/
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]
378
>«‰ÌՏœÊnÊ Ê Ê .c50%04%&03%&/"$*Î/

 -IENTRAS,0!24 Y"&!,3/ 2EPETIR


%SCRIBIR2EN&
(ACER"←6%2$!$%2/Y,←, 
 3INOESELlNDEARCHIVODE& ENTONCES
,EER2DE&
(ACER"←&!,3/
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
 [&INDELCICLODELPASO]
 3I"&!,3/ ENTONCES
%SCRIBIR2EN&
 [&INDELCONDICIONALDELPASO]
 3I"&!,3/ ENTONCES
%SCRIBIR2EN&
 [&INDELCONDICIONALDELPASO]
 -IENTRASNOSEAELlNDEARCHIVODE& 2EPETIR
,EER2DE&
%SCRIBIR2EN&
 [&INDELCONDICIONALDELPASO]
 -IENTRASNOSEAELlNDEARCHIVODE& 2EPETIR
,EER2DE&
%SCRIBIR2EN&
 [&INDELCICLODELPASO]
 [#ERRARLOSARCHIVOS& &Y&]

%JEMPLO 3UPONGAMOS QUE SE DESEA ORDENAR LAS CLAVES DEL ARCHIVO & UTILIZANDO EL MÏTODO DE
MEZCLADIRECTO

&              
    

,OSPASOSQUESEREALIZANSON

02)-%2!0!3!$!

0ARTICIØNENSECUENCIASDELONGITUD

& ʹ ʹ ʹ ʹ ʹ ʹ ʹ ʹ ʹ ʹ
& ʹ ʹ ʹ ʹ ʹ ʹ ʹ ʹ ʹ

&USIØNENSECUENCIASDELONGITUD

&  ʹ  ʹ  ʹ  ʹ  ʹ  ʹ
 ʹ  ʹ  ʹ ʹ
 03%&/"$*Î/&95&3/" 379

3%'5.$!0!3!$!

0ARTICIØNENSECUENCIASDELONGITUD

&  ʹ  ʹ  ʹ  ʹ  ʹ
&  ʹ  ʹ  ʹ  ʹ ʹ

&USIØNENSECUENCIASDELONGITUD

&    ʹ    ʹ    ʹ
   ʹ   ʹ

4%2#%2!0!3!$!

0ARTICIØNENSECUENCIASDELONGITUD

&    ʹ    ʹ   ʹ
&    ʹ    ʹ

&USIØNENSECUENCIASDELONGITUD

&        ʹ     ʹ
  ʹ   ʹ

#5!24!0!3!$!

0ARTICIØNENSECUENCIASDELONGITUD

&        ʹ   ʹ
&        ʹ

&USIØNENSECUENCIASDELONGITUD

&             
  ʹ  ʹ

15).4!0!3!$!

0ARTICIØNENSECUENCIASDELONGITUD

&                ʹ
&   ʹ

&USIØNENSECUENCIASDELONGITUD

&               
   
380
>«‰ÌՏœÊnÊ Ê Ê .c50%04%&03%&/"$*Î/

 /RDENACIØNPORELMÏTODODEMEZCLAEQUILIBRADA
%L MÏTODO DE ORDENACIØN POR MEZCLA EQUILIBRADA CONOCIDO TAMBIÏN CØMO MEZCLA
NATURAL ESUNAOPTIMIZACIØNDELMÏTODODEMEZCLADIRECTA
,AIDEACENTRALDEESTEALGORITMOCONSISTEENREALIZARLASPARTICIONESTOMANDOSE
CUENCIASORDENADASDEMÈXIMALONGITUDENLUGARDESECUENCIASDETAMA×OlJOPREVIA
MENTEDETERMINADAS,UEGOSEREALIZALAFUSIØNDELASSECUENCIASORDENADAS ENFORMA
ALTERNADA SOBREDOSARCHIVOS!PLICANDOESTASACCIONESENFORMAREPETIDASELOGRARÈQUE
ELARCHIVOORIGINALQUEDEORDENADO0ARALAREALIZACIØNDEESTEPROCESODEORDENACIØN
SENECESITARÈNCUATROARCHIVOS%LARCHIVOORIGINAL&YTRESARCHIVOSAUXILIARESALOS
QUESEDENOMINARÈ& &Y&$EESTOSARCHIVOS DOSSERÈNCONSIDERADOSDEENTRADA
YDOSDESALIDAESTO DEMANERAALTERNADA CONELOBJETODEREALIZARLAFUSIØN PARTICIØN
%LPROCESOTERMINACUANDOENLAREALIZACIØNDEUNAFUSIØN PARTICIØNELSEGUNDOARCHIVO
QUEDEVACÓO

%JEMPLO 3UPONGAMOS QUE SE DESEA ORDENAR LAS CLAVES DEL ARCHIVO & UTILIZANDO EL MÏTODO DE
MEZCLAEQUILIBRADA

&               

,OSPASOSQUESEREALIZANSON

0!24)#)».).)#)!,

&  ʹ ʹ ʹ  ʹ


&  ʹ  ʹ     ʹ

02)-%2!&53)». 0!24)#)».

&    ʹ        ʹ
&   ʹ

3%'5.$!&53)». 0!24)#)».

&       ʹ


&        ʹ

4%2#%2!&53)». 0!24)#)».

&               
&

/BSERVEQUEALREALIZARLATERCERAFUSIØN PARTICIØNELSEGUNDOARCHIVOQUEDAVACÓO
PORLOTANTO SEPUEDEAlRMARQUEELARCHIVOYASEENCUENTRAORDENADO!CONTINUACIØN
SEPRESENTALADESCRIPCIØNFORMALDELALGORITMODEMEZCLAEQUILIBRADA
 03%&/"$*Î/&95&3/" 381

!LGORITMO -EZCLA?EQUILIBRADA

-EZCLA?EQUILIBRADA& & & &

[%LALGORITMOORDENALOSELEMENTOSDELARCHIVO&PORELMÏTODODEMEZCLAEQUILIBRADA5TILIZA
TRESARCHIVOSAUXILIARES& &Y&]
["!.$ESUNAVARIABLEDETIPOBOOLEANO]

 ,LAMARALALGORITMO0ARTICIØN?INICIALCON& &Y&


 ,LAMARALALGORITMO0ARTICIØN?FUSIØNCON& & &Y&
(ACER"!.$←&!,3/
 -IENTRAS&≠6!#¶/ O&≠6!#¶/ 2EPETIR
 3I"!.$6%2$!$%2/
ENTONCES
,LAMARALALGORITMO0ARTICIØN?FUSIØNCON& & &Y&
(ACER"!.$←&!,3/
SINO
,LAMARALALGORITMO0ARTICIØN?FUSIØNCON& & &Y&
(ACER"!.$←6%2$!$%2/
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]

%L ALGORITMO  REQUIERE PARA SU FUNCIONAMIENTO DE DOS ALGORITMOS AUXILIARES
0ARTICIØN?INICIALY0ARTICIØN?FUSIØN LOSCUALESSEPRESENTANACONTINUACIØN

!LGORITMO 0ARTICIØN?INICIAL

0ARTICIØN?INICIAL& & &

[%LALGORITMOPRODUCELAPARTICIØNINICIALDELARCHIVO&ENDOSARCHIVOSAUXILIARES &Y&]
[!58Y2SONVARIABLESDETIPOENTERO"!.$ESUNAVARIABLEDETIPOBOOLEANO]

 !BRIRELARCHIVO&PARALECTURA
 !BRIRLOSARCHIVOS&Y&PARAESCRITURA
 ,EER2DE&
 %SCRIBIR2EN&
 (ACER"!.$←6%2$!$%2/Y!58←2
 -IENTRASNOSEAELlNDEARCHIVODE& 2EPETIR
,EER2DE&
 3I2≥!58
ENTONCES
(ACER!58←2
 3I"!.$6%2$!$%2/
ENTONCES
%SCRIBIR2EN&
SINO
382
>«‰ÌՏœÊnÊ Ê Ê .c50%04%&03%&/"$*Î/

%SCRIBIR2EN&
 [&INDELCONDICIONALDELPASO]
SINO
(ACER!58←2
 3I"!.$6%2$!$%2/
ENTONCES
%SCRIBIR2EN&
(ACER"!.$←&!,3/
SINO
%SCRIBIR2EN&
(ACER"!.$←6%2$!$%2/
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
 [#ERRARLOSARCHIVOS& &Y&]

!LGORITMO 0ARTICIØN?FUSIØN

0ARTICIØN?FUSIØN&! &" &# &$

[%LALGORITMOPRODUCELAPARTICIØNYLAFUSIØNDELOSARCHIVOS&!Y&" ENLOSARCHIVOS&#Y
&$]
[2 2 Y!58 SON VARIABLES DE TIPO ENTERO "!. "!. Y "!. SON VARIABLES DE TIPO
BOOLEANO]

 !BRIRLOSARCHIVOS&!Y&"PARALECTURA
 !BRIRLOSARCHIVOS&#Y&$PARAESCRITURA
 (ACER"!.←6%2$!$%2/ "!.←6%2$!$%2/ "!.←6%2$!$%2/Y
!58←n[!58SEINICIALIZACONUNVALORNEGATIVOALTO]
 -IENTRASNOSEAELlNDEARCHIVODE&! O"!.&!,3/ YNO
SEAELlNDEARCHIVODE&" O"!.&!,3/ 2EPETIR
 3I"!.6%2$!$%2/ ENTONCES
,EER2DE&!
(ACER"!.←&!,3/
 [&INDELCONDICIONALDELPASO]
 3I"!.6%2$!$%2/ ENTONCES
,EER2DE&"
(ACER"!.←&!,3/
 [&INDELCONDICIONALDELPASO]
 3I22
ENTONCES
 3I2≥!58
ENTONCES
 3I"!.6%2$!$%2/
ENTONCES
%SCRIBIR2EN&#
SINO
 03%&/"$*Î/&95&3/" 383

%SCRIBIR2EN&$
 [&INDELCONDICIONALDELPASO]
(ACER"!.←6%2$!$%2/Y!58←2
SINO
 3I"!.6%2$!$%2/
ENTONCES
%SCRIBIR2EN&#
(ACER"!.←&!,3/
SINO
%SCRIBIR2EN&$
(ACER"!.←6%2$!$%2/
 [&INDELCONDICIONALDELPASO]
(ACER"!.←6%2$!$%2/Y!58←n
 [&INDELCONDICIONALDELPASO]
SINO
 3I2≥!58
ENTONCES
 3I"!.6%2$!$%2/
ENTONCES
%SCRIBIR2EN&#
SINO
%SCRIBIR2EN&$
 [&INDELCONDICIONALDELPASO]
(ACER"!.←6%2$!$%2/Y!58←2
SINO
 3I"!.6%2$!$%2/
ENTONCES
%SCRIBIR2EN&#
(ACER"!.←&!,3/
SINO
%SCRIBIR2EN&$
(ACER"!.←6%2$!$%2/
 [&INDELCONDICIONALDELPASO]
(ACER"!.←6%2$!$%2/Y!58←n
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
 3I"!.&!,3/ ENTONCES
 3I"!.6%2$!$%2/
ENTONCES
%SCRIBIR2EN&#
 -IENTRASNOSEAELlNDEARCHIVODE&! 2EPETIR
,EER2DE&!
%SCRIBIR2EN&#
 [&INDELCICLODELPASO]
SINO
%SCRIBIR2EN&$
 -IENTRASNOSEAELlNDEARCHIVODE&! 2EPETIR
,EER2DE&!
%SCRIBIR2EN&$
384
>«‰ÌՏœÊnÊ Ê Ê .c50%04%&03%&/"$*Î/

 [&INDELCICLODELPASO]
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]
 3I"!.&!,3/ ENTONCES
 3I"!.6%2$!$%2/
ENTONCES
%SCRIBIR2EN&#
 -IENTRASNOSEAELlNDEARCHIVODE&" 2EPETIR
,EER2DE&"
%SCRIBIR2EN&#
 [&INDELCICLODELPASO]
SINO
%SCRIBIR2EN&$
 -IENTRASNOSEAELlNDEARCHIVODE&" 2EPETIR
,EER2DE&"
%SCRIBIR2EN&$
 [&INDELCICLODELPASO]
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]
 [#ERRARLOSARCHIVOS&! &" &#Y&$]

%JEMPLO 3UPONGAMOS QUE SE DESEA ORDENAR LAS CLAVES DEL ARCHIVO & UTILIZANDO EL MÏTODO DE
MEZCLAEQUILIBRADA

&               
   

,OSPASOSQUESEREALIZANSON

0!24)#)».).)#)!,

&  ʹ     ʹ   ʹ ʹ
&   ʹ  ʹ ʹ

02)-%2!&53)». 0!24)#)».

&     ʹ     ʹ
&        ʹʹ

3%'5.$!&53)». 0!24)#)».

&             ʹ
&      ʹ
 03%&/"$*Î/&95&3/" 385

4%2#%2!&53)». 0!24)#)».

&                
  
&
386
>«‰ÌՏœÊnÊ Ê Ê .c50%04%&03%&/"$*Î/

▼ %*%2#)#)/3
/RDENACIØNINTERNA
Ê £° %NUNARREGLOSEGUARDANLOSAPELLIDOSDE.ALUMNOS!PLIQUEELMÏTODODELABUR
BUJAˆORDENACIØNPORELMÏTODODEINTERCAMBIODIRECTOˆPARAORDENARELARREGLO
ENFORMAASCENDENTE DEMANERAQUE

!P≤!P≤≤!PN

Ê Ó° 2ESUELVAELPROBLEMAAPLICANDOELMÏTODODELABURBUJACONSE×AL

Ê Î° 2ESUELVAELPROBLEMAAPLICANDOELMÏTODOSHAKERSORT

Ê {° #OMPAREELTIEMPODEEJECUCIØNDELASSOLUCIONES YPARADISTINTOSVALORESDE


.

Ê x° $ADOUNARREGLOUNIDIMENSIONALDE.NÞMEROSENTEROS ORDÏNELOENFORMADESCEN


DENTEAPLICANDO

A )NSERCIØNDIRECTA
B )NSERCIØNBINARIA
C 3ELECCIØNDIRECTA

#OMPAREELTIEMPODEEJECUCIØNDELASSOLUCIONESA BYCPARADISTINTOSVALORES
DE.

Ê È° 3ETIENENTRESARREGLOSPARALELOS%LPRIMERODEELLOSALMACENALASMATRÓCULASDE.
ALUMNOSELSEGUNDO LASCALIlCACIONESDELOS.ALUMNOSOBTENIDASENUNEXAMEN
lNAL YELTERCERO ELNÞMEROTOTALDEMATERIASAPROBADASPORCADAALUMNO,OSELE
MENTOSDELOSARREGLOSSECORRESPONDEN

A !PLIQUEELMÏTODODEINSERCIØNDIRECTAPARAORDENARLOSARREGLOS DEMANERAQUE
QUEDENORDENADOSENFORMAASCENDENTEPORMATRÓCULA
B !PLIQUEELMÏTODOQUICKSORTPARAORDENARLOSARREGLOS DEMANERAQUEQUEDENORDE
NADOSENFORMADESCENDENTEPORELNÞMEROTOTALDEMATERIASAPROBADAS

Ê Ç° %NCIERTAEMPRESASEMANEJAUNALISTADEPRECIOSDELOS.ARTÓCULOSQUESEVENDEN
$ECADAARTÓCULOSETIENELASIGUIENTEINFORMACIØN

◗ #LAVEDELARTÓCULO
◗ .OMBREDELARTÓCULO
◗ 0RECIODELARTÓCULO

A /RDENEELARREGLOENFORMAASCENDENTESEGÞNELCAMPOhCLAVEv!PLIQUEELMÏTODO
QUICKSORT
&+&3$*$*04 387

B /RDENEELARREGLOENFORMADESCENDENTESEGÞNELCAMPOhPRECIOv!PLIQUEELMÏTO
DODELMONTÓCULO

Ê n° 2ESUELVA EL INCISO A DEL PROBLEMA  APLICANDO EL MÏTODO DE SELECCIØN DIRECTA
#OMPAREELTIEMPODEEJECUCIØNDEESTASOLUCIØNCONLAOBTENIDAENELEJERCICIO
ANTERIOR PARADISTINTOSVALORESDE.

Ê ™° 5NACOMPA×ÓAPROPIETARIADEUNACADENADEHOTELESQUIEREQUESEORDENESUINFOR
MACIØN$ECADAHOTELSETIENENLOSSIGUIENTESDATOS

◗ .OMBREDELHOTEL
◗ #IUDADENLAQUESEENCUENTRAELHOTEL
◗ .ÞMERODEESTRELLAS
◗ .ÞMERODECUARTOS

%NUNAMISMACIUDADPUEDEHABERVARIOSHOTELESDELACOMPA×ÓA
%SCRIBAUNPROGRAMAQUEORDENEELARREGLOSEGÞNELCAMPOhCIUDADv ENPRIMER
TÏRMINO YLUEGO SEGÞNELCAMPO hNOMBREv%SDECIR ELARREGLODEBEQUEDAR

.OMBRE #IUDAD .ÞMESTRELLAS .ÞMCUARTOS


.OMBRE #IUDAD .ÞMESTRELLAS .ÞMCUARTOS

.OMBREI #IUDAD .ÞMESTRELLASI .ÞMCUARTOSI

.OMBREN #IUDADK .ÞMESTRELLASK .ÞMCUARTOSN

$ONDE

◗ #IUDAD#IUDAD#IUDADK
◗ .OMBRE.OMBRE.OMBREIn
◗ .OMBREI.OMBREI .OMBREJn

◗ .OMBRET.OMBRET .OMBREN

£ä°2ETOMEELPROBLEMADELCAPÓTULO/RDENELOSARREGLOS352 #%.42/Y./2
4% APLICANDO

A )NSERCIØNDIRECTA
B )NSERCIØNBINARIA
C 3HELL

££°5NAESCUELATIENEALMACENADOSLOSPRINCIPALESDATOSDECADAALUMNO²STOSSON

◗ .OMBREDELALUMNO
◗ -ATRÓCULA
◗ .ÞMERODEMATERIASAPROBADAS
◗ 0ROMEDIO
388
>«‰ÌՏœÊnÊ Ê Ê .c50%04%&03%&/"$*Î/

A !PLIQUEELMÏTODODESELECCIØNDIRECTAPARAORDENARELARREGLODE.ALUMNOSEN
FORMAASCENDENTE SEGÞNELCAMPOhNOMBREv
B !PLIQUEELMÏTODOQUICKSORTPARAORDENARELARREGLODE.ALUMNOSENFORMAASCEN
DENTE SEGÞNELCAMPOhNÞMERODEMATERIASAPROBADASv

£Ó°3ETIENEUNARREGLODE.NÞMEROSENTEROS

A z#UÈNTASCOMPARACIONESYCUÈNTOSINTERCAMBIOSSEDEBENREALIZARSISEORDENAEL
ARREGLOCONELMÏTODODELABURBUJA
B z#UÈNTASCOMPARACIONESYCUÈNTOSINTERCAMBIOSSEDEBENREALIZARSISEORDENAEL
ARREGLOCONELMÏTODODESELECCIØNDIRECTA

£Î°$ADOUNARREGLOUNIDIMENSIONALDE.NÞMEROSENTEROSQUEDEBESERORDENADOEN
FORMAASCENDENTE CONTESTELASSIGUIENTESPREGUNTAS

A #UÈNTASCOMPARACIONESEINTERCAMBIOSSEDEBENREALIZAR APLICANDOELMÏTODODE
INSERCIØNDIRECTA SI

◗ %LARREGLOYAESTÈORDENADO
◗ %LARREGLOESTÈORDENADOENFORMADESCENDENTE

B #ONTESTELAPREGUNTADELINCISOANTERIOR PARAELMÏTODOQUICKSORT
C #ONTESTELAPREGUNTADELINCISOANTERIOR PARAELMÏTODODELMONTÓCULO

£{°2ETOMEELPROBLEMA CONSIDERANDOQUESEDElNIØLACLASE!RTÓCULOYSETIENEUN
ARREGLODEOBJETOSDEESTETIPO%SCRIBAUNAFUNCIØNQUEORDENEELARREGLODEOBJE
TOS UTILIZANDOELALGORITMODEQUICKSORT

£x°$ElNAUNACLASE!RREGLO SEGÞNLOVISTOENELCAPÓTULO%NLACLASEDEBEINCLUIRPOR
LOMENOSMÏTODOSDELOSESTUDIADOSENESTECAPÓTULOPARAORDENARLOSELEMENTOS
DELARREGLO

£È°%SCRIBAUNAFUNCIØNQUEANIMEELPROCESODEORDENACIØNUSANDOELALGORITMODE
QUICKSORT%SDECIR ENLAMEDIDAENQUESEVAORDENANDOELARREGLO ENLAPANTALLA
SEDEBEIRREmEJANDOGRÈlCAMENTESUCAMBIODEESTADO

/RDENACIØNEXTERNA
£Ç°$ADOUNARCHIVODENÞMEROSENTEROS ORDÏNELOEIMPRÓMALO

£n°%NELARCHIVO%-0,%!$/3SETIENEINFORMACIØNSOBRELOSEMPLEADOSDEUNAEM
PRESA,OSDATOSALMACENADOSPORCADAEMPLEADOSON

◗ .OMBRE
◗ %STADOCIVIL
◗ !NTIGàEDAD
&+&3$*$*04 389

◗ #ATEGORÓA
◗ 3UELDO

/RDENEELARCHIVOSEGÞNELCAMPOhNOMBREv

A !PLIQUEMEZCLADIRECTA
B !PLIQUEMEZCLAEQUILIBRADA

£™°3ETIENEUNARCHIVOCONINFORMACIØNSOBREHUÏSPEDESDEUNHOTEL

◗ .ÞMERODEHABITACIØN
◗ .OMBREDELHUÏSPED
◗ &ECHADELLEGADA

/RDENEELARCHIVOAPLICANDOELMÏTODODEMEZCLADIRECTA

A 3EGÞNELCAMPOhNÞMERODEHABITACIØNv
B 3EGÞNELCAMPOhNOMBREv

Óä°$ADOUNARCHIVODECADENASDECARACTERES ORDÏNELOENFORMADESCENDENTEAPLICAN
DOELMÏTODODEMEZCLAEQUILIBRADA

Ó£°3ETIENENDOSARCHIVOSORDENADOSCONLOSNOMBRESDELOSESTUDIANTESDEUNAESCUE
LA.OSEHANACTUALIZADODELAMISMAMANERALOSDOSARCHIVOS HABIÏNDOSEDADODE
ALTAAALGUNOSALUMNOSENUNARCHIVOPERONOENELOTRO%SCRIBAUNPROGRAMAQUE
OBTENGAUNTERCERARCHIVO TAMBIÏNORDENADO INTERCALANDOLAINFORMACIØNDELOS
DOSARCHIVOSEXISTENTES.ODEBENQUEDARELEMENTOSREPETIDOS

ÓÓ°3ETIENENTRESARCHIVOS! !Y!CONINFORMACIØNSOBRERECITALESEFECTUADOSEN
UNTEATRO ALOLARGODELOSTRESÞLTIMOSA×OS#ADAREGISTRODELOSARCHIVOSTIENELOS
SIGUIENTESCAMPOS

◗ .OMBREDELCANTANTEUORQUESTAQUEOFRECIØELRECITAL
◗ .ÞMERODEPRESENTACIONES
◗ &ECHASDELASPRESENTACIONES

,OSTRESARCHIVOSESTÈNORDENADOSENFORMAASCENDENTESEGÞNELPRIMERCAMPO
%SCRIBAUNPROGRAMAQUEINTERCALELOSTRESARCHIVOS FORMANDOELARCHIVO2%
#)4!,%3
#APÓTULO ™
-³4/$/3
$%"Â315%$!

 ).42/$5##)¼.

%STECAPÓTULOSEDEDICAALESTUDIODEUNADELASOPERACIONESMÈSIMPORTANTESENELPRO
CESAMIENTODEINFORMACIØNLABÞSQUEDA%STAOPERACIØNSEUTILIZABÈSICAMENTEPARA
RECUPERARDATOSQUESEHABÓANALMACENADOCONANTICIPACIØN%LRESULTADOPUEDESERDE
ÏXITOSISEENCUENTRALAINFORMACIØNDESEADA ODEFRACASO ENCASOCONTRARIO
,A BÞSQUEDA OCUPA UNA PARTE IMPORTANTE DE NUESTRA VIDA 0RÈCTICAMENTE TODO EL
TIEMPOESTAMOSBUSCANDOALGO%LMUNDOENQUESEVIVEHOYDÓAESDESARROLLADO AUTO
MATIZADO YLAINFORMACIØNREPRESENTAUNELEMENTODEVITALIMPORTANCIA%SFUNDAMENTAL
ESTARINFORMADOSY PORLOTANTO BUSCARYRECUPERARINFORMACIØN0OREJEMPLO SEBUSCAN
NÞMEROSTELEFØNICOSENUNDIRECTORIO OFERTASLABORALESENUNPERIØDICO LIBROSENUNA
BIBLIOTECA ETCÏTERA

&)'52!
%JEMPLOPRÉCTICO
DEBÞSQUEDA
392
>«‰ÌՏœÊ™Ê Ê Ê .c50%04%&#Ò426&%"

&)'52!
%JEMPLOPRÉCTICO
DEBÞSQUEDA

%NLOSEJEMPLOSMENCIONADOS LABÞSQUEDASEREALIZA GENERALMENTE SOBREELEMEN


TOSQUEESTÈNORDENADOS,OSDIRECTORIOSTELEFØNICOSESTÈNORGANIZADOSALFABÏTICAMENTE
LASOFERTASLABORALESESTÈNORDENADASPORTIPODETRABAJOYLOSLIBROSDEUNABIBLIOTECAES
TÈNCLASIlCADOSPORTEMA3INEMBARGO PUEDESUCEDERQUELABÞSQUEDASEREALICESOBRE
UNACOLECCIØNDEELEMENTOSNOORDENADOS0OREJEMPLO CUANDOSEBUSCALALOCALIZACIØN
DEUNACIUDADDENTRODEUNMAPA
3ECONCLUYEQUELAOPERACIØNDEBÞSQUEDASEPUEDELLEVARACABOSOBREELEMENTOS
ORDENADOSODESORDENADOS#ABEDESTACARQUELABÞSQUEDAESMÈSFÈCILYOCUPAMENOS
TIEMPOCUANDOLOSDATOSSEENCUENTRANORDENADOS
,OS MÏTODOS DE BÞSQUEDA SE PUEDEN CLASIlCAR EN INTERNOS Y EXTERNOS SEGÞN LA
UBICACIØNDELOSDATOSSOBRELOSCUALESSEREALIZARÈLABÞSQUEDA3EDENOMINABÞSQUEDA
INTERNACUANDOTODOSLOSELEMENTOSSEENCUENTRANENLAMEMORIAPRINCIPALDELACOMPU
TADORA POR EJEMPLO ALMACENADOS EN ARREGLOS LISTAS LIGADAS O ÈRBOLES %S BÞSQUEDA
EXTERNASILOSELEMENTOSESTÈNENMEMORIASECUNDARIAESDECIR SIHUBIERAARCHIVOSEN
DISPOSITIVOSCOMOCINTASYDISCOSMAGNÏTICOS
%N LA SIGUIENTE SECCIØN SE ESTUDIARÈN LOS MÏTODOS INTERNOS POSTERIORMENTE EN LA
SECCIØNSEHARÈLOPROPIOCONLOSEXTERNOS

 "Â315%$!).4%2.!
,A BÞSQUEDA INTERNA TRABAJA CON ELEMENTOS QUE SE ENCUENTRAN ALMACENADOS EN LA
MEMORIAPRINCIPALDELAMÈQUINA²STOSPUEDENESTARENESTRUCTURASESTÈTICASˆARRE
GLOSˆODINÈMICASˆLISTASLIGADASYÈRBOLESˆ,OSMÏTODOSDEBÞSQUEDAINTERNAMÈS
IMPORTANTESSON

◗ 3ECUENCIALOLINEAL
◗ "INARIA
 #Ò426&%"*/5&3/" 393

◗ 0ORTRANSFORMACIØNDECLAVES
◗ «RBOLESDEBÞSQUEDA

 "ÞSQUEDASECUENCIAL
,ABÞSQUEDASECUENCIALCONSISTEENREVISARELEMENTOTRASELEMENTOHASTAENCONTRAREL
DATOBUSCADO OLLEGARALlNALDELCONJUNTODEDATOSDISPONIBLE
0RIMEROSETRATARÈSOBRELABÞSQUEDASECUENCIALENARREGLOS YLUEGOENLISTASENLA
ZADAS%NELPRIMERCASO SEDEBEDISTINGUIRENTREARREGLOSORDENADOSYDESORDENADOS
%STAÞLTIMACONSISTE BÈSICAMENTE ENRECORRERELARREGLODEIZQUIERDAADERECHA
HASTAQUESEENCUENTREELELEMENTOBUSCADOOSETERMINEELARREGLO LOQUEOCURRAPRIME
RO.ORMALMENTECUANDOUNAFUNCIØNDEBÞSQUEDACONCLUYECONÏXITO INTERESACONOCER
EN QUÏ POSICIØN FUE HALLADO EL ELEMENTO QUE SE ESTABA BUSCANDO %STA IDEA SE PUEDE
GENERALIZARPARATODOSLOSMÏTODOSDEBÞSQUEDA
!CONTINUACIØNSEPRESENTAELALGORITMODEBÞSQUEDASECUENCIALENARREGLOSDESOR
DENADOS

!LGORITMO 3ECUENCIAL?DESORDENADO

3ECUENCIAL?DESORDENADO6 . 8

[%STE ALGORITMO BUSCA SECUENCIALMENTE EL ELEMENTO 8 EN UN ARREGLO UNIDIMENSIONAL DESOR
DENADO6 DE.COMPONENTES]
[)ESUNAVARIABLEDETIPOENTERO]

 (ACER)←
 -IENTRAS)≤. Y6;)=≠8 2EPETIR
(ACER)←) 
 [&INDELCICLODELPASO]
 3I).
ENTONCES
%SCRIBIRh,AINFORMACIØNNOESTÈENELARREGLOv
SINO
%SCRIBIRh,AINFORMACIØNSEENCUENTRAENLAPOSICIØNv )
 [&INDELCONDICIONALDELPASO]

3ONDOSLOSPOSIBLESRESULTADOSQUESEPUEDENOBTENERALAPLICARESTEALGORITMOLA
POSICIØNENLAQUEENCONTRØELELEMENTO OUNMENSAJEDEFRACASOSIELELEMENTONOSE
HALLAENELARREGLO3IHUBIERADOSOMÈSOCURRENCIASDELMISMOVALOR SEENCUENTRALA
PRIMERADEELLAS3INEMBARGO ESPOSIBLEMODIlCARELALGORITMOPARAOBTENERTODASLAS
OCURRENCIASDELDATOBUSCADO
!CONTINUACIØNSEPRESENTAUNAVARIANTEDEESTEALGORITMO PEROUTILIZANDORECURSI
VIDAD ENLUGARDEITERATIVIDAD
394
>«‰ÌՏœÊ™Ê Ê Ê .c50%04%&#Ò426&%"

!LGORITMO 3ECUENCIAL?DESORDENADO?RECURSIVO

3ECUENCIAL?DESORDENADO?RECURSIVO6 . 8 )

[%STE ALGORITMO BUSCA SECUENCIALMENTE Y DE FORMA RECURSIVA AL ELEMENTO 8 EN EL ARREGLO
UNIDIMENSIONALDESORDENADO6 DE.COMPONENTES]
[)ESUNPARÈMETRODETIPOENTEROQUEINICIALMENTESEENCUENTRAEN]

 3I).
ENTONCES
%SCRIBIRh,AINFORMACIØNNOSEENCUENTRAENELARREGLOv
SINO
 3I6;)=8
ENTONCES
%SCRIBIRh,AINFORMACIØNSEENCUENTRAENLAPOSICIØNv )
SINO
2EGRESARA3ECUENCIAL?DESORDENADO?RECURSIVOCON6 . 8E) 
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]

,ABÞSQUEDASECUENCIALENARREGLOSORDENADOSESSIMILARALCASOANTERIOR3INEM
BARGO ELORDENENTRELOSELEMENTOSDELARREGLOPERMITEINCLUIRUNANUEVACONDICIØNQUE
HACE MÈS ElCIENTE AL PROCESO! CONTINUACIØN ANALICEMOS EL ALGORITMO DE BÞSQUEDA
SECUENCIALENARREGLOSORDENADOS

!LGORITMO 3ECUENCIAL?ORDENADO

3ECUENCIAL?ORDENADO6 . 8

[%STEALGORITMOBUSCASECUENCIALMENTEALELEMENTO8ENUNARREGLOUNIDIMENSIONALORDENADO
6 DE.COMPONENTES6SEENCUENTRAORDENADOCRECIENTEMENTE6;=≤6;=≤≤6;.=]
[)ESUNAVARIABLEDETIPOENTERO]

 (ACER)←
 -IENTRAS)≤. Y86;)= 2EPETIR
(ACER)←) 
 [&INDELCICLODELPASO
 3I). O86;)=
ENTONCES
%SCRIBIRh,AINFORMACIØNNOSEENCUENTRAENELARREGLOv
SINO
%SCRIBIRh,AINFORMACIØNSEENCUENTRAENLAPOSICIØNv )
 [&INDELCONDICIONALDELPASO]
 #Ò426&%"*/5&3/" 395

#OMOELARREGLOESTÈORDENADO SEESTABLECEUNANUEVACONDICIØNELELEMENTOBUS
CADOTIENEQUESERMAYORQUEELDELARREGLO#UANDOELCICLOSEINTERRUMPE SEEVALÞA
CUÈLDELASCONDICIONESESFALSA3I). OSISECOMPARØELELEMENTOCONUNVALOR
MAYORASÓMISMO86;)= SEESTÈANTEUNCASODEFRACASOELELEMENTONOESTÈENEL
ARREGLO3I86;)=ENTONCESSEENCONTRØALELEMENTOENELARREGLO
!CONTINUACIØNSEPRESENTAELALGORITMODEBÞSQUEDAENARREGLOSORDENADOS PERO
ENFORMARECURSIVA

!LGORITMO 3ECUENCIAL?ORDENADO?RECURSIVO

3ECUENCIAL?ORDENADO?RECURSIVO6 . 8 )

[%STE ALGORITMO BUSCA EN FORMA SECUENCIAL Y RECURSIVA AL ELEMENTO 8 EN UN ARREGLO UNIDI
MENSIONALORDENADO6 DE.COMPONENTES6SEENCUENTRAORDENADODEMANERACRECIENTE6;=
≤6;=≤≤6;.=)INICIALMENTETIENEELVALORDE]

 3I)≤. Y86;)=


ENTONCES
,LAMARA3ECUENCIAL?ORDENADO?RECURSIVOCON6 . 8E) 
SINO
 3I). O86;)=
ENTONCES
%SCRIBIRh,AINFORMACIØNNOSEENCUENTRAENELARREGLOv
SINO
%SCRIBIRh,AINFORMACIØNSEENCUENTRAENLAPOSICIØNv )
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]

%LMÏTODODEBÞSQUEDASECUENCIALTAMBIÏNSEPUEDEAPLICARALISTASLIGADAS#ON
SISTEENRECORRERLALISTANODOTRASNODO HASTAENCONTRARALELEMENTOBUSCADOˆÏXITOˆ
OHASTAQUELLEGUEMOSALlNALDELALISTAˆFRACASOˆ,ALISTA COMOENELCASODEARRE
GLOS SEPUEDEENCONTRARORDENADAODESORDENADA%LORDENENELCUALSEPUEDERECORRER
LALISTADEPENDEDESUSCARACTERÓSTICASPUEDESERSIMPLEMENTELIGADA CIRCULARODOBLE
MENTELIGADA%NESTECAPÓTULOSEPRESENTARÈELCASODEBÞSQUEDASECUENCIALENLISTAS
SIMPLEMENTE LIGADAS DESORDENADAS %L LECTOR CON LOS CONOCIMIENTOS QUE TIENE SOBRE
LISTASYBÞSQUEDA PUEDEIMPLEMENTARFÈCILMENTELOSOTROSALGORITMOS

!LGORITMO 3ECUENCIAL?LISTA?DESORDENADA

3ECUENCIAL?LISTA?DESORDENADA0 8

[%STEALGORITMOBUSCAENFORMASECUENCIALALELEMENTO8ENUNALISTASIMPLEMENTELIGADA QUE
ALMACENA INFORMACIØN QUE ESTÈ DESORDENADA 0 ES UN APUNTADOR AL PRIMER NODO DE LA LISTA
).&/Y,)'!SONLOSCAMPOSDECADANODO]
[1ESUNAVARIABLEDETIPOAPUNTADOR]
396
>«‰ÌՏœÊ™Ê Ê Ê .c50%04%&#Ò426&%"

 (ACER1←0
 -IENTRAS1≠.), Y1>).&/≠8 2EPETIR
(ACER1←1>,)'!
 [&INDELCICLODELPASO]
 3I1.),
ENTONCES
%SCRIBIRh,AINFORMACIØNNOSEENCUENTRAENLALISTAv
SINO
%SCRIBIRh,AINFORMACIØNSEENCUENTRAENLALISTAv
 [&INDELCONDICIONALDELPASO]

3ILALISTAESTUVIERAORDENADASEMODIlCARÓAESTEALGORITMO INCLUYENDOUNACON
DICIØNSIMILARALAQUESEESCRIBIØENELALGORITMO%STOÞLTIMOCONELOBJETIVODE
DISMINUIRELNÞMERODECOMPARACIONES
! CONTINUACIØN SE PRESENTA LA VARIANTE RECURSIVA DE ESTE ALGORITMO DE BÞSQUEDA
SECUENCIALENLISTASSIMPLEMENTELIGADASDESORDENADAS

!LGORITMO 3ECUENCIAL?LISTA?DESORDENADA?RECURSIVO

3ECUENCIAL?LISTA?DESORDENADA?RECURSIVO0 8

[%STEALGORITMOBUSCADEMANERASECUENCIALYENFORMARECURSIVAALELEMENTO8ENUNALISTA
SIMPLEMENTELIGADA QUEALMACENAINFORMACIØNQUEESTÈDESORDENADA0ESUNAPUNTADORAL
PRIMERNODODELALISTA).&/Y,)'!SONLOSCAMPOSDECADANODO]

 3I0≠.), Y0>).&/≠8


ENTONCES
2EGRESARA3ECUENCIAL?LISTA?DESORDENADA?RECURSIVOCON0>,)'!Y8
SINO
 3I0.),
ENTONCES
%SCRIBIRh,AINFORMACIØNNOSEENCUENTRAENLALISTAv
SINO
%SCRIBIRh,AINFORMACIØNSEENCUENTRAENLALISTAv
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]

!NÉLISISDELABÞSQUEDASECUENCIAL
%LNÞMERODECOMPARACIONESESUNODELOSFACTORESMÈSIMPORTANTESQUESEUTILIZANPARA
DETERMINARLACOMPLEJIDADDELOSMÏTODOSDEBÞSQUEDA0ARAANALIZARLACOMPLEJIDADDE
LABÞSQUEDASECUENCIAL SEDEBENESTABLECERLOSCASOSMÈSFAVORABLEODESFAVORABLEQUE
SEPRESENTEN
!LBUSCAR POREJEMPLO UNELEMENTOENUNARREGLOUNIDIMENSIONALDESORDENADODE
.COMPONENTES PUEDESUCEDERQUEESEVALORNOSEENCUENTREPORLOTANTO SEHARÈN.
 #Ò426&%"*/5&3/" 397

COMPARACIONESALRECORRERTODOELARREGLO0OROTRAPARTE SIELELEMENTOSEENCUENTRAEN
ELARREGLO ÏSTEPUEDEESTARENLAPRIMERAPOSICIØN ENLAÞLTIMAOENALGUNAINTERMEDIA3I
ESELPRIMERO SEHARÈUNACOMPARACIØNSISETRATADELÞLTIMO SEHARÈN.COMPARACIONES
YSISEENCUENTRAENLAPOSICIØNII. ENTONCESSEREALIZARÈNICOMPARACIONES
!HORABIEN ELNÞMERODECOMPARACIONESQUESELLEVANACABOSITRABAJAMOSCON
ARREGLOSORDENADOSSERÈELMISMOQUEPARADESORDENADOS SIEMPREYCUANDOELELEMENTO
SEENCUENTREENELARREGLO3INOFUERAÏSTEELCASO ENTONCESELNÞMERODECOMPARACIO
NESDISMINUIRÈSENSIBLEMENTEENARREGLOSORDENADOS SIEMPREQUEELVALORBUSCADOESTÏ
COMPRENDIDOENTREELPRIMEROYELÞLTIMOELEMENTOSDELARREGLO
0OR OTRA PARTE EL NÞMERO DE COMPARACIONES EN LA BÞSQUEDA SECUENCIAL EN LISTAS
SIMPLEMENTELIGADASESELMISMOQUEPARAARREGLOS%NLAFØRMULASEPRESENTANLOS
NÞMEROSMÓNIMO MEDIANOYMÈXIMODECOMPARACIONESQUESEEJECUTANCUANDOSETRA
BAJACONLABÞSQUEDASECUENCIAL


 N &ØRMULA
#MÓN   #MED  #MÈX  .


,ATABLAPRESENTA PARADISTINTOSVALORESDE. LOSNÞMEROSMÓNIMO MEDIANOY


MÈXIMODECOMPARACIONESQUESEREQUIERENPARABUSCARSECUENCIALMENTEUNELEMENTO
ENUNARREGLOOLISTALIGADA

 "ÞSQUEDABINARIA
,ABÞSQUEDABINARIACONSISTEENDIVIDIRELINTERVALODEBÞSQUEDAENDOSPARTES COM
PARANDOELELEMENTOBUSCADOCONELQUEOCUPALAPOSICIØNCENTRALENELARREGLO0ARAEL
CASODEQUENOFUERANIGUALESSEREDElNENLOSEXTREMOSDELINTERVALO SEGÞNELELEMENTO
CENTRAL SEA MAYOR O MENOR QUE EL ELEMENTO BUSCADO DISMINUYENDO DE ESTA FORMA EL
ESPACIODEBÞSQUEDA%LPROCESOCONCLUYECUANDOELELEMENTOESENCONTRADO OCUANDO
ELINTERVALODEBÞSQUEDASEANULA ESVACÓO
%LMÏTODODEBÞSQUEDABINARIAFUNCIONAEXCLUSIVAMENTECONARREGLOSORDENADOS
.O SE PUEDE UTILIZAR CON LISTAS SIMPLEMENTE LIGADAS ˆNO PODRÓAMOS RETROCEDER PARA
ESTABLECERINTERVALOSDEBÞSQUEDAˆNICONARREGLOSDESORDENADOS#ONCADAITERACIØN
DELMÏTODOELESPACIODEBÞSQUEDASEREDUCEALAMITADPORLOTANTO ELNÞMERODECOM

4!",!
. #MÓN #MED #MÈX
#OMPLEJIDADDELMÏTODO
DEBÞSQUEDASECUENCIAL    

   

   

   

   


398
>«‰ÌՏœÊ™Ê Ê Ê .c50%04%&#Ò426&%"

PARACIONES A REALIZAR DISMINUYE NOTABLEMENTE %STA DISMINUCIØN RESULTA SIGNIlCATIVA


CUANTOMÈSGRANDESEAELTAMA×ODELARREGLO!CONTINUACIØNSEPRESENTAELALGORITMO
DEBÞSQUEDABINARIA

!LGORITMO "INARIA

"INARIA6 . 8

[%STE ALGORITMO BUSCA AL ELEMENTO 8 EN UN ARREGLO UNIDIMENSIONAL ORDENADO 6 DE . COM
PONENTES]
[):1 #%.Y$%2SONVARIABLESDETIPOENTERO"!.ESUNAVARIABLEDETIPOBOOLEANO]

 (ACER):1← $%2←.Y"!.←&!,3/


 -IENTRAS):1≤$%2 Y"!.&!,3/ 2EPETIR
 3I86;#%.=
ENTONCES
(ACER"!.←6%2$!$%2/
SINO[3EREDElNEELINTERVALODEBÞSQUEDA]
 3I86;#%.=
ENTONCES
(ACER):1←#%. 
SINO
(ACER$%2←#%.n
 [&INDELCONDICIONALDELPASO
 [&INDELCONDICIONALDELPASO
 [&INDELCICLODELPASO
 3I"!.6%2$!$%2/
ENTONCES
%SCRIBIRh,AINFORMACIØNESTÈENLAPOSICIØNv #%.
SINO
%SCRIBIRh,AINFORMACIØNNOSEENCUENTRAENELARREGLOv
 [&INDELCONDICIONALDELPASO]

!NALICEMOSAHORAUNEJEMPLOPARAILUSTRARELFUNCIONAMIENTODEESTEALGORITMO

%JEMPLO 3EA6UNARREGLOUNIDIMENSIONALDENÞMEROSENTEROS ORDENADODEMANERACRECIENTE


COMOSEMUESTRAENLAlGURA
%NLATABLASEPRESENTAELSEGUIMIENTODELALGORITMOCUANDO8ESIGUALA
8 
%NLAlGURASEOBSERVAGRÈlCAMENTE PARAESTECASOENPARTICULAR CØMOSEVA
REDUCIENDOELINTERVALODEBÞSQUEDA

&)'52!
 #Ò426&%"*/5&3/" 399

4!",! 0ASO "!. ):1 $%2 #%. 86;#%.= 86;#%.=


"ÞSQUEDABINARIA
 &ALSO    .O .O

 &ALSO    .O 3Ó

 &ALSO    3Ó

 6ERDADERO

,ATABLA POROTRAPARTE MUESTRANUEVAMENTEELSEGUIMIENTODELALGORITMO


PARA8 VALORQUENOSEENCUENTRAENELARREGLO
,AlGURAREPRESENTAGRÈlCAMENTECØMOSEVAREDUCIENDOELINTERVALODEBÞS
QUEDAHASTAANULARSE$%2):1 
!CONTINUACIØNSEPRESENTAUNAVARIANTEDELALGORITMODEBÞSQUEDABINARIAQUENO
UTILIZABANDERAˆ"!.ˆ

4!",! 0ASO "!. ):1 $%2 #%. 86;#%.= 86;#%.=


"ÞSQUEDABINARIA
 &ALSO    .O 3Ó

 &ALSO    .O 3Ó

 &ALSO    .O 3Ó

 &ALSO    .O .O

 &ALSO  

&)'52!
2EDUCCIØNDELINTERVALO
DEBÞSQUEDAA 0ASO
B 0ASOC 0ASODELA
TABLA
400
>«‰ÌՏœÊ™Ê Ê Ê .c50%04%&#Ò426&%"

&)'52!
2EDUCCIØNDELINTERVALO
DEBÞSQUEDAA 0ASO
B 0ASOC 0ASO
D 0ASOE 0ASODE
LATABLA

!LGORITMO "INARIA?SIN?BANDERA

"INARIA?SIN?BANDERA6 . 8

[%STE ALGORITMO BUSCA AL ELEMENTO 8 EN EL ARREGLO UNIDIMENSIONAL ORDENADO 6 DE . COM
PONENTES]
[):1 $%2Y#%.SONVARIABLESDETIPOENTERO]

 (ACER):1← $%2←.Y#%.←0!24%%.4%2!):1 $%2 


 -IENTRAS):1≤$%2 Y8≠6;#%.= 2EPETIR
 3I86;#%.=
ENTONCES
(ACER):1←#%. 
SINO
(ACER$%2←#%.n
 [&INDELCONDICIONALDELPASO]
(ACER#%.←0!24%%.4%2!):1 $%2 
 [&INDELCICLODELPASO]
 3I):1$%2
 #Ò426&%"*/5&3/" 401

ENTONCES
%SCRIBIRh,AINFORMACIØNNOSEENCUENTRAENELARREGLOv
SINO
%SCRIBIRh,AINFORMACIØNSEENCUENTRAENLAPOSICIØNv #%.
 [&INDELCONDICIONALDELPASO]

&INALMENTE SEPRESENTAUNAVERSIØNRECURSIVADEESTEALGORITMODEBÞSQUEDABINARIA

!LGORITMO "INARIA?RECURSIVO

"INARIA?RECURSIVO6 ):1 $%2 8

[%STEALGORITMOBUSCAALELEMENTO8ENELARREGLOUNIDIMENSIONALORDENADO6DE.COMPO
NENTES):1INGRESAINICIALMENTEALALGORITMOCONELVALORDE$%2 POROTRAPARTE INGRESA
CONELVALORDE.]
[#%.ESUNAVARIABLEDETIPOENTERO]

 3I):1≥$%2
ENTONCES
%SCRIBIR8 h.OSEENCUENTRAENELARREGLOv
SINO
(ACER#%.←0!24%%.4%2!$%2 ):1 
 3I86;#%.=
ENTONCES
%SCRIBIRh%LDATOBUSCADOSEENCUENTRAENLAPOSICIØNv #%.
SINO
 3I86;#%.=
ENTONCES
2EGRESARA"INARIA?RECURSIVOCON6 #%.  $%2 8
SINO
2EGRESARA"INARIA?RECURSIVOCON6 ):1 #%.n 8
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]

!NÉLISISDELABÞSQUEDABINARIA
0ARA ANALIZAR LA COMPLEJIDAD DEL MÏTODO DE BÞSQUEDA BINARIA ES NECESARIO ESTABLECER
LOS CASOS MÈS FAVORABLES Y DESFAVORABLES QUE SE PUDIERAN PRESENTAR EN EL PROCESO DE
BÞSQUEDA%LPRIMEROSUCEDECUANDOELELEMENTOBUSCADOESELCENTRAL ENDICHOCASO
SEHARÈUNASOLACOMPARACIØNELSEGUNDOSUCEDECUANDOELELEMENTONOSEENCUENTRA
ENELARREGLOENTONCESSEHARÈNAPROXIMADAMENTELOGN COMPARACIONES YAQUECON
CADACOMPARACIØNELNÞMERODEELEMENTOSENLOSCUALESSEDEBEBUSCARSEREDUCEENUN
FACTORDE$EESTAFORMA SEDETERMINANLOSNÞMEROSMÓNIMO MEDIANOYMÈXIMODE
COMPARACIONESQUESEDEBENREALIZARCUANDOSEUTILIZAESTETIPODEBÞSQUEDA
402
>«‰ÌՏœÊ™Ê Ê Ê .c50%04%&#Ò426&%"

#MÓN   #MED 
 LOG  . #MÈX  LOG  .
&ØRMULA


%NLATABLASEPRESENTAN PARADISTINTOSVALORESDE. LOSNÞMEROSMÓNIMO ME


DIANOYMÈXIMODECOMPARACIONESREQUERIDASPARABUSCARUNELEMENTOENUNARREGLO
APLICANDOELMÏTODODEBÞSQUEDABINARIA
3ISECOMPARANLOSVALORESDELATABLACONLOSDELATABLARESULTACLAROQUE
ELMÏTODODEBÞSQUEDABINARIAESMÈSElCIENTEQUEELMÏTODODEBÞSQUEDASECUENCIAL
!DEMÈS LADIFERENCIASEHACEMÈSSIGNIlCATIVACONFORMEMÈSGRANDESEAELTAMA×ODEL
ARREGLO 3IN EMBARGO NO HAY QUE OLVIDAR QUE EL MÏTODO DE BÞSQUEDA BINARIA TRABAJA
SOLAMENTECONARREGLOSORDENADOSPORLOTANTO SIELARREGLOESTUVIERADESORDENADOANTES
DEEMPLEARESTEMÏTODO AQUÏLDEBERÓAORDENARSE
#ABEDESTACAR SINEMBARGO QUELAORDENACIØNDEUNARREGLOTAMBIÏNIMPLICACOM
PARACIONESYMOVIMIENTOSDEELEMENTOS ASÓQUESISEVAAREALIZARSØLOUNABÞSQUEDA
SOBREUNARREGLODESORDENADOCONVIENEUTILIZARELMÏTODOSECUENCIAL%NCAMBIO SISE
REALIZANBÞSQUEDASENFORMACONTINUA CONVENDRÓAORDENARLOPARAPODERAPLICARELMÏ
TODODEBÞSQUEDABINARIA

 "ÞSQUEDAPORTRANSFORMACIØNDECLAVES
,OSDOSMÏTODOSANALIZADOSANTERIORMENTEPERMITENENCONTRARUNELEMENTOENUNARRE
GLO%NAMBOSCASOSELTIEMPODEBÞSQUEDAESPROPORCIONALASUNÞMERODECOMPONEN
TES%SDECIR AMAYORNÞMERODEELEMENTOSSEDEBEREALIZARMAYORNÞMERODECOMPARA
CIONES3EMENCIONØADEMÈSQUESIBIENELMÏTODODEBÞSQUEDABINARIAESMÈSElCIENTE
QUEELSECUENCIAL EXISTELARESTRICCIØNDEQUEELARREGLOSEDEBEENCONTRARORDENADO
%STA SECCIØN SE DEDICA A UN NUEVO MÏTODO DE BÞSQUEDA %STE MÏTODO CONOCIDO
COMOTRANSFORMACIØNDECLAVESOHASH PERMITEAUMENTARLAVELOCIDADDEBÞSQUEDASIN
NECESIDADDETENERLOSELEMENTOSORDENADOS#UENTACONLAVENTAJADEQUEELTIEMPODE
BÞSQUEDAESINDEPENDIENTEDELNÞMERODECOMPONENTESDELARREGLO
3UPONGAMOSQUESETIENEUNACOLECCIØNDEDATOS CADAUNODEELLOSIDENTIlCADOPOR
UNACLAVE%SCLAROQUERESULTAATRACTIVOTENERACCESOAELLOSDEMANERADIRECTAESDECIR
SINRECORRERALGUNOSDATOSANTESDELOCALIZARALBUSCADO%LMÏTODOPORTRANSFORMACIØN
DECLAVESPERMITEREALIZARJUSTAMENTEESTAACTIVIDADESDECIR LOCALIZARELDATOENFORMA

4!",! . #MÓN #MED #MÈX


#OMPLEJIDADDELMÏTODODE
   
BÞSQUEDABINARIA
   

   

   

   
 #Ò426&%"*/5&3/" 403

DIRECTA%LMÏTODOTRABAJAUTILIZANDOUNAFUNCIØNQUECONVIERTEUNACLAVEDADAENUNA
DIRECCIØNˆÓNDICEˆDENTRODELARREGLO

DIRECCIØN←(CLAVE

,AFUNCIØNHASH( APLICADAALACLAVEGENERAUNÓNDICEDELARREGLOQUEPERMITE
ACCEDERDIRECTAMENTEALELEMENTO%LCASOMÈSTRIVIALSEPRESENTACUANDOLASCLAVESSON
NÞMEROSENTEROSCONSECUTIVOS
3UPONGAMOSQUESEDESEAALMACENARLAINFORMACIØNRELACIONADACONALUMNOS
CUYASMATRÓCULASSONNÞMEROSDELAL%NESTECASOCONVIENEDElNIRUNARREGLODE
ELEMENTOSCONÓNDICESNUMÏRICOSCOMPRENDIDOSENTRELOSVALORESY,OSDATOSDE
CADAALUMNOOCUPARÈNLAPOSICIØNDELARREGLOQUESECORRESPONDACONELNÞMERODELAMA
TRÓCULADEESTAMANERASEPODRÈACCEDERDIRECTAMENTEALAINFORMACIØNDECADAALUMNO
#ONSIDEREMOSAHORAQUESEDESEAALMACENARLAINFORMACIØNDEEMPLEADOS,A
CLAVEDECADAEMPLEADOCORRESPONDEALNÞMERODESUSEGUROSOCIAL3ILACLAVEESTÈFORMA
DAPORDÓGITOS RESULTAPORCOMPLETOINElCIENTEDElNIRUNARREGLOCON
ELEMENTOSPARAALMACENARSOLAMENTELOSDATOSDELOSEMPLEADOS5TILIZARUNARREGLO
TANGRANDEASEGURALAPOSIBILIDADDEACCEDERDIRECTAMENTEASUSELEMENTOSSINEMBARGO
ELCOSTOENMEMORIARESULTATANTORIDÓCULOCOMOEXCESIVO3IEMPREESIMPORTANTEEQUILI
BRARELCOSTODELESPACIODEMEMORIACONELCOSTOPORTIEMPODEBÞSQUEDA
#UANDOSETIENENCLAVESQUENOSECORRESPONDENCONÓNDICESˆPOREJEMPLO POR
SERALFANUMÏRICASˆ OCUANDOLASCLAVESREPRESENTENVALORESNUMÏRICOSMUYGRANDES
ONOSECORRESPONDENCONLOSÓNDICESDELOSARREGLOS SEUTILIZARÈUNAFUNCIØNHASHQUE
PERMITATRANSFORMARLACLAVEPARAOBTENERUNADIRECCIØNAPROPIADA%STAFUNCIØNHASH
DEBESERSIMPLEDECALCULARYASIGNARDIRECCIONESDELAMANERAMÈSUNIFORMEPOSIBLE%S
DECIR DEBEGENERARPOSICIONESDIFERENTESDADASDOSCLAVESTAMBIÏNDIFERENTES3IESTO
ÞLTIMONOOCURRE(+ D (+ DY+≠+ HAYUNACOLISIØN QUESEDElNECOMO
LAASIGNACIØNDEUNAMISMADIRECCIØNADOSOMÈSCLAVESDISTINTAS
%NESTECONTEXTO PARATRABAJARCONESTEMÏTODODEBÞSQUEDASEDEBESELECCIONAR
PREVIAMENTE

◗ 5NAFUNCIØNHASHQUESEAFÈCILDECALCULARYDISTRIBUYAUNIFORMEMENTELASCLAVES
◗ 5N MÏTODO PARA RESOLVER COLISIONES 3I ÏSTAS SE PRESENTAN SE CONTARÈ CON ALGÞN
MÏTODOQUEGENEREPOSICIONESALTERNATIVAS

%STOSDOSCASOSSETRATARÈNENFORMASEPARADA#OMOYASEMENCIONØ SELECCIONARUNA
BUENAFUNCIØNHASHESMUYIMPORTANTE PEROESDIFÓCILENCONTRARLA"ÈSICAMENTEPORQUENO
EXISTENREGLASQUEPERMITANDETERMINARCUÈLSERÈLAFUNCIØNMÈSAPROPIADAPARAUNCONJUN
TODECLAVESQUEASEGURELAMÈXIMAUNIFORMIDADENSUDISTRIBUCIØN2EALIZARUNANÈLISISDE
LASPRINCIPALESCARACTERÓSTICASDELASCLAVESSIEMPREAYUDAENLAELECCIØNDEUNAFUNCIØN
DEESTETIPO!CONTINUACIØNSEEXPLICANALGUNASDELASFUNCIONESHASHMÈSUTILIZADAS

 &UNCIØNHASHPORMØDULODIVISIØN
,AFUNCIØNHASHPORMØDULOODIVISIØNCONSISTEENTOMARELRESIDUODELADIVISIØNDE
LACLAVEENTREELNÞMERODECOMPONENTESDELARREGLO3UPONGAMOS POREJEMPLO QUESE
404
>«‰ÌՏœÊ™Ê Ê Ê .c50%04%&#Ò426&%"

TIENEUNARREGLODE.ELEMENTOS Y+ESLACLAVEDELDATOABUSCAR,AFUNCIØNHASHQUEDA
DElNIDAPORLASIGUIENTEFØRMULA


(+ +MOD.  &ØRMULA

%NLAFØRMULASEOBSERVAQUEALRESIDUODELADIVISIØNSELESUMA ESTOÞLTIMO
CONELOBJETIVODEOBTENERUNVALORCOMPRENDIDOENTREY.
0ARALOGRARMAYORUNIFORMIDADENLADISTRIBUCIØN ESIMPORTANTEQUE.SEAUNNÞ
MEROPRIMOODIVISIBLEENTREMUYPOCOSNÞMEROS0ORLOTANTO SI.NOESUNNÞMERO
PRIMO SEDEBECONSIDERARELVALORPRIMOMÈSCERCANO
%NELEJEMPLOSEPRESENTAUNCASODEFUNCIØNHASHPORMØDULO

%JEMPLO 3UPONGAMOS QUE .   ES EL TAMA×O DEL ARREGLO Y LAS DIRECCIONES QUE SE DEBEN
ASIGNAR A LOS ELEMENTOS AL GUARDARLOS O RECUPERARLOS SON LOS NÞMEROS DEL  AL 
#ONSIDEREMOSADEMÈSQUE+Y+SONLASDOSCLAVESALASQUESEDEBEN
ASIGNARPOSICIONESENELARREGLO3IAPLICAMOSLAFØRMULACON. PARACALCULAR
LASDIRECCIONESCORRESPONDIENTESA+Y+ OBTENEMOS

(+ MOD 


(+ MOD 

#OMO(+ ESIGUALA(+ Y+ESDISTINTODE+ SEESTÈANTEUNACOLISIØNQUESE


DEBERESOLVERPORQUEALOSDOSELEMENTOSLECORRESPONDERÓALAMISMADIRECCIØN
/BSERVEMOS SINEMBARGO QUESIAPLICÈRAMOSLAFØRMULACONUNNÞMEROPRIMO
CERCANOA. ELRESULTADOCAMBIARÓA

(+ MOD 


(+ MOD 

#ON.SEHAELIMINADOLACOLISIØN

 &UNCIØNHASHCUADRADO
,AFUNCIØNHASHCUADRADOCONSISTEENELEVARALCUADRADOLACLAVEYTOMARLOSDÓGITOS
CENTRALES COMO DIRECCIØN %L NÞMERO DE DÓGITOS QUE SE DEBE CONSIDERAR SE ENCUENTRA
DETERMINADOPORELRANGODELÓNDICE3EA+LACLAVEDELDATOABUSCAR LAFUNCIØNHASH
CUADRADOQUEDADElNIDA ENTONCES PORLASIGUIENTEFØRMULA


(+ DÓGITOS?CENTRALES+  &ØRMULA

,ASUMADEUNAUNIDADALOSDÓGITOSCENTRALESESÞTILPARAOBTENERUNVALORCOM
PRENDIDOENTREY.
%NELEJEMPLOSEPRESENTAUNCASODEFUNCIØNHASHCUADRADO
 #Ò426&%"*/5&3/" 405

%JEMPLO 3EA.ELTAMA×ODELARREGLO YSUSDIRECCIONESLOSNÞMEROSCOMPRENDIDOSENTRE


Y3EAN+Y+DOSCLAVESALASQUESEDEBENASIGNARPOSICIONES
ENELARREGLO3EAPLICALAFØRMULAPARACALCULARLASDIRECCIONESCORRESPONDIENTESA
+Y+

+ 
+ 

(+ DÓGITOS?CENTRALES 


(+ DÓGITOS?CENTRALES 

#OMOELRANGODEÓNDICESENNUESTROEJEMPLOVARÓADEA SETOMANSOLAMENTE
LOSDOSDÓGITOSCENTRALESDELCUADRADODELASCLAVES

 &UNCIØNHASHPORPLEGAMIENTO
,AFUNCIØNHASHPORPLEGAMIENTOCONSISTEENDIVIDIRLACLAVEENPARTES TOMANDOIGUAL
NÞMERODEDÓGITOSAUNQUELAÞLTIMAPUEDETENERMENOS YOPERARCONELLAS ASIGNANDO
COMODIRECCIØNLOSDÓGITOSMENOSSIGNIlCATIVOS,AOPERACIØNENTRELASPARTESSEPUEDE
REALIZARPORMEDIODESUMASOMULTIPLICACIONES3EA+LACLAVEDELDATOABUSCAR+ESTÈ
FORMADAPORLOSDÓGITOSD D  DN,AFUNCIØNHASHPORPLEGAMIENTOQUEDADElNIDA
PORLASIGUIENTEFØRMULA


(+ DÓGMENSIGDDI DI DJ  DDN  &ØRMULA

%LOPERADORQUEAPARECEENLAFØRMULAOPERANDOLASPARTESDELACLAVEESELDESUMA
PERO COMOYASEACLARØ PUEDESERELDELAMULTIPLICACIØN%NESTECONTEXTO LASUMADE
UNAUNIDADALOSDÓGITOSMENOSSIGNIlCATIVOSˆDÓGMENSIGˆESPARAOBTENERUNVALOR
COMPRENDIDOENTREY.
%NELEJEMPLOSEPRESENTAUNCASODEFUNCIØNHASHPORPLEGAMIENTO

%JEMPLO 3EA.ELTAMA×ODELARREGLO YLASDIRECCIONESQUEDEBENTOMARSUSELEMENTOSLOS


NÞMEROSCOMPRENDIDOSENTREY3EAN+Y+DOSCLAVESALASQUE
SEDEBENASIGNARPOSICIONESENELARREGLO3EAPLICALAFØRMULAPARACALCULARLASDI
RECCIONESCORRESPONDIENTESA+Y+

(+ DÓGMENSIG  DÓGMENSIG 


(+ DÓGMENSIG  DÓGMENSIG 

$E LA SUMA DE LAS PARTES SE TOMAN SOLAMENTE DOS DÓGITOS PORQUE LOS ÓNDICES DEL
ARREGLOVARÓANDEA
406
>«‰ÌՏœÊ™Ê Ê Ê .c50%04%&#Ò426&%"

 &UNCIØNHASHPORTRUNCAMIENTO
,A FUNCIØN HASH POR TRUNCAMIENTO CONSISTE EN TOMAR ALGUNOS DÓGITOS DE LA CLAVE Y
FORMARCONELLOSUNADIRECCIØN%STEMÏTODOESDELOSMÈSSENCILLOS PEROESTAMBIÏNDE
LOSQUEOFRECENMENOSUNIFORMIDADENLADISTRIBUCIØNDELASCLAVES
3EA+LACLAVEDELDATOABUSCAR+ESTÈFORMADAPORLOSDÓGITOSD D  DN,A
FUNCIØNHASHPORTRUNCAMIENTOSEREPRESENTACONLASIGUIENTEFØRMULA


(+ ELEGIRDÓGITOSD DDN  &ØRMULA

,A ELECCIØN DE LOS DÓGITOS ES ARBITRARIA 3E PODRÓAN TOMAR LOS DE LAS POSICIONES
IMPARESODELASPARES,UEGOSEPODRÓANUNIRDEIZQUIERDAADERECHAODEDERECHAA
IZQUIERDA,ASUMADEUNAUNIDADALOSDÓGITOSSELECCIONADOSESÞTILPARAOBTENERUN
VALORENTREY
%NELEJEMPLOSEMUESTRAUNCASODEFUNCIØNHASHPORTRUNCAMIENTO

%JEMPLO 3EA.ELTAMA×ODELARREGLO YLASDIRECCIONESDESUSELEMENTOSLOSNÞMEROSENTRE


Y3EAN+Y+DOSCLAVESALASQUESEDEBENASIGNARPOSICIONESENEL
ARREGLO3EAPLICALAFØRMULAPARACALCULARLASDIRECCIONESCORRESPONDIENTESA+Y+

(+ ELEGIRDÓGITOS  


(+ ELEGIRDÓGITOS  

%N ESTE EJEMPLO SE TOMAN EL PRIMERO Y TERCER NÞMEROS DE LA CLAVE Y SE UNEN DE
IZQUIERDAADERECHA
%SIMPORTANTEDESTACARQUEENTODOSLOSCASOSANTERIORESSEPRESENTARONEJEMPLOS
DE CLAVES NUMÏRICAS 3IN EMBARGO EN LA PRÈCTICA LAS CLAVES PUEDEN SER ALFABÏTICAS O
ALFANUMÏRICAS%NGENERAL CUANDOAPARECENLETRASENLASCLAVESSESUELEASOCIARACADA
UNAUNENTEROCONELPROPØSITODECONVERTIRLASENNUMÏRICAS

! " # $ :
    

3I POREJEMPLO LACLAVEFUERA!$! SUEQUIVALENTENUMÏRICASERÓA3IHU


BIERACOMBINACIØNDELETRASYNÞMEROS SEPROCEDERÓADELAMISMAMANERA0OREJEMPLO
DADAUNACLAVE:& SUEQUIVALENTENUMÏRICASERÓA/TRAALTERNATIVASERÓA
TOMARELVALORDECIMALASOCIADOPARACADACARÈCTERSEGÞNELCØDIGO!3#))5NAVEZOB
TENIDALACLAVEENSUFORMANUMÏRICA SEPUEDEUTILIZARNORMALMENTECUALESQUIERADELAS
FUNCIONESANTESMENCIONADAS%LEJEMPLOILUSTRAUNCASODECLAVEALFABÏTICA

 3OLUCIØNDECOLISIONES
,AELECCIØNDEUNMÏTODOADECUADOPARARESOLVERCOLISIONESESTANIMPORTANTECOMOLA
ELECCIØNDEUNABUENAFUNCIØNHASH#UANDOÏSTAOBTIENEUNAMISMADIRECCIØNPARADOS
CLAVESDIFERENTES SEESTÈANTEUNACOLISIØN.ORMALMENTE CUALQUIERAQUESEAELMÏTODO
 #Ò426&%"*/5&3/" 407

ELEGIDORESULTACOSTOSOTRATARLASCOLISIONES%SPORELLOQUESEDEBEHACERUNESFUERZO
IMPORTANTEPARAENCONTRARLAFUNCIØNQUEOFREZCALAMAYORUNIFORMIDADENLADISTRIBU
CIØNDELASCLAVES
,AMANERAMÈSNATURALDERESOLVERELPROBLEMADELASCOLISIONESESRESERVARUNA
CASILLAPORCLAVEESDECIR AQUELLASQUESECORRESPONDANUNAAUNACONLASPOSICIONESDEL
ARREGLO0ERO COMOYASEMENCIONØ ESTASOLUCIØNPUEDETENERUNALTOCOSTOENMEMO
RIAPORLOTANTO SEDEBENANALIZAROTRASALTERNATIVASQUEPERMITANEQUILIBRARELUSODE
MEMORIACONELTIEMPODEBÞSQUEDA
%NADELANTESEESTUDIARÈNALGUNOSDELOSMÏTODOSMÈSUTILIZADOSPARARESOLVERCOLI
SIONES QUESEPUEDENCLASIlCAREN

◗ 2EASIGNACIØN
◗ !RREGLOSANIDADOS
◗ %NCADENAMIENTO

 2EASIGNACIØN
%XISTENVARIOSMÏTODOSQUETRABAJANBAJOELPRINCIPIODECOMPARACIØNYREASIGNACIØNDE
ELEMENTOS!CONTINUACIØNSEANALIZARÈNTRESDEELLOS

◗ 0RUEBALINEAL
◗ 0RUEBACUADRÈTICA
◗ $OBLEDIRECCIØNHASH

0RUEBALINEAL
%LMÏTODODEPRUEBALINEALCONSISTEENQUEUNAVEZQUESEDETECTALACOLISIØN SERECORRE
ELARREGLOSECUENCIALMENTEAPARTIRDELPUNTODECOLISIØN BUSCANDOALELEMENTO%LPRO
CESODEBÞSQUEDACONCLUYECUANDOELELEMENTOESHALLADO OCUANDOSEENCUENTRAUNA
POSICIØNVACÓA%LARREGLOSETRATACOMOUNAESTRUCTURACIRCULARELSIGUIENTEELEMENTO
DESPUÏSDELÞLTIMOESELPRIMERO
!CONTINUACIØNSEEXPONEELALGORITMODESOLUCIØNDECOLISIONESPORMEDIODELA
PRUEBALINEAL

!LGORITMO 0RUEBA?LINEAL

0RUEBA?LINEAL6 . +

[%STEALGORITMOBUSCAALDATOCONCLAVE+ENELARREGLOUNIDIMENSIONAL6DE.ELEMENTOS
2ESUELVEELPROBLEMADELASCOLISIONESPORMEDIODELMÏTODODEPRUEBALINEAL]
[$Y$8SONVARIABLESDETIPOENTERO]

 (ACER$←(+ ['ENERADIRECCIØN]


 3I6;$8=≠6!#¶/ Y6;$=+
ENTONCES
408
>«‰ÌՏœÊ™Ê Ê Ê .c50%04%&#Ò426&%"

%SCRIBIRh,AINFORMACIØNESTÈENLAPOSICIØNv $
SINO
(ACER$8←$ 
 -IENTRAS$8≤. Y6;$8=≠6!#¶/ Y6;$8=≠+ Y$8≠$
2EPETIR
(ACER$8←$8 
 3I$8.  ENTONCES
(ACER$8←
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
 3I6;$8=6!#¶/ O$8$
ENTONCES
%SCRIBIRh,AINFORMACIØNNOSEENCUENTRAENELARREGLOv
SINO
%SCRIBIRh,AINFORMACIØNESTÈENLAPOSICIØNv $8
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]

,ACUARTACONDICIØNDELCICLODELPUNTO $8≠8 ESPARAEVITARCAERENUNCICLO


INlNITOSIELARREGLOESTUVIERALLENOYELELEMENTOABUSCARNOSEENCONTRARAENÏL
,APRINCIPALDESVENTAJADEESTEMÏTODOESQUEPUEDEHABERUNFUERTEAGRUPAMIENTO
ALREDEDOR DE CIERTAS CLAVES MIENTRAS QUE OTRAS ZONAS DEL ARREGLO PODRÓAN PERMANECER
VACÓAS3ILASCONCENTRACIONESDECLAVESSONMUYFRECUENTES LABÞSQUEDASERÈPRINCIPAL
MENTESECUENCIAL PERDIENDOASÓLASVENTAJASDELMÏTODOHASH%LEJEMPLOILUSTRAEL
FUNCIONAMIENTODELALGORITMO

%JEMPLO 3EA6UNARREGLOUNIDIMENSIONALDEELEMENTOS,ASCLAVES      


YFUERONASIGNADASSEGÞNLAFUNCIØNHASH

(+ +MOD 

%NLAlGURASEAPRECIAELESTADODEARREGLOA YLATABLACON(+ PARACADA


CLAVEB 
%NLATABLASEPRESENTAELSEGUIMIENTODELASVARIABLESIMPORTANTESDELALGORITMO
PARAELCASODELEJEMPLOANTERIOR%LDATOABUSCARESIGUALA
!LAPLICARLAFUNCIØNHASHALACLAVE SEOBTIENEUNADIRECCIØN$ IGUALA3IN
EMBARGO ENESAPOSICIØNNOSEENCUENTRAELELEMENTOBUSCADO PORLOQUESECOMIENZA
ARECORRERSECUENCIALMENTEELARREGLOAPARTIRDELAPOSICIØN$8 IGUALA%NESTECASO
LABÞSQUEDACONCLUYECUANDOSEENCUENTRAALVALORBUSCADOENLAPOSICIØN

4!",! $ $8
3OLUCIØNDECOLISIONESPOR
LAPRUEBALINEAL+  


 #Ò426&%"*/5&3/" 409

&)'52!
3OLUCIØNDECOLISIONESPOR
LAPRUEBALINEALA !RREGLO
B 4ABLACON(+ 

%NLATABLASEPRESENTAAHORAELSEGUIMIENTODELASVARIABLESIMPORTANTESDEL
ALGORITMO PEROAHORAPARAUNCASOMÈSCOMPLEJODELEJEMPLOANTERIOR%LDATOA
BUSCARESIGUALA

0RUEBACUADRÉTICA
%LMÏTODODELAPRUEBACUADRÈTICAESSIMILARALANTERIOR,ADIFERENCIACONSISTEENQUE
ENELDELAPRUEBACUADRÈTICALASDIRECCIONESALTERNATIVASSEGENERARÈNCOMO$  $
 $   $ IENVEZDE$  $   $ I%STAVARIACIØNPERMITEUNAMEJOR
DISTRIBUCIØNDELASCLAVESQUECOLISIONAN
!CONTINUACIØNSEPRESENTAELALGORITMODESOLUCIØNDECOLISIONESPORMEDIODELA
PRUEBACUADRÈTICA

4!",! $ $8
3OLUCIØNDECOLISIONESPOR
 
LAPRUEBALINEAL+



410
>«‰ÌՏœÊ™Ê Ê Ê .c50%04%&#Ò426&%"

!LGORITMO 0RUEBA?CUADRÈTICA

0RUEBA?CUADRÈTICA6 . +

[%STEALGORITMOBUSCAALDATOCONCLAVE+ENELARREGLOUNIDIMENSIONAL6DE.ELEMENTOS
2ESUELVEELPROBLEMADELASCOLISIONESPORMEDIODELAPRUEBACUADRÈTICA]
[$ $8E)SONVARIABLESDETIPOENTERO]

 (ACER$←(+ ['ENERADIRECCIØN]


 3I6;$8=≠6!#¶/ Y6;$=+
ENTONCES
%SCRIBIRh,AINFORMACIØNESTÈENLAPOSICIØNv $
SINO
(ACER)←Y$8←$ )
)
 -IENTRAS6;$8=≠6!#¶/ Y6;$8=≠+ 2EPETIR
(ACER)←) Y$8←$ )
)
 3I$8. ENTONCES
(ACER)← $8←Y$←
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
 3I6;$8=6!#¶/
ENTONCES
%SCRIBIRh,AINFORMACIØNNOESTÈENELARREGLOv
SINO
%SCRIBIRh,AINFORMACIØNESTÈENLAPOSICIØNv $8
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]

!CONTINUACIØNSEPRESENTAUNEJEMPLOQUEILUSTRAELFUNCIONAMIENTODELALGORITMO


%JEMPLO 3EA6UNARREGLOUNIDIMENSIONALDEDIEZELEMENTOS,ASCLAVES     


 YSEASIGNARONSEGÞNLAFUNCIØNHASH

(+ +MOD 

%NLAlGURASEPRESENTAELESTADODELARREGLOA YLATABLACON(+ PARA


CADACLAVEB 
,ATABLACONTIENEELSEGUIMIENTODELASVARIABLESIMPORTANTESDELALGORITMO
PARAELCASODELEJEMPLOANTERIOR YELDATOABUSCARESIGUALA

4!",! $ ) $8
3OLUCIØNDECOLISIONESPOR
LAPRUEBACUADRÉTICA   
+
 
 #Ò426&%"*/5&3/" 411

&)'52!
3OLUCIØNDECOLISIONESPOR
LAPRUEBACUADRÉTICA
A !RREGLOB 4ABLACON
(+ 

!LAPLICARLAFUNCIØNHASHALACLAVE SEOBTIENEUNADIRECCIØN$ IGUALA


SINEMBARGO ENESADIRECCIØNNOSEENCUENTRAELELEMENTOBUSCADO3ECALCULAPOSTE
RIORMENTE$8 COMOLASUMA$ )
) OBTENIÏNDOSEDEESTAFORMALADIRECCIØN%L
ALGORITMO DE BÞSQUEDA CONCLUYE CUANDO SE ENCUENTRA EL VALOR DESEADO EN LA DÏCIMA
POSICIØNDELARREGLO
%NLATABLASEPRESENTAELSEGUIMIENTODELASVARIABLESIMPORTANTESDELALGORITMO
PARAUNCASOMÈSCOMPLEJOQUEELANTERIOR%LDATOABUSCARES

$OBLEDIRECCIØNHASH
%LMÏTODODEDOBLEDIRECCIØNHASHCONSISTEENQUEUNAVEZQUESEDETECTALACOLISIØN
SEGENERAOTRADIRECCIØNAPLICANDOLAMISMAFUNCIØNHASHALADIRECCIØNPREVIAMENTE
OBTENIDA%LPROCESOSEDETIENECUANDOELELEMENTOESHALLADO OCUANDOSEENCUENTRA
UNAPOSICIØNVACÓA

4!",! $ ) $8
3OLUCIØNDECOLISIONESPOR
LAPRUEBACUADRÉTICA   
+
 

 

  

 
412
>«‰ÌՏœÊ™Ê Ê Ê .c50%04%&#Ò426&%"

$(+
$ʹ($
$ʹʹ($ʹ


,AFUNCIØNHASHQUESEAPLICANONECESARIAMENTETIENEQUESERLAMISMAQUEORIGI
NALMENTESEAPLICØALACLAVEPODRÓASERCUALQUIEROTRA3INEMBARGO NOEXISTENINGÞN
ESTUDIOQUEPRECISECUÈLESLAMEJORFUNCIØNQUESEDEBEUTILIZARENELCÈLCULODELAS
DIRECCIONESSUCESIVAS
!NALICEMOSAHORAELALGORITMODESOLUCIØNDECOLISIONESPORMEDIODELMÏTODODE
LADOBLEDIRECCIØNHASH

!LGORITMO $OBLE?DIRECCIØN

$OBLE?DIRECCIØN6 . +

[%STEALGORITMOBUSCAALDATOCONLACLAVE+ENELARREGLOUNIDIMENSIONAL6DE.ELEMENTOS
2ESUELVEELPROBLEMADELASCOLISIONESPORMEDIODELADOBLEDIRECCIØNHASH]
[$Y$8SONVARIABLESDETIPOENTERO]

 (ACER$←(+
 3I6;$8=≠6!#¶/ Y6;$=+
ENTONCES
%SCRIBIRh,AINFORMACIØNSEENCUENTRAENLAPOSICIØNv $
SINO
(ACER$8←(ʹ$
 -IENTRAS$8≤. Y6;$8=≠6!#¶/ Y6;$8=≠+ Y$8≠$ 2EPETIR
(ACER$8←(ʹ$8
 [&INDELCICLODELPASO]
 3I6;$8=6!#¶/ O6;$8=≠+
ENTONCES
%SCRIBIRh,AINFORMACIØNBUSCADANOESTÈENELARREGLOv
SINO
%SCRIBIRh,AINFORMACIØNESTÈENLAPOSICIØNv $8
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]

%LSIGUIENTEEJEMPLOILUSTRAELFUNCIONAMIENTODEESTEALGORITMO
%JEMPLO 3EA6UNARREGLOUNIDIMENSIONALDEDIEZELEMENTOS,ASCLAVES      
YFUERONASIGNADASSEGÞNLAFUNCIØNHASH

(+ +MOD 

!DEMÈSSEDElNIØUNAFUNCIØN(ʹPARACALCULARDIRECCIONESALTERNATIVASENCASODE
HABERCOLISIØN
 #Ò426&%"*/5&3/" 413

&)'52!
3OLUCIØNDECOLISIONES
PORELMÏTODODEDOBLE
DIRECCIØNHASHA !RREGLO
B 4ABLACON(+ (ʹ$
(ʹ$ʹ (ʹ$ʹʹ 

(ʹ$ $ L MOD L

%NLAlGURASEPRESENTAELESTADODELARREGLOA YLATABLAB CON(+


PARACADACLAVE Y(ʹ$ ENCASODECOLISIØN
%NLATABLASEPRESENTAELSEGUIMIENTODELALGORITMOPARAELCASODELEJEM
PLOANTERIOR%LDATOABUSCARESIGUALA
!LAPLICARLAFUNCIØNHASH( ALACLAVE SEOBTUVOUNADIRECCIØN$ IGUALA
#OMOENESAPOSICIØNNOSEENCUENTRAELELEMENTOBUSCADO SEAPLICAREITERADAMENTE
(ʹ GENERANDODIRECCIONESHASTALOCALIZARELVALORDESEADO%NESTEEJEMPLOFUEPRECISO
APLICARTRESVECESLAFUNCIØN(ʹ OBTENIÏNDOSELASDIRECCIONES Y ENLAQUElNAL
MENTESEENCONTRØELDATOBUSCADO

 !RREGLOSANIDADOS
%LMÏTODODEARREGLOSANIDADOSCONSISTEENQUECADAELEMENTODELARREGLOTENGAOTRO
ARREGLO ENELCUALSEALMACENENLOSELEMENTOSQUECOLISIONAN3IBIENLASOLUCIØNPA
RECESERSENCILLA ESCLAROQUERESULTAINElCIENTE!LTRABAJARCONARREGLOSSEDEPENDE
DELESPACIOQUESEHAYAASIGNADOAÏSTOS LOCUALCONDUCEAUNNUEVOPROBLEMADIFÓCIL

4!",! $ $8
3OLUCIØNDECOLISIONESPOR
 
ELMÏTODODEDOBLEDIREC
CIØNHASH+ 


414
>«‰ÌՏœÊ™Ê Ê Ê .c50%04%&#Ò426&%"

DESOLUCIONARELEGIRUNTAMA×OADECUADODEARREGLOQUEPERMITAUNEQUILIBRIOENTREEL
COSTODEMEMORIAYELNÞMERODEVALORESˆQUECOLISIONANˆQUEPUDIERAALMACENAR
!NALICEMOSUNEJEMPLO

%JEMPLO 3EA6UNARREGLOUNIDIMENSIONALDEDIEZELEMENTOS,OSELEMENTOSCONCLAVES 


    YSEALMACENARONENELARREGLOUNIDIMENSIONAL6UTILIZANDOLA
FUNCIØNHASH

(+ +MOD 

%NLAlGURASEPRESENTAELESTADODELARREGLOANIDADOA YLATABLACON(+
PARACADACLAVEB 

 %NCADENAMIENTO
%LMÏTODODEENCADENAMIENTOCONSISTEENQUECADAELEMENTODELARREGLOTENGAUNAPUN
TADORAUNALISTALIGADA LACUALSEIRÈGENERANDOYALMACENARÈLOSVALORESQUECOLISIONAN
%SELMÏTODOMÈSElCIENTEDEBIDOALDINAMISMOPROPIODELASLISTAS#UALQUIERAQUESEA
ELNÞMERODECOLISIONESQUESEPRESENTEN SEPODRÈNRESOLVERSININCONVENIENTES
#OMO DESVENTAJAS DEL MÏTODO DE ENCADENAMIENTO SE MENCIONA EL HECHO DE QUE
OCUPAESPACIOADICIONALALDELATABLAYQUEEXIGEELMANEJODELISTASLIGADAS!DEMÈS SI
LASLISTASCRECENDEMASIADOSEPERDERÈLAFACILIDADDEACCESODIRECTODELMÏTODOHASH
,AlGURAMUESTRALAESTRUCTURADEDATOSNECESARIAPARARESOLVERCOLISIONESPOR
MEDIODELMÏTODODEENCADENAMIENTO
!CONTINUACIØNSEPRESENTAELALGORITMODESOLUCIØNDECOLISIONESPORENCADENA
MIENTO

&)'52!
3OLUCIØNDECOLISIONESCON
ARREGLOSANIDADOS
A !RREGLOANIDADO
B 4ABLACON(+ 
 #Ò426&%"*/5&3/" 415

&)'52!
3OLUCIØNDECOLISIONESPOR
ENCADENAMIENTO

!LGORITMO %NCADENAMIENTO

%NCADENAMIENTO6 . +

[%STEALGORITMOBUSCAALDATOCONCLAVE+ENELARREGLOUNIDIMENSIONAL6DE.ELEMENTOS
2ESUELVELASCOLISIONESPORMEDIODEENCADENAMIENTOENLISTASLIGADAS3)'E).&/SONLOS
CAMPOSDECADANODODELALISTA]
[$ESUNAVARIABLEDETIPOENTERO1ESUNAVARIABLEDETIPOPUNTERO]

 (ACER$←(+ ['ENERADIRECCIØN]


 3I6;$=≠6!#¶/ Y6;$=+
ENTONCES
%SCRIBIRh,AINFORMACIØNESTÈENLAPOSICIØNv $
SINO
(ACER1←6;$=3)'[!PUNTADORALALISTA]
 -IENTRAS1≠6!#¶/ Y1>).&/≠+
(ACER1←1>3)'
 [&INDELCICLODELPASO]
 3I16!#¶/
ENTONCES
%SCRIBIRh,AINFORMACIØNNOSEENCUENTRAENLALISTAv
SINO
%SCRIBIRh,AINFORMACIØNSEENCUENTRAENLALISTAv
 [&INDELCONDICIONALDELPASO]
 [&INDELCONDICIONALDELPASO]

%LFUNCIONAMIENTODEESTEALGORITMOQUEDAMÈSCLAROCONELSIGUIENTEEJEMPLO
416
>«‰ÌՏœÊ™Ê Ê Ê .c50%04%&#Ò426&%"

%JEMPLO 3EA6UNARREGLOUNIDIMENSIONALDEDIEZELEMENTOS,OSELEMENTOSCONCLAVES 


    YSEALMACENARONENELARREGLOUNIDIMENSIONAL6UTILIZANDOLA
SIGUIENTEFUNCIØNHASH

(+ +MOD 

%NLAlGURASEPRESENTAELESTADODELARREGLOCONENCADENAMIENTOA YLA
TABLACON(+ PARACADACLAVEB 
5NAVEZDETECTADALACOLISIØNENUNACIERTAPOSICIØNDELARREGLO SEDEBERECORRERLA
LISTAASOCIADAAELLAHASTAENCONTRARELELEMENTOBUSCADOOLLEGARASUlNAL
%NELEJEMPLOSEPRESENTAOTROCASODESOLUCIØNDECOLISIONESPORENCADENA
MIENTODONDELASCLAVESSONALFABÏTICAS

%JEMPLO 3EA0UNARREGLOUNIDIMENSIONALDEDIEZELEMENTOS ENELCUALSEALMACENANLOSDATOSDE


ALGUNOSPINOSMEXICANOS3EUTILIZACOMOCLAVEELNOMBREDELOSPINOSPARAASIGNARA
CADAUNODEELLOSUNADIRECCIØNENELARREGLO00ARAELLOPRIMEROSEOBTENDRÈUNNÞMERO
QUERESULTARÈDESUSTITUIRCADALETRAPORUNDÓGITODELAL YAESTENÞMEROSELE
APLICARÈLAFUNCIØNHASH( DElNIDADELASIGUIENTEMANERA

(CLAVE CLAVEMOD 

,ATABLACONTIENELOSNOMBRESDELOSPINOS ELVALORNUMÏRICOASOCIADOCLAVE
YLADIRECCIØNEN0QUELECORRESPONDE
#OMOSEPUEDEAPRECIARENLATABLA HAHABIDOCOLISIONES0ARARESOLVERLAS SEAPLICA
RÈELMÏTODODEENCADENAMIENTO,AESTRUCTURARESULTANTESEMUESTRAENLAlGURA
#ABEDESTACARQUECUALQUIERAQUESEAELMÏTODOSELECCIONADOPARARESOLVERLASCO
LISIONES SEDEBETENERENCUENTAENQUÏESTADOQUEDALAESTRUCTURAALINSERTARY SOBRE
TODO ALELIMINARELEMENTOS,AELIMINACIØNESLAOPERACIØNQUEMÈSAFECTACUANDOSE

&)'52!
3OLUCIØNDECOLISIONESPOR
ENCADENAMIENTO
 #Ò426&%"*/5&3/" 417

4!",! .OMBRE 6ALORNUMÏRICO $IRECCIØN

#EMBROIDES  

%DULIS  

#ULMINICOLA  

1UADRIFOLIA  

0INSEANA  

&LEXILIS  

!YACAHUITE  

4EOCOTE  

#OOPERI  

0RINGLEI  

TIENENCOLISIONES PORLOQUESELEDEBEDEDICARESPECIALATENCIØNPARANOPERDERElCIEN
CIAENLABÞSQUEDA

!NÉLISISDELMÏTODOPORTRANSFORMACIØNDECLAVES
0ARAANALIZARLACOMPLEJIDADDEESTEMÏTODOESNECESARIOREALIZARVARIOSCÈLCULOSPRO
BABILÓSTICOS QUENOSEESTUDIARÈNENESTAOBRA,ADIlCULTADDELANÈLISISSEDEBEPRIN
CIPALMENTEAQUENOSØLOINTERVIENELAFUNCIØNHASHSINOTAMBIÏNELMÏTODOUTILIZADO
PARARESOLVERLASCOLISIONES0ORLOTANTO SEDEBERÓAANALIZARCADAUNADELASPOSIBLES
COMBINACIONESQUESEPUDIERANPRESENTAR

&)'52!
3OLUCIØNDECOLISIONESPOR
ENCADENAMIENTO
418
>«‰ÌՏœÊ™Ê Ê Ê .c50%04%&#Ò426&%"

3EAλELFACTORDEOCUPACIØNDEUNARREGLO DElNIDOCOMO-. DONDE-ESELNÞ


MERODEELEMENTOSENELARREGLOY.ESSUTAMA×O3EGÞN,IPSCHUTZ LAPROBABILIDADDE
LLEVARACABOUNABÞSQUEDACONÏXITO3 YOTRASINÏXITO: QUEDANDETERMINADASPOR
LASSIGUIENTESFØRMULAS


A "ÞSQUEDACONÏXITO B "ÞSQUEDASINÏXITO &ØRMULAS

3 L 
    L
: L 
    L


 
#ABEACLARARQUEESTASFØRMULASSONVÈLIDASSOLAMENTEENCASODEFUNCIONESHASH
CONELMÏTODOLINEALDESOLUCIØNDECOLISIONES

 ­RBOLESDEBÞSQUEDA
%NELCAPÓTULOSEPRESENTARONLOSÈRBOLESCOMOUNAESTRUCTURAPODEROSAYElCIENTEPARA
ALMACENARYRECUPERARINFORMACIØN$EBIDOALDINAMISMOQUECARACTERIZAALOSÈRBOLES
ELBENElCIODEUTILIZARLOSESMAYORCUANTOMÈSVARIABLESEAELNÞMERODEDATOSATRATAR

&)'52!
2EPRESENTACIØNDETRIES
 #Ò426&%"*/5&3/" 419

%NESTASECCIØNSØLOSEHABLARÈDELAESTRUCTURATRIE QUEESUNAVARIANTEDELAES
TRUCTURATIPOÈRBOL
5NTRIEESUNAESTRUCTURASIMILARAUNÈRBOLCON.RAÓCES CONLAPARTICULARIDADDE
QUECADANODODELÈRBOLPUEDESERNUEVAMENTEUNTRIE%NLAlGURASEPRESENTAUN
DIAGRAMACORRESPONDIENTEAUNTRIEQUECONTIENELASPROPOSICIONESDELCASTELLANO
5NTRIEPUEDEREPRESENTARUNAESTRUCTURASUMAMENTEÞTILPARABÞSQUEDA,ASRAÓCESDEL
ÈRBOLTIENENCOMOOBJETIVODIRIGIRELCAMINODEBÞSQUEDAHACIALAMETA,APROFUNDIDADDE
UNAESTRUCTURADEESTETIPODEPENDEDELADISCRIMINACIØNENLACLAVEDEBÞSQUEDAQUEREALI
CEELUSUARIO%NLAlGURASEPUEDEOBSERVARUNTRIECUYAPROFUNDIDADESVARIABLEPARA
CADARAÓZ$EESTAFORMASELOCALIZALAINFORMACIØNBUSCADADIRECTAMENTEENELNODOTERMI
NAL SINTENERQUEREALIZARBÞSQUEDASECUENCIAL%NLAlGURAELLECTORPUEDEOBSERVAR
UNTRIECONPROFUNDIDADTRESLADISCRIMINACIØNENLACLAVEDEBÞSQUEDAESIGUALA
#ONELPROPØSITODEINSTRUMENTARESTAESTRUCTURAENUNLENGUAJEDEALTONIVEL PODE
MOSREPRESENTARUNTRIECOMOUNBOSQUE0OSTERIORMENTE APLICANDOLASREGLASNECESARIAS
ˆANALIZADASENELCAPÓTULOˆ SEDEBECONVERTIRESTAESTRUCTURAENÈRBOLBINARIO%NLA
lGURASEMUESTRAELBOSQUEQUEREPRESENTAALTRIEDELAlGURA
&INALMENTE ENLAlGURASEMUESTRAALÈRBOLBINARIOQUEREPRESENTAALBOSQUE
DELAlGURA

&)'52!
2EPRESENTACIØNDEUNTRIECONDISCRIMINACIØN
420
>«‰ÌՏœÊ™Ê Ê Ê .c50%04%&#Ò426&%"

&)'52!
2EPRESENTACIØNDELTRIEDELAlGURACOMOBOSQUE

 "Â315%$!%84%2.!
%NLASECCIØNANTERIORSEESTUDIARONLASTÏCNICASDEBÞSQUEDAQUESONAPLICABLESCUANDO
LAINFORMACIØNRESIDEENLAMEMORIAPRINCIPALDELACOMPUTADORA%NPARTICULAR SEANALI
ZØLAOPERACIØNDEBÞSQUEDAENESTRUCTURASESTÈTICASˆARREGLOSˆYDINÈMICASˆLISTASY
ÈRBOLESˆDEINFORMACIØN3INEMBARGO EXISTENCASOSENLOSCUALESNOSEPUEDEMANEJAR
TODALAINFORMACIØNENMEMORIAPRINCIPAL SINOQUEESNECESARIOTRABAJARCONINFORMA
CIØNALMACENADAENARCHIVOS%STETIPODEBÞSQUEDASEDENOMINABÞSQUEDAEXTERNA
,OS ARCHIVOS SE USAN NORMALMENTE CUANDO EL VOLUMEN DE DATOS ES SIGNIlCATIVO
OCUANDOLAAPLICACIØNEXIGELAPERMANENCIADELOSDATOS AUNDESPUÏSDEQUEÏSTASE
TERMINEDEEJECUTAR#OMOLOSARCHIVOSSEENCUENTRANALMACENADOSENDISPOSITIVOSPE
RIFÏRICOSˆCINTAS DISCOS ETCˆ LASOPERACIONESDEESCRITURAYLECTURADEDATOSTIENEN
UNALTOCOSTOENCUANTOATIEMPO PORLOSACCESOSAESTOSPERIFÏRICOS0ARADISMINUIREL
 #Ò426&%"&95&3/" 421

&)'52!
2EPRESENTACIØNDELBOSQUEDELAlGURACOMOÉRBOLBINARIO
422
>«‰ÌՏœÊ™Ê Ê Ê .c50%04%&#Ò426&%"

TIEMPODEACCESOESMUYIMPORTANTEOPTIMIZARLASOPERACIONESDEBÞSQUEDA INSERCIØN
YELIMINACIØNENARCHIVOS5NAFORMADEHACERLOESTRABAJARCONARCHIVOSORDENADOS!
CONTINUACIØNSEDESCRIBENALGUNOSDELOSMÏTODOSMÈSUTILIZADOSENBÞSQUEDAEXTERNA

 "ÞSQUEDAENARCHIVOSSECUENCIALES
,OSARCHIVOSSECUENCIALESSONAQUELLOSCUYOSCOMPONENTESOREGISTROSOCUPANPOSI
CIONESRELATIVASCONSECUTIVAS4ODOCOMPONENTEOREGISTRODEUNARCHIVOTIENEGENERAL
MENTEUNCAMPOQUELOIDENTIlCA LLAMADOCAMPOCLAVE²STESEENCUENTRAFORMADOPOR
UNCONJUNTODECARACTERESODÓGITOS!DEMÈS OCUPALAMISMAPOSICIØNRELATIVAENTODOS
LOSREGISTROSDEUNMISMOARCHIVO!LGUNOSEJEMPLOSDECAMPOSCLAVESONELNÞMERODE
CLIENTEˆARCHIVODECLIENTESˆ ELNÞMERODECONTRIBUYENTEˆARCHIVODEHACIENDAˆ
LAMATRÓCULADEUNALUMNOˆARCHIVODEALUMNOSˆ ELNÞMERODEEMPLEADOˆARCHIVO
DEEMPLEADOSˆ ETC0UEDESUCEDERQUELACLAVEDEUNREGISTROESTÏFORMADAPORMÈS
DEUNCAMPO0OREJEMPLO ENUNSISTEMADEINVENTARIOSCADAPIEZASEPODRÓAIDENTIlCAR
PORUNCAMPOQUEHAGAREFERENCIAALDEPARTAMENTOALCUALPERTENECE YOTROCAMPOPARA
LAPIEZAENSÓ
%NSEGUIDASEDESCRIBENALGUNOSMÏTODOSDEBÞSQUEDAENARCHIVOSSECUENCIALES

 "ÞSQUEDASECUENCIAL
%LMÏTODODEBÞSQUEDASECUENCIALCONSISTEENRECORRERELARCHIVOCOMPARANDOLACLAVE
BUSCADACONLACLAVEDELREGISTROENCURSO%LRECORRIDOLINEALDELARCHIVOTERMINACUANDO
SEENCUENTRAELELEMENTO OCUANDOSEALCANZAELlNALDELARCHIVO3EPUEDENPRESENTAR
ALGUNASVARIANTESDENTRODEESTEMÏTODO DEPENDIENDOSOBRETODODESIELARCHIVOESTÈ
ORDENADOODESORDENADO
!CONTINUACIØNSEDETALLAELALGORITMODEBÞSQUEDALINEALENUNARCHIVOSECUENCIAL
DESORDENADO

!LGORITMO !RCHIVO?SECUENCIAL?DESORDENADO

!RCHIVO?SECUENCIAL?DESORDENADO&! +

[%STEALGORITMOBUSCASECUENCIALMENTEENUNARCHIVODESORDENADO&! UNREGISTROCONCLAVE
+]
["!. ES UNA VARIABLE DE TIPO BOOLEANO 2 ES UNA VARIABLE DE TIPO REGISTRO #,!6% ES UN
CAMPODELREGISTRO]

 !BRIRELARCHIVO&!PARALECTURA
 (ACER"!.←&!,3/
 -IENTRASNOSEAELlNDEARCHIVODE&! Y"!.&!,3/ 2EPETIR
,EER2DE&!
 3I2#,!6%+ ENTONCES
%SCRIBIRh,AINFORMACIØNSEENCUENTRAENELARCHIVOv
 #Ò426&%"&95&3/" 423

(ACER"!.←6%2$!$%2/
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
 3I"!.&!,3/ ENTONCES
%SCRIBIRh,AINFORMACIØNNOSEENCUENTRAENELARCHIVOv
 [&INDELCONDICIONALDELPASO]

%STEALGORITMOESSIMILARAL%NGENERAL TIENELASMISMASCARACTERÓSTICASQUEEL
MÏTODOSECUENCIALENARREGLOSDESORDENADOS
%LALGORITMODEBÞSQUEDAENARCHIVOSORDENADOSSEESTUDIARÈCONSIDERANDO ENPAR
TICULAR ARCHIVOSORDENADOSENFORMACRECIENTE

!LGORITMO !RCHIVO?SECUENCIAL?ORDENADO

!RCHIVO?SECUENCIAL?ORDENADO&! +

[%STE ALGORITMO BUSCA SECUENCIALMENTE EN UN ARCHIVO &! ORDENADO EN FORMA CRECIENTE UN
REGISTROCONCLAVE+]
["!. ES UNA VARIABLE DE TIPO BOOLEANO 2 ES UNA VARIABLE DE TIPO REGISTRO #,!6% ES UN
CAMPODELREGISTRO]

 !BRIRELARCHIVO&!PARALECTURA
 (ACER"!.←&!,3/
 -IENTRASNOSEAELlNDEARCHIVODE&! Y"!.&!,3/ 2EPETIR
,EER2DE&!
 3I2#,!6%≥+ ENTONCES
(ACER"!.←6%2$!$%2/
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
 3I2#,!6%+
ENTONCES
%SCRIBIRh,AINFORMACIØNSEENCUENTRAENELARCHIVOv
SINO
%SCRIBIRh,AINFORMACIØNNOSEENCUENTRAENELARCHIVOv
 [&INDELCONDICIONALDELPASO]

,ADIFERENCIAENTREESTEALGORITMOYELANTERIORCONSISTEENQUELABÞSQUEDATAMBIÏN
SEDETIENECUANDOLACLAVEDE2ESMAYORQUE+%STOÞLTIMOSEDEBEAQUESIELARCHIVO
ESTÈ ORDENADO YA NO SE ENCONTRARÈ EL REGISTRO CON CLAVE + ENTRE LOS REGISTROS AÞN NO
VISITADOS
424
>«‰ÌՏœÊ™Ê Ê Ê .c50%04%&#Ò426&%"

 "ÞSQUEDASECUENCIALMEDIANTEBLOQUES
,ABÞSQUEDASECUENCIALMEDIANTEBLOQUESCONSISTEENTOMARBLOQUESDEREGISTROSEN
VEZDEREGISTROSAISLADOS5NBLOQUEESUNCONJUNTODEREGISTROS3UTAMA×OESARBITRARIO
YDEPENDEDELNÞMERODEELEMENTOSDELARCHIVO'ENERALMENTESEDElNEELTAMA×ODEL
. .
BLOQUEIGUALA DONDEESELNÞMERODEREGISTROSDELARCHIVOˆLADEMOSTRACIØNDE
.
PORQUÏESSEPRESENTAMÈSADELANTEˆ%LARCHIVODEBEESTARORDENADO,ABÞSQUEDA
SEREALIZAALCOMPARARLACLAVEENCUESTIØNCONELÞLTIMOREGISTRODECADABLOQUE3ILA
CLAVERESULTAMENOR ENTONCESSEBUSCAENFORMASECUENCIALATRAVÏSDELOSREGISTROSSAL
TEADOSENELBLOQUE%NCASOCONTRARIOSECONTINÞACONELSIGUIENTEBLOQUE%NPROMEDIO
ELNÞMERODECOMPARACIONESREQUERIDASPARAENCONTRARUNVALORDADOSERÈIGUALA .
!CONTINUACIØNSEPRESENTAUNALGORITMODEBÞSQUEDASECUENCIALUSANDOBLOQUES

!LGORITMO !RCHIVO?SECUENCIAL?BLOQUES

!RCHIVO?SECUENCIAL?BLOQUES&! . +

[%STEALGORITMOBUSCASECUENCIALMENTEENUNARCHIVOORDENADO&!DE.ELEMENTOS UNREGISTRO
CONCLAVE+]
[)Y4"SONVARIABLESDETIPOENTERO"!.ESUNAVARIABLEDETIPOBOOLEANO]

 !BRIRELARCHIVO&!PARALECTURA
 (ACER"!.←&!,3/ )←Y4"←0ARTE%NTERASQRT. [#ALCULAELTAMA×ODEL
BLOQUECOMOLARAÓZCUADRADADE.]
 -IENTRAS4"
)≤. Y"!.&!,3/ 2EPETIR
,EER2DE&!ENLAPOSICIØN4"
)
 3I2#,!6%≥+
ENTONCES
(ACER"!.←6%2$!$%2/
SINO
(ACER)←) 
 [&INDELCONDICIONALDELPASO]
 [&INDELCICLODELPASO]
 3I"!.6%2$!$%2/
ENTONCES
 3I2#,!6%+
ENTONCES
%SCRIBIRh,AINFORMACIØNSEENCUENTRAENELARCHIVOv
SINO
2EALIZARBÞSQUEDASECUENCIALENLOSREGISTROSSALTEADOSDELREGISTRO
4"
)n  ALREGISTRO4"
)n
2EPOSICIONARELPUNTERODELARCHIVO YAPLICARELALGORITMOPARA
EJECUTARLABÞSQUEDAELEMENTOPORELEMENTO
 [&INDELCONDICIONALDELPASO]
SINO[3I4"NOESMÞLTIPLODE. QUEDARONELEMENTOSSINREVISAR]
2EALIZARBÞSQUEDASECUENCIALENLOSREGISTROSCOMPRENDIDOSENTRE
4"
)n  Y.
 [&INDELCONDICIONALDELPASO]
 #Ò426&%"&95&3/" 425

%NESTEALGORITMOSELEEELÞLTIMOREGISTRODECADABLOQUE YDELACOMPARACIØNDEL
ELEMENTOBUSCADOCONÏLSEDECIDECØMOCONTINUARCONLABÞSQUEDA%LSIGUIENTEEJEM
PLOILUSTRAMEJORELFUNCIONAMIENTODEESTEALGORITMO

%JEMPLO 3EA&!UNARCHIVOORDENADODEREGISTROS,OSREGISTROSOCUPANPOSICIONESCONSECU
TIVASCONDIRECCIONESRELATIVASDELAL,ASCLAVESDELOSREGISTROSALMACENADOSEN
&!SON

               
   

$ADOQUESECONOCE. SECALCULAELTAMA×ODELBLOQUEDELASIGUIENTEMANERA

4"   

               
   

,ATABLAPRESENTAELSEGUIMIENTODELALGORITMOPARA+
%NLACOLUMNA2EGISTROLEÓDOAPARECEELÞLTIMOREGISTRODELBLOQUE PASOS Y
%NELPASO CUANDOSECUMPLELACONDICIØNDEQUE2#,!6%≥+ ENTONCESSECOMIEN
ZALABÞSQUEDASECUENCIALAPARTIRDELELEMENTO4"
)n  ˆELEMENTOˆ EN
ESTECASOEL HASTAQUESEENCUENTRAELVALORDESEADOˆÏXITOˆOHASTAELELEMENTO
4"
)n ˆELEMENTOˆ/BSERVEQUEENELPASOSEENCUENTRAELREGISTROBUSCADO

 "ÞSQUEDASECUENCIALCONÓNDICES
%LMÏTODODEBÞSQUEDASECUENCIALCONÓNDICESTRABAJACONBLOQUESYCONARCHIVOSDE
ÓNDICES%NELARCHIVODEÓNDICESSEALMACENANLASCLAVESQUEHACENREFERENCIAACADA
BLOQUEYLADIRECCIØNDELOSBLOQUESENELARCHIVO,ABÞSQUEDADEUNELEMENTOCOMIEN
ZA RECORRIENDO EL ARCHIVO DE ÓNDICES COMPARANDO LAS CLAVES ALLÓ ALMACENADAS CON LA
CLAVEDELELEMENTOENCUESTIØN5NAVEZQUESEDETERMINAELBLOQUEENELCUALSEPUEDE
ENCONTRAR EL REGISTRO BUSCADO SE CONTINÞA LA BÞSQUEDA AHORA RECORRIENDO SECUENCIAL
MENTEDICHOBLOQUE

4!",! 0ASO ) 2EGISTROLEÓDO #OMPARA "ANDERA


"ÞSQUEDASECUENCIALCON
BLOQUE    ≥ &

   ≥ &

   ≥ 6

  

  
426
>«‰ÌՏœÊ™Ê Ê Ê .c50%04%&#Ò426&%"

,ADESVENTAJADEESTEMÏTODOESQUEREQUIEREMÈSESPACIODEMEMORIA YAQUESE
TRABAJACONDOSARCHIVOSELPRINCIPAL ENELCUALSEALMACENANLOSREGISTROS YELDEÓN
DICES5NAFORMADEACELERARELPROCESODEBÞSQUEDACONSISTEENMANTENERENMEMORIA
PRINCIPALELARCHIVODEÓNDICES
%N LA lGURA  SE PRESENTA UN ESQUEMA DE UN ARCHIVO CON SU CORRESPONDIENTE
ARCHIVODEÓNDICES
%LARCHIVODEÓNDICESSERECORRESECUENCIALMENTEHASTAENCONTRARLACLAVEQUESEA
MAYOROIGUALALACLAVEBUSCADA#UANDOESTOÞLTIMOSUCEDA SETOMARÈLADIRECCIØNDEL
BLOQUEAPUNTADOPORDICHACLAVEYSEAPLICARÈBÞSQUEDASECUENCIALALGORITMO EN
DICHOBLOQUE

$ETERMINACIØNDELTAMA×ODELBLOQUE
%LTAMA×ODELBLOQUESEDEBEELEGIRDETALFORMAQUEPERMITAREDUCIRELNÞMERODECOM
PARACIONES3EA.ELNÞMERODEREGISTROSENELARCHIVOY4"ELTAMA×ODELBLOQUE,A
PROBABILIDADDEENCONTRARUNREGISTROENUNBLOQUEESIGUALPARATODOSLOSBLOQUESPOR
LOTANTO ELNÞMEROMEDIODEBLOQUESEXAMINADOSSERÈ

.  4"
¥  ´ .  4" 
¤ ¦§ I
 .  4" µ¶ 
I   

$ONDE.4" REPRESENTALAPROBABILIDADDEENCONTRARUNREGISTROENUNBLOQUE
#ONSIDERE ADEMÈS QUETODOSLOSREGISTROSTIENENLAMISMAPROBABILIDADDESERELBUS
CADOPORLOTANTO ELNÞMEROMEDIODEREGISTROSEXAMINADOSSERÈ

&)'52!
"ÞSQUEDASECUENCIALCON
ÓNDICES
 #Ò426&%"&95&3/" 427

4" 
¥  4" 
¤ § I
4" ´¶ 
I 


$ONDE4"ESLAPROBABILIDADDEQUEELREGISTROEXAMINADOSEAELBUSCADO
3ESUMANLASEXPRESIONESYPARAOBTENERELNÞMEROTOTALMEDIODECOMPARACIO
NES4# QUESEDEBENHACERPARAENCONTRARUNELEMENTOENELARCHIVO

 .  4"  4" 
4# 
 

/PERANDOSEOBTIENE
. 4" 
4# 

4" 

!LMINIMIZAR4#SEPODRÈDETERMINARCUÈLESELTAMA×OADECUADOPARADElNIRLOS
BLOQUESESDECIR ELPROBLEMASEREDUCEAENCONTRARUNVALORTALPARA4"QUEMINIMICE
ELVALORDE4#

D  4# .  

D  4"   4"  

3EIGUALAACEROLAEXPRESIØNYSEHACENLASOPERACIONES
.  .  
   
  4"    4" 

$ELAEXPRESIØNSEPUEDEAlRMARQUEELVALORDE4"QUEMINIMIZAA4#ES


4"  . &ØRMULA

,OSARCHIVOSDEÓNDICES POROTRAPARTE SEPUEDENDElNIRADISTINTOSNIVELESESDECIR


SEPUEDENDElNIRÓNDICESDEÓNDICES3IBIENESTETIPODEORGANIZACIØNOPTIMIZAELTIEMPO
DEBÞSQUEDA TIENEELINCONVENIENTEDEQUEOCUPAMUCHOESPACIODEALMACENAMIENTO

 "ÞSQUEDABINARIA
%LPRINCIPIOQUERIGEELMÏTODODEBÞSQUEDABINARIAENLABÞSQUEDAEXTERNAESELMIS
MOQUESEEXPLICØENBÞSQUEDABINARIAINTERNA SECCIØNDEESTECAPÓTULO%LARCHIVO
DEBEESTARORDENADOYSEDEBECONOCERSUNÞMERODEELEMENTOS. PARAAPLICARESTE
MÏTODO%LLECTORPUEDEDESARROLLARLOFÈCILMENTE YAQUECONOCEELMÏTODODEBÞSQUEDA
BINARIAENMEMORIAPRINCIPALˆINTERNAˆ
428
>«‰ÌՏœÊ™Ê Ê Ê .c50%04%&#Ò426&%"

#ABE DESTACAR QUE UN GRAN INCONVENIENTE DE LA BÞSQUEDA BINARIA EXTERNA ES QUE
REQUIERE ACCESOS A DIFERENTES POSICIONES DEL DISPOSITIVO PERIFÏRICO EN EL CUAL ESTÈ AL
MACENADOELARCHIVOELLOPRODUCEUNALTOCOSTOENTIEMPODEACCESO QUEHACEMUY
IMPRÈCTICAESTABÞSQUEDA

 "ÞSQUEDAPORTRANSFORMACIØNDECLAVESHASH
%LMÏTODODEBÞSQUEDAEXTERNAPORTRANSFORMACIØNDECLAVESTIENEBÈSICAMENTELAS
MISMASCARACTERÓSTICASQUEELPRESENTADOENLASECCIØN,OSARCHIVOSNORMALMENTE
SE ENCUENTRAN ORGANIZADOS EN ÈREAS LLAMADAS CUBETAS ²STAS SE ENCUENTRAN FORMADAS
PORCERO UNOOMÈSBLOQUESDEREGISTROS0ORLOTANTO LAFUNCIØNHASH APLICADAAUNA
CLAVE DARÈCOMORESULTADOUNVALORQUEHACEREFERENCIAAUNACUBETAENLACUALSEPUEDE
ENCONTRARELREGISTROBUSCADO
4ALCOMOSEMENCIONØENBÞSQUEDAINTERNA LAELECCIØNDEUNAADECUADAFUNCIØN
HASHYDEUNMÏTODOPARARESOLVERCOLISIONESESFUNDAMENTALPARALOGRARMAYORElCIEN
CIAENLABÞSQUEDA
!NTESDEPRESENTARALGUNASFUNCIONESHASHSEHARÈUNCOMENTARIOSOBRELASCOLISIO
NES,OSBLOQUESCONTIENENUNNÞMEROlJODEREGISTROS#ONRESPECTOALASCUBETAS NOSE
ESTABLECEUNLÓMITEENCUANTOALNÞMERODEBLOQUESQUEPUEDENALMACENAR%STACARAC
TERÓSTICAPERMITESOLUCIONAR ALMENOSPARCIALMENTE ELPROBLEMADELASCOLISIONES3IN
EMBARGO SIELTAMA×ODELASCUBETASCRECECONSIDERABLEMENTE SEPERDERÈNLASVENTAJAS
PROPIASDEESTEMÏTODO%SDECIR SIELNÞMERODEBLOQUESQUESEDEBENRECORRERENUNA
CUBETAESGRANDE ELTIEMPONECESARIOPARAELLOSERÈSIGNIlCATIVOPORLOTANTO YANOSE
CONTARÈCONLAVENTAJADELACCESODIRECTOQUECARACTERIZAALMÏTODOPORTRANSFORMACIØN
DECLAVES%NLAlGURASEPRESENTAUNAESTRUCTURADEARCHIVOORGANIZADOENCUBETAS
LASQUEASUVEZESTÈNFORMADASPORBLOQUES
#OMO SE MUESTRA EN LA lGURA  CADA CUBETA PUEDE TENER UN APUNTADOR A UN
BLOQUE3IUNACUBETATIENEDOSOMÈSBLOQUESSEESTABLECENLIGASENTREELLOS$ADALA
CLAVEDEUNREGISTROBUSCADO SEAPLICARÈUNAFUNCIØNHASH LACUALDARÈCOMORESULTADO
UNNÞMERODECUBETA5NAVEZLOCALIZADAÏSTA HABRÈQUERECORRERSUSBLOQUESHASTAEN
CONTRARELREGISTRO OLLEGARAUNBLOQUECONPUNTERONULO LOCUALINDICARÈQUENOEXISTEN
OTROSBLOQUES
%SIMPORTANTEELEGIRUNAFUNCIØNHASHQUEDISTRIBUYALASCLAVESENFORMAHOMOGÏ
NEAATRAVÏSDELASCUBETAS DEMANERAQUESEEVITELACONCENTRACIØNDENUMEROSASCLAVES

&)'52!
!RCHIVOORGANIZADOCON
CUBETASDEBLOQUES
 #Ò426&%"&95&3/" 429

ENUNACUBETAMIENTRASOTRASPERMANECENVACÓAS!CONTINUACIØNSEPRESENTANALGUNAS
DELASFUNCIONESHASHMÈSCOMUNES

&UNCIONESHASH
5NAFUNCIØNHASHSEPUEDEDElNIRCOMOUNATRANSFORMACIØNDECLAVEAUNADIRECCIØN!L
APLICARUNAFUNCIØNHASHAUNACLAVESEOBTIENEELNÞMERODECUBETAENLACUALSEPUEDE
ENCONTRARELREGISTROCONDICHACLAVE
,AFUNCIØNDEBETRANSFORMARLASCLAVESPARAQUELADIRECCIØNRESULTANTESEAUNNÞ
MEROCOMPRENDIDOENTRELOSPOSIBLESVALORESDELASCUBETAS0OREJEMPLO SISETIENEN
CUBETASNUMERADASDEA LASDIRECCIONESPRODUCIDASPORLAFUNCIØNDEBEN
SERVALORESCOMPRENDIDOSENTREY3ILASCLAVESFUERANALFABÏTICASOALFANUMÏ
RICAS PRIMERO DEBERÈN CONVERTIRSE EN NUMÏRICAS TRATANDO DE NO PERDER INFORMACIØN
PARALUEGOSERTRANSFORMADASENUNADIRECCIØN%SIMPORTANTEQUELAFUNCIØNDISTRIBUYA
HOMOGÏNEAMENTELASCLAVESENTRELOSNÞMEROSDECUBETASDISPONIBLES
,ASFUNCIONESMØDULO CUADRADO PLEGAMIENTOYTRUNCAMIENTOPRESENTADASANTERIOR
MENTEPARABÞSQUEDAINTERNASONVÈLIDASTAMBIÏNPARABÞSQUEDAEXTERNA/TRAFUNCIØN
QUESEPUEDEUTILIZARPARAELCÈLCULODEDIRECCIONESESLADECONVERSIØNDEBASES AUNQUE
NOPROPORCIONAMAYORHOMOGENEIDADENLADISTRIBUCIØN$ETODAS LAFUNCIØNMØDULOES
SINEMBARGO LAQUEOFRECEMAYORUNIFORMIDAD

#ONVERSIONESDEBASES
,ACONVERSIØNDEBASESCONSISTEENMODIlCARDEMANERAARBITRARIALABASEDELACLAVE
OBTENIENDOUNNÞMEROQUECORRESPONDAAUNACUBETA3IELNÞMERODEDÓGITOSDELVALOR
RESULTANTEEXCEDEELORDENDELASDIRECCIONES ENTONCESSESUPRIMIRÈNLOSDÓGITOSMÈS
SIGNIlCATIVOS

%JEMPLO 3UPONGAMOSQUESETIENENCUBETAS CADAUNADEELLASREFERENCIADAPORUNNÞMERO


ENTEROCOMPRENDIDOENTREY3EA+LACLAVEDELREGISTROQUESEBUSCA3E
ELIGEELCOMOBASEALACUALSECONVIERTELACLAVE

( DÓGMENSIG
 
 
 

( DÓGMENSIG 

3ETOMAENTONCESCOMODIRECCIØNELYLOSDÓGITOSMÈSSIGNIlCATIVOS Y SE


DESPRECIAN

 3OLUCIØNDECOLISIONES
#OMOSEMENCIONØANTERIORMENTECUANDOSETRATØBÞSQUEDAINTERNA UNODELOSASPECTOS
QUESIEMPRESEDEBENDECONSIDERARENELMÏTODOPORTRANSFORMACIØNDECLAVESESLASO
LUCIØNDECOLISIONES#UANDODOSOMÈSELEMENTOSCONDISTINTASCLAVESTIENENUNAMISMA
DIRECCIØN SEORIGINAUNACOLISIØN
0ARAEVITARLASCOLISIONESSEDEBEELEGIRUNTAMA×OADECUADODECUBETASYDEBLO
QUES#ONRESPECTOALASCUBETAS SISEDElNENMUYPEQUE×ASELNÞMERODECOLISIONES
430
>«‰ÌՏœÊ™Ê Ê Ê .c50%04%&#Ò426&%"

AUMENTA MIENTRASQUESISEDElNENMUYGRANDESSEPIERDEElCIENCIAENCUANTOAESPACIO
DEALMACENAMIENTO!DEMÈS SISENECESITARACOPIARUNACUBETAENMEMORIAPRINCIPALY
ÏSTAFUERAMUYGRANDE OCASIONARÓAPROBLEMASPORFALTADEESPACIO/TROINCONVENIENTE
QUESEPRESENTAENELCASODECUBETASMUYGRANDESESQUESEREQUIEREMUCHOTIEMPO
PARARECORRERLAS
#ONRESPECTOALTAMA×ODELOSBLOQUES ESIMPORTANTECONSIDERARLACAPACIDADDE
ÏSTOSPARAALMACENARREGISTROS5NBLOQUEPUEDEALMACENARUNO DOSOMÈSREGISTROS
.ORMALMENTELOSTAMA×OSDELASCUBETASYLOSBLOQUESDEPENDENDELASCAPACIDADESDEL
EQUIPOCONELQUESEESTÏTRABAJANDO
#ABEDESTACARQUEUTILIZANDOUNAESTRUCTURACOMOLADELAlGURANOSETENDRÓA
PROBLEMASDECOLISIONES DEBIDOPRINCIPALMENTEAQUEPORMÈSQUELACUBETAESTÏOCU
PADA ESPOSIBLESEGUIRENLAZANDOTANTOSBLOQUESCOMOFUERANNECESARIOS%STEESQUEMA
DESOLUCIØNSECORRESPONDECONELPRESENTADOENBÞSQUEDAINTERNA BAJOELNOMBREDE
ENCADENAMIENTO3INEMBARGO NOSIEMPREESPOSIBLEDElNIRUNAESTRUCTURADEESTETIPO
#ONSIDERE POREJEMPLO UNARCHIVOORGANIZADOENCUBETASCOMOELQUESEMUESTRAEN
LAlGURA
%NESTEARCHIVOCADACUBETATIENEUNBLOQUEY PORLOTANTO UNACAPACIDADMÈXIMA
DETERMINADAPORELTAMA×ODELBLOQUEASOCIADOCONELLA5NAVEZQUESESATURALACAPA
CIDADDELACUBETA CUALQUIERREGISTROASIGNADOAELLAPRODUCIRÈUNACOLISIØN!CONTINUA
CIØNSEANALIZARÈNDOSMANERASDIFERENTESDEENFRENTARESTASITUACIØN

&)'52!
3OLUCIØNDECOLISIONES
 #Ò426&%"&95&3/" 431

5SODEÉREASINDEPENDIENTESPARACOLISIONES
%L USO DE ÈREAS INDEPENDIENTES PARA COLISIONES CONSISTE EN DElNIR ÈREAS SEPARADAS
ˆSECUNDARIASˆDELASÈREASPRIMARIASDEALMACENAMIENTO ENLASQUESEALMACENARÈN
TODOSLOSREGISTROSQUEHAYANCOLISIONADO%LÈREADECOLISIONESPUEDEESTARORGANIZADA
DEDIFERENTESMANERAS5NAALTERNATIVACONSISTEENTENERELÈREACOMÞNATODASLASCU
BETAS%NCONSECUENCIA SISEPRODUCEUNACOLISIØNHABRÈQUEBUSCARALOLARGODELÈREA
SECUNDARIAHASTAENCONTRARELELEMENTODESEADO SEGÞNLAlGURA
/TRAFORMADEORGANIZARELÈREADECOLISIONESCONSISTEENDIVIDIRLAENBLOQUES ASO
CIANDOCADAUNODEELLOSAUNODELÈREAPRIMARIA%STAALTERNATIVAOPTIMIZAELTIEMPO
DEBÞSQUEDAENELÈREADECOLISIONES PEROTIENEELINCONVENIENTEDEQUEESTOSBLOQUES
PODRÓAN ASUVEZ SATURARSE OCASIONANDONUEVAMENTECOLISIONES%LESQUEMACORRESPON
DIENTEAESTAESTRUCTURASEMUESTRAENLAlGURA

&)'52!
3OLUCIØNDECOLISIONESMEDIANTEUNÉREACOMÞNDECOLISIONES
432
>«‰ÌՏœÊ™Ê Ê Ê .c50%04%&#Ò426&%"

&)'52!
3OLUCIØNDECOLISIONESMEDIANTEUNÉREADECOLISIONESORGANIZADAENBLOQUES

5SODEÉREASDECOLISIONESENTRELOSBLOQUES
DEALMACENAMIENTOPRIMARIO
%LUSODEÈREASDECOLISIONESENTRELOSBLOQUESDEALMACENAMIENTOPRIMARIOCON
SISTEENDElNIRÈREASDECOLISIONESENTRELOSBLOQUESDEALMACENAMIENTOPRIMARIO%STE
MÏTODOESSIMILARALPRESENTADOENBÞSQUEDAINTERNABAJOELNOMBREDEREASIGNACIØN
5NAVEZDETECTADAUNACOLISIØNENUNBLOQUESEDEBEBUSCARENELÈREADECOLISIONESIN
MEDIATAADICHOBLOQUE3IELELEMENTONOSEENCUENTRAYELÈREADECOLISIONESESTÈLLENA
SECONTINUARÈLABÞSQUEDAATRAVÏSDELASOTRASÈREASDECOLISIONES%LPROCESOTERMINA
CUANDOELELEMENTOSEENCUENTRAOBIENCUANDOEXISTENESPACIOSVACÓOSENUNBLOQUE
ˆELELEMENTOBUSCADONOSEENCUENTRAENELARCHIVOˆ%LESQUEMACORRESPONDIENTEA
ESTEESQUEMASEMUESTRAENLAlGURA
 #Ò426&%"&95&3/" 433

&)'52!
3OLUCIØNDECOLISIONES
MEDIANTEBLOQUESPARAÊ
COLISIONESENTRELOSBLOQUES
PRIMARIOS

 (ASHINGDINÉMICOBÞSQUEDADINÉMICA
PORTRANSFORMACIØNDECLAVES
,APRINCIPALCARACTERÓSTICADELHASHINGDINÈMICOESSUDINAMISMOPARAVARIARELNÞ
MERODECUBETASENFUNCIØNDESUDENSIDADDEOCUPACIØN3ECOMIENZAATRABAJARCON
UNNÞMERODETERMINADODECUBETAS YAMEDIDAQUEÏSTASSEVANLLENANDOSEASIGNAN
NUEVASCUBETASALARCHIVO%XISTENBÈSICAMENTEDOSFORMASDETRABAJARCONELHASHING
DINÈMICO

◗ 0ORMEDIODEEXPANSIONESTOTALES
◗ 0ORMEDIODEEXPANSIONESPARCIALES

 -ÏTODODELASEXPANSIONESTOTALES
%LMÏTODODEEXPANSIONESTOTALESESPROBABLEMENTEELMÈSUTILIZADO#ONSISTEENDU
PLICARELNÞMERODECUBETASENLAMEDIDAENQUEÏSTASSUPERANLADENSIDADDEOCUPACIØN
PREVIAMENTEESTABLECIDA!SÓ POREJEMPLO SIELNÞMEROINICIALDECUBETASES.YSEHACE
UNA EXPANSIØNTOTAL ELVALORRESULTANTEˆNUEVONÞMERODECUBETASˆSERÈ.3ISE
HACEUNASEGUNDAEXPANSIØNTOTAL SETENDRÈ. YASÓSUCESIVAMENTE
%LDINAMISMODEESTEMÏTODOTAMBIÏNSEDAENSENTIDOCONTRARIOESDECIR QUEA
MEDIDAQUELADENSIDADDEOCUPACIØNDELASCUBETASDISMINUYE SEREDUCEELNÞMERODE
ÏSTAS!SÓ SEGANAmEXIBILIDADENCUANTOAQUESEPUEDENINCREMENTARLOSESPACIOSDEAL
MACENAMIENTO PEROTAMBIÏNSEPUEDENREDUCIRSILADEMANDADEESPACIOASÓLOINDICA

%JEMPLO 3UPONGAMOSQUESETIENEUNARCHIVOORGANIZADOENDOSCUBETAS. YSEHAlJADO


UNADENSIDADDEOCUPACIØNDE,ADENSIDADDEOCUPACIØNSECALCULACOMOELCO
CIENTEENTREELNÞMERODEREGISTROSOCUPADOSYELDEREGISTROSDISPONIBLES#ADACUBETA
TIENEDOSREGISTROS YLAFUNCIØNHASHQUETRANSFORMACLAVESENDIRECCIONESSEDElNEDE
LASIGUIENTEMANERA

(CLAVE CLAVE-/$.ÞMERODECUBETAS
434
>«‰ÌՏœÊ™Ê Ê Ê .c50%04%&#Ò426&%"

&)'52!
(ASHDINÉMICO. 
EXPANSIØNTOTAL

,OSVALORES  YSONLASCLAVESDELOSREGISTROSQUESEDESEAALMACENAR


)NICIALMENTEELARCHIVOESTÈVACÓO%NLAlGURASEPRESENTAUNESQUEMADECØMO
QUEDANLASCUBETAS DESPUÏSDEINSERTARLASTRESPRIMERASCLAVES
#UANDOSEQUIEREINSERTARLACLAVE SESUPERALADENSIDADDEOCUPACIØNESTABLECI
DA YAQUESEALCANZARÓADELLENADO0ORLOTANTO SEDEBENEXPANDIRYREASIGNARLOS
REGISTROSCONSIDERANDOAHORAQUEELNÞMERODECUBETASESIGUALA
. lGURA
3UPONGAMOSAHORAQUESEDESEAINCORPORARLOSREGISTROSCONCLAVES   
   YENESTEORDEN%LRESULTADO DESPUÏSDEINSERTARLASDOSPRIMERAS
CLAVES SEPUEDEOBSERVARENLAlGURA
#UANDOSEINSERTAELREGISTROCONCLAVE LADENSIDADDEOCUPACIØNSUPERAEL
lJADO3EVUELVEN ENTONCES AEXPANDIRYAREASIGNARLOSREGISTROSALMACENADOSlGURA
A YLUEGOSECONTINÞACONLAINSERCIØNDELRESTODELOSELEMENTOS,AlGURAB
PRESENTAELESTADODELASCUBETASLUEGODEREALIZARTODASLASINSERCIONES EXCEPTOLAÞL
TIMA
#UANDOSEINSERTALAÞLTIMACLAVE  SESUPERANUEVAMENTELADENSIDADDEOCUPA
CIØNYHAYQUEVOLVERAEXPANDIRLASCUBETAS0ORLOTANTO AHORA.SERÈIGUALAlGURA
 
%SIMPORTANTESE×ALARQUEENESTEMÏTODOTAMBIÏNSEPUEDENPRODUCIRCOLISIONES
LASCUALESPODRÓANTRATARSESEGÞNALGUNODELOSESQUEMASPROPUESTOSANTERIORMENTE0OR
EJEMPLO SIENELCASOANTERIORlGURA LUEGODEINSERTARLOSREGISTROSCONCLAVES
YSETRATARADEAGREGARELREGISTROCONCLAVE SEPRODUCIRÓAUNACOLISIØN YAQUE
LACUBETAESTÈLLENA

%JEMPLO $ADOUNARCHIVOORGANIZADOENDOSCUBETAS. DONDECADAUNADEELLASTIENETRES


REGISTROS SEQUIEREALMACENARLASSIGUIENTESCLAVES

               Y

3EHAESTABLECIDOUNADENSIDADDEOCUPACIØNMAYORAPARAEXPANSIØNYMENOR
APARAREDUCCIØN%SIMPORTANTEREMARCARQUEELPORCENTAJEDEOCUPACIØN PARAEL

&)'52!
(ASHDINÉMICO. 
EXPANSIØNTOTAL
 #Ò426&%"&95&3/" 435

&)'52!
(ASHDINÉMICO. 
EXPANSIØNTOTAL
A ,UEGODEINSERTAR
B ,UEGODEINSERTAR

CASODEREDUCCIØN SECALCULACOMOELCOCIENTEENTREELNÞMERODEREGISTROSOCUPADOSY
ELNÞMERODECUBETAS
!CONTINUACIØNSEPRESENTALAFUNCIØNHASHQUESEUTILIZA

(CLAVE CLAVE-/$.ÞMERODECUBETAS

,ASCLAVESSEALMACENANENELORDENENQUESEDAN,AREPRESENTACIØNlNALSEPUEDE
OBSERVARENLAlGURA
%NELSIGUIENTEEJEMPLOSEACLARAELCONCEPTODEREDUCCIØNDELNÞMERODECUBETAS
ENELMÏTODODINÈMICOPORTRANSFORMACIØNDECLAVES CONEXPANSIONESTOTALES

&)'52!
(ASHDINÉMICO. EXPANSIØNTOTALA ,UEGODEINSERTAR
B ,UEGODEINSERTAR
436
>«‰ÌՏœÊ™Ê Ê Ê .c50%04%&#Ò426&%"

&)'52!
(ASHDINÉMICO. 
EXPANSIØNTOTAL

%JEMPLO 3UPONGAMOSQUESETIENEELARCHIVOENELESTADOQUEMUESTRALAlGURA3EDESEAN
ELIMINARAHORALOSREGISTROSCONCLAVES

     Y

!L ELIMINAR EL REGISTRO CON CLAVE  LA DENSIDAD DE OCUPACIØN DISMINUYE DE TAL
MANERAQUEPERMITEREDUCIRELNÞMERODECUBETAS. ,UEGODELAREDUCCIØNYDELA
REASIGNACIØNDEREGISTROS LASCUBETASQUEDANCOMOSEMUESTRAENLAlGURA
5NAVEZELIMINADOSLOSOTROSREGISTROS LADENSIDADDEOCUPACIØNPERMITEREDUCIR
NUEVAMENTEELNÞMERODECUBETAS%NLAlGURASEPRESENTASUESTADOLUEGODELA
REDUCCIØNDE.YDELAREASIGNACIØNDELOSREGISTROS

%JEMPLO $ADOELARCHIVODELAlGURAYLASESPECIlCACIONESDADASENELEJEMPLO ELIMI


NELASSIGUIENTESCLAVES

&)'52!
(ASHDINÉMICO. 
EXPANSIØNTOTAL
 #Ò426&%"&95&3/" 437

&)'52!
(ASHDINÉMICO. 
REDUCCIØN       Y

YVERIlQUEQUEELESQUEMAlNAL LUEGODEREALIZARLASELIMINACIONES QUEDEIGUALALDE


LAlGURA

 -ÏTODODELASEXPANSIONESPARCIALES
%LMÏTODODELASEXPANSIONESPARCIALESCONSISTEENINCREMENTARENELNÞMERODE
CUBETAS HACIENDODEESTAFORMAQUEDOSEXPANSIONESPARCIALESEQUIVALGANAUNATOTAL
!SÓ POREJEMPLO SIELNÞMEROINICIALDECUBETASES. YSEHACEUNAEXPANSIØNPARCIAL
ELVALORRESULTANTESERÈ.3ISEHACENOTRASEXPANSIONESPARCIALESSETENDRÈ. LUEGO
. YASÓSUCESIVAMENTE

!CONTINUACIØNSEPRESENTAUNEJEMPLODEHASHDINÈMICOCONEXPANSIONESPAR
CIALES

&)'52!
(ASHDINÉMICO. 
REDUCCIØN
438
>«‰ÌՏœÊ™Ê Ê Ê .c50%04%&#Ò426&%"

&)'52!
(ASHDINÉMICO. 
REDUCCIØN

%JEMPLO 2ETOME EL EJEMPLO  3UPONGAMOS QUE HASTA EL MOMENTO SE HAN ALMACENADO LOS
REGISTROSCONCLAVES Y#UANDOSEQUIEREINSERTARELREGISTROCONCLAVE EL
NÞMERODEREGISTROSSUPERAELMÈXIMOPERMITIDOYAQUELADENSIDADDEOCUPACIØNSUPE
RAPORTALRAZØNSEREALIZAUNAEXPANSIØNPARCIAL,AlGURAMUESTRAELESTADO
DELASCUBETASLUEGODEEXPANDIRYREASIGNARLOSREGISTROS
/BSERVEQUEENESTECASOELVALORDE.NOFUEMUYADECUADOPARADISTRIBUIRUNI
FORMEMENTELOSREGISTROSATRAVÏSDELASCUBETAS%NLACUBETASETIENEUNACOLISIØN
MIENTRASQUELACUBETAPERMANECEVACÓA
3UPONGAMOSAHORAQUESEDESEAINCORPORARLOSREGISTROSCONCLAVES

      Y

!LINSERTARELREGISTROCONCLAVESESUPERALADENSIDADDEOCUPACIØN PORLOQUE
SEDEBENEXPANDIRNUEVAMENTELASCUBETASYREASIGNARLOSREGISTROS3EINSERTAACONTI
NUACIØNELREGISTROCONCLAVE COMOSEVEENLAlGURA
!LINSERTARELREGISTROCONCLAVE OTRAVEZSESUPERAELPORCENTAJEDEOCUPACIØN
PERMITIDO3EVUELVENAEXPANDIRLASCUBETASYAREASIGNARLOSREGISTROS%LRESULTADO
lNAL LUEGODEINSERTARTODASLASCLAVES SEMUESTRAENLAlGURA

%JEMPLO $ADOUNARCHIVOORGANIZADOENDOSCUBETAS. DONDECADACUBETATIENETRESREGIS


TROS SEQUIEREALMACENARLASSIGUIENTESCLAVES

                
 Y

0ARAESTEEJEMPLOSEHAESTABLECIDOUNADENSIDADDEOCUPACIØNMAYORAPARA
EXPANSIØNYMENORAPARAREDUCCIØN!CONTINUACIØNSEPRESENTALAFUNCIØNHASH
QUESEUTILIZA

(CLAVE CLAVE-/$.ÞMERODECUBETAS

&)'52!
(ASHDINÉMICO. 
REDUCCIØN
 #Ò426&%"&95&3/" 439

&)'52!
(ASHDINÉMICO. 
EXPANSIØNPARCIAL

/BSERVESILAESTRUCTURAQUEOBTIENEESIGUALALAQUESEPRESENTAENLAlGURA
!CONTINUACIØNSEPRESENTAUNEJEMPLOPARAILUSTRARLAREDUCCIØNDELNÞMERODECU
BETASENELMÏTODODINÈMICOPORTRANSFORMACIØNDECLAVES CONEXPANSIONESPARCIALES

%JEMPLO 3UPONGAMOSQUESETIENEUNARCHIVOENELESTADOQUEMUESTRALAlGURAB%LIMINE
LOSREGISTROSCONCLAVES

 Y

YVERIlQUESILASCUBETASYREGISTROSQUEDANIGUALALAGRÈlCAQUESEMUESTRAENLAlGURA


%JEMPLO $ADOELARCHIVODELAlGURAYLASESPECIlCACIONESDADASENELEJEMPLO ELIMI


NELASSIGUIENTESCLAVES

      Y

6ERIlQUESIELESQUEMAlNALQUEOBTIENEESIGUALALDELAlGURA
&INALMENTE ESIMPORTANTESE×ALARQUEELTAMA×ODELASCUBETASSEDEBEESTABLECER
DEACUERDOCONELPROBLEMAQUEESTÏINTENTANDORESOLVER%NLOSEJEMPLOSPRESENTADOS
SEHANCONSIDERADOINICIALMENTEDOSREGISTROSPORCUBETA3INEMBARGO ESTENÞMEROES
PARAQUEELLECTOROBSERVEELFUNCIONAMIENTODELOSMÏTODOSALREALIZAREXPANSIONESY
REDUCCIONES3IELNÞMERODEREGISTROSQUEUTILIZÈRAMOSFUERAGRANDE ENTONCESHABRÓA
QUEINGRESARGRANCANTIDADDENÞMEROSPARAOBSERVARLAEXPANSIØNDECUBETAS
)NDUDABLEMENTE ENLAPRÈCTICASEDEBECONSIDERARUNNÞMEROMUCHOMÈSGRANDEDE
REGISTROSPORCUBETA%LNÞMERODEPENDERÈPRINCIPALMENTEDELTAMA×ODECADAREGISTRO
DETALFORMAQUEUNACUBETASEPUEDACARGARENLAMEMORIAPRINCIPAL%NAPLICACIONES
GRANDES ELNÞMERODEREGISTROSPORCUBETAPODRÓAVARIARDEA3IELNÞMERODE
REGISTROSPORCUBETAESPEQUE×OYENFORMACONTINUASEREALIZANINSERCIONESYELIMI
NACIONES ENTONCESPODRÓAOCURRIRQUEFRECUENTEMENTESEDEBANREALIZAREXPANSIONESO
REDUCCIONES CONLACONSABIDAPÏRDIDADETIEMPOYALTOCOSTO PORLAREASIGNACIØNDELOS
REGISTROS%SELUSUARIOQUIENDEBEDElNIRENTONCESELNÞMERODEREGISTROSPORCUBETA
DEPENDIENDODELPROBLEMAYDELASACTUALIZACIONESQUESEREALICEN
440
>«‰ÌՏœÊ™Ê Ê Ê .c50%04%&#Ò426&%"

&)'52!
(ASHDINÉMICOEXPANSIØN
PARCIALA ,UEGODEEXPAN
DIREINSERTARLOSREGISTROS
CONCLAVES Y
B ,UEGODEEXPANDIRE
INSERTARLOSREGISTROSCON
CLAVES Y

 ,ISTASINVERTIDAS
,ASLISTASINVERTIDASTRABAJANSOBREALGUNOSDELOSATRIBUTOSˆCAMPOSˆDELOSREGIS
TROS,OSATRIBUTOSPUEDENESTARONOINVERTIDOSESDECIR PUEDENSERONOCAMPOSCLA
VE ,OS ATRIBUTOS INVERTIDOS GENERAN LISTAS ORDENADAS DE REGISTROS LO CUAL FACILITA LAS
BÞSQUEDASQUESEHAGANENELLAS,OSATRIBUTOSNOINVERTIDOSGENERANELUNIVERSO OSEA
PARAENCONTRARUNDETERMINADOELEMENTOˆREGISTROˆ SEDEBERÈREALIZARUNABÞSQUEDA
SECUENCIAL
 #Ò426&%"&95&3/" 441

&)'52!
(ASHDINÉMICO. EXPANSIØNPARCIAL

,ASLISTASINVERTIDASSONMUYRECOMENDABLESCUANDOSETRABAJASOBRECOMBINACIO
NESDECAMPOSCLAVE#UANDOSEREQUIEREUNACOMBINACIØNDEATRIBUTOSENLABÞSQUEDA
ESTEMÏTODORESULTAMUYCONVENIENTE YAQUECONUNASECUENCIAØPTIMADEOPERADORES
!.$Y/2LABÞSQUEDASEPUEDELLEVARACABODEFORMAElCIENTE
,ADESVENTAJADELMÏTODOESQUEREQUIEREDEUNAESTRUCTURAMUYCOMPLICADAPARA
OPERAR"ÈSICAMENTETRABAJASOBREÈRBOLES" CONPRElJO!NALICEMOSACONTINUACIØNUN
EJEMPLO

%JEMPLO 3UPONGAMOSQUESETIENEUNARCHIVOENELCUALCADAREGISTROALMACENALASIGUIENTEIN
FORMACIØN

.OMBRE 0ROFESIØN %DAD

3ETIENENLOSDATOSDESEISPERSONAS

*UAN MATEMÈTICO 
$ANIEL FÓSICO 
*OSÏ MATEMÈTICO 

&)'52!
(ASHDINÉMICO. REDUCCIØN
442
>«‰ÌՏœÊ™Ê Ê Ê .c50%04%&#Ò426&%"

&)'52!
(ASHDINÉMICO. 
REDUCCIØN

0ASCUAL INGENIERO 
-IGUEL INGENIERO 
&ELIPE ABOGADO 

#ONSIDERANDOQUELOSATRIBUTOSPROFESIØNYEDADESTÈNINVERTIDOS ACONTINUACIØNSE
PRESENTANALGUNASOPERACIONESDEBÞSQUEDACONSUSCORRESPONDIENTESRESULTADOS PARA
QUEELLECTOROBSERVEELFUNCIONAMIENTODELMÏTODO

A ,ISTADEPERSONASPORPROFESIØN

MATEMÈTICOS [*UAN *OSÏ]


FÓSICOS [$ANIEL]
INGENIEROS [0ASCUAL -IGUEL]
ABOGADOS [&ELIPE]

B ,ISTADETODASLASPERSONASCONPROFESIØNMATEMÈTICOOFÓSICO YCONMÈSDEA×OS
DEEDAD

PROFESIØNMATEMÈTICO /2PROFESIØNFÓSICO !.$EDAD

,ALISTAFORMADASEGÞNELATRIBUTOPROFESIØNES

[*UAN *OSÏ $ANIEL]

3OBREESTALISTASEAPLICARÈLASEGUNDACONDICIØNPLANTEADAENLABÞSQUEDA DELO
QUERESULTA

[*UAN $ANIEL]

C ,ISTADETODOSLOSINGENIEROSMENORESDEA×OSYMAYORESDE

PROFESIØNINGENIERO !.$EDAD !.$EDAD

,ALISTAFORMADASEGÞNELATRIBUTOPROFESIØNES

[0ASCUAL -IGUEL]
 #Ò426&%"&95&3/" 443

!PARTIRDEESTALISTA SEBUSCARÈNLOSREGISTROSQUECUMPLANCONLASCONDICIONES
IMPUESTASSOBREELATRIBUTOEDAD,ALISTARESULTANTESERÈ

[-IGUEL]

#ONSIDERANDOQUESOLAMENTEELATRIBUTOPROFESIØNESTÈINVERTIDO SEPRESENTANALGU
NASOPERACIONESDEBÞSQUEDACONSUSCORRESPONDIENTESRESULTADOS

A ,ISTADETODASLASPERSONASCONPROFESIØNMATEMÈTICOOFÓSICO YCONMÈSDEA×OS
DEEDAD

PROFESIØN  MATEMÈTICO /2 PROFESIØN  FÓSICO Y BÞSQUEDA SECUENCIAL EN LA


LISTADELOSREGISTROSMARCADOSPARALOCALIZARAQUELLOSCONEDAD

[*UAN *OSÏ $ANIEL]YSOBREESTALISTAUNABÞSQUEDASECUENCIALPARAENCONTRARALOS


INDIVIDUOSMAYORESDEA×OS

B ,ISTADETODOSLOSINGENIEROSMENORESDEA×OSYMAYORESDE

PROFESIØNINGENIERO YBÞSQUEDASECUENCIALENLALISTADELOSREGISTROSMARCADOS
PARALOCALIZARAQUELLOSCONEDADYEDAD

[0ASCUAL -IGUEL]YBÞSQUEDASECUENCIALSOBREESTALISTAPARAENCONTRARALOSINDI
VIDUOSMENORESDEYMAYORESDE

C ,ISTADETODOSLOSABOGADOSMAYORESDEA×OS

PROFESIØNABOGADO YBÞSQUEDASECUENCIALENLALISTADELOSREGISTROSMARCADOS
PARALOCALIZARAAQUELLOSCONEDAD

[&ELIPE]YBÞSQUEDASECUENCIALSOBREESTALISTAPARAENCONTRARALOSINDIVIDUOSMA
YORESDEA×OS

%NESTECASOLASOLUCIØNESLALISTAVACÓA.OHAYNINGÞNREGISTROQUETENGALOSATRI
BUTOSPEDIDOS

%JEMPLO ,A$IRECCIØN'ENERALDE2ECLUSORIOSHADECIDIDOCREARUNABASEDEDATOSCONINFORMA
CIØNSOBRESUSPRESOS%LESQUEMAQUESECONSIDERAESELSIGUIENTE

NOMBRE?REO CLAVE?REO EDAD ESCOLARIDAD COD?DELITO NACIONALIDAD

,AESCOLARIDADESTÈCODIlCADACOMO

 !NALFABETO
 0RIMARIA
 3ECUNDARIA
444
>«‰ÌՏœÊ™Ê Ê Ê .c50%04%&#Ò426&%"

 0REPARATORIA
 5NIVERSIDAD
 0OSGRADO

,OSCØDIGOSDEDELITOCOD?DELITO ESTÈNCODIlCADOSCOMO

 $ELITOCONTRALASALUD
 2OBOCONARMADEFUEGO
 !COSOSEXUAL
 /TROS

#ONSIDERANDOQUELOSATRIBUTOSESCOLARIDADYCOD?DELITOESTÈNINVERTIDOS SEPRE
SENTANALGUNASOPERACIONESDEBÞSQUEDACONSUSCORRESPONDIENTESRESULTADOS

A ,OSRECLUSOSANALFABETOSCONMENOSDEA×OSDEEDAD

ESCOLARIDAD YBÞSQUEDASECUENCIALENLALISTADELOSREGISTROSMARCADOSPARA
LOCALIZARAAQUELLOSCONEDAD

B ,OSRECLUSOSCONPOSGRADO CUYAEDADESTÈCOMPRENDIDAENTREYA×OS YQUE


COMETIERONELDELITOCALIlCADOCOMOACOSOSEXUAL

ESCOLARIDAD !.$COD?DELITO YBÞSQUEDASECUENCIALENLALISTADELOS


REGISTROSMARCADOSPARALOCALIZARAAQUELLOSCUYAEDADESTÈCOMPRENDIDAENTREY
A×OSDEEDAD

C ,OSREOSESTADOUNIDENSES

BÞSQUEDASECUENCIALENTODOELARCHIVOPARALOCALIZARALOSREOSDENACIONALIDAD
ESTADOUNIDENSE

D ,OSREOSQUECOMETIERONROBOCONARMADEFUEGO MENORESDEA×OS OLOSQUE


COMETIERONDELITOCONTRALASALUD MENORESDEA×OS

COD?DELITO YBÞSQUEDASECUENCIALENLALISTADELOSREGISTROSMARCADOSPARA
LOCALIZAREDAD /2COD?DELITO YBÞSQUEDASECUENCIALENLALISTADELOS
REGISTROSMARCADOSPARALOCALIZAREDAD 

3EHAMENCIONADOQUELASLISTASGENERADASPORATRIBUTOSINVERTIDOSESTÈNORDENADAS
PORLOTANTO ELTIEMPODEPROCESAMIENTOESTÈDETERMINADOPORLALISTADEMAYORTAMA×O
5NASECUENCIAADECUADADEOPERADORES!.$Y/2PUEDEAYUDARADISMINUIRELTIEMPO
DEPROCESAMIENTO!NALICEMOSELSIGUIENTEEJEMPLO

%JEMPLO 3UPONGAMOSQUESETIENENLASLISTAS, ,Y,DE YELEMENTOS RESPECTI


VAMENTE3ISENECESITARAUNIRLASTRESLISTAS ELORDENENELCUALSEHICIERALAUNIØNSERÓA
DETERMINANTEENCUANTOALNÞMEROTOTALDEELEMENTOSCONLOSCUALESSETRABAJA
 #Ò426&%"&95&3/" 445

 ,∪, ∪,  ∪,


   

 ,∪, ∪,  ∪,


   

 ,∪, ∪,  ∪,


   

%SFÈCILOBSERVARQUELAMEJORSECUENCIAESLATERCERAYELRESULTADOESYQUE
LAPEORSECUENCIAESLASEGUNDAYELRESULTADOES

%JEMPLO 3EAN! " #Y$LISTASDE  YELEMENTOS RESPECTIVAMENTE3ISENECESI


TARASUUNIØN ALGUNASDELASDISTINTASSECUENCIASQUESETENDRÓANSON

 !∪" ∪# ∪$  ∪# ∪$


   ∪$
  


 "∪# ∪! ∪$  ∪! ∪"


   ∪"
  


 !∪$ ∪" ∪#  ∪" ∪#


   ∪#
  


 !∪$ ∪# ∪"   ∪# ∪"


   ∪"
 


#ON LOS EJEMPLOS QUEDA DEMOSTRADO CØMO INmUYE EL TAMA×O DE LAS LISTAS EN EL
NÞMEROTOTALDEELEMENTOSAPROCESAR%SPOSIBLECONCLUIR ENTONCES QUERESULTAMUCHO
MÈSElCIENTEDEJARLASLISTASDEMAYORTAMA×OPARAUNIRLASALlNAL

 -ULTILISTAS
%LMÏTODODEBÞSQUEDAMULTILISTASPERMITEACCEDERALAINFORMACIØNQUESEENCUENTRA
ORDENADAUTILIZANDOCAMPOSCLAVE!UNREGISTROSEPUEDELLEGARPORDIFERENTESCAMINOS
#ADACAMINOSEESTABLECEENFUNCIØNDELCAMPOCLAVESOBREELCUALSEHAGALABÞSQUEDA
446
>«‰ÌՏœÊ™Ê Ê Ê .c50%04%&#Ò426&%"

,AFORMAMÈSElCIENTEDEREPRESENTARMULTILISTASESUTILIZANDOLISTAS!CONTINUACIØNSE
PRESENTAUNEJEMPLODEESTEMÏTODO

%JEMPLO 3UPONGAMOSQUESETIENEUNARCHIVOENELCUALCADAREGISTROALMACENALASIGUIENTEIN
FORMACIØN

.OMBRE 0ROFESIØN #ATEGORÓA

*UAN MATEMÈTICO 
$ANIEL FÓSICO 
*OSÏ MATEMÈTICO 
0ASCUAL INGENIERO 
-IGUEL INGENIERO 
&ELIPE ABOGADO 

,AlGURAREPRESENTALASMULTILISTASCORRESPONDIENTESALOSDATOSDADOS%NESTE
CASO LAINFORMACIØNDECADAINDIVIDUOPUEDESERACCESADAPORMEDIODESUPROFESIØNY
DESUCATEGORÓA QUESONJUSTAMENTELOSATRIBUTOSQUEPERMITENREALIZARBÞSQUEDADIRECTA
ENELARCHIVO#OMOSEPUEDEOBSERVARENLASIGUIENTElGURA SETIENEUNALISTAPORPRO
FESIØNYOTRAPORCATEGORÓA
%NGENERAL LASMULTILISTASSONRECOMENDABLESCUANDOLABÞSQUEDASEHACESOBRE
UNSOLOATRIBUTO%NCASODENECESITARSEUNACOMBINACIØNDEATRIBUTOSESPREFERIBLEUSAR
LISTASINVERTIDAS
 #Ò426&%"&95&3/" 447

&)'52!
-ULTILISTAS
448
>«‰ÌՏœÊ™Ê Ê Ê .c50%04%&#Ò426&%"

▼ %*%2#)#)/3
"ÞSQUEDAINTERNA
Ê £° %SCRIBA UN PROGRAMA PARA BÞSQUEDA SECUENCIAL EN UN ARREGLO DESORDENADO QUE
OBTENGATODASLASOCURRENCIASDEUNDATODADO

Ê Ó° $ADOUNARREGLOQUECONTIENELOSNOMBRESDE.ALUMNOSORDENADOSALFABÏTICAMEN
TE ESCRIBAUNPROGRAMAQUEENCUENTREUNNOMBREDADOENELARREGLO3ILOENCUENTRA
DEBEDARCOMORESULTADOLAPOSICIØNENLAQUELOENCONTRØ%NCASOCONTRARIO DEBE
ENVIARUNMENSAJEADECUADO

Ê Î° $ADOUNARREGLODE.COMPONENTESQUECONTIENENLASIGUIENTEINFORMACIØN

◗ .OMBREDELALUMNO
◗ 0ROMEDIO
◗ .ÞMERODEMATERIASAPROBADAS

%SCRIBAUNPROGRAMAQUELEAELNOMBREDEUNALUMNOYOBTENGACOMORESULTADOEL
PROMEDIOYELNÞMERODEMATERIASAPROBADASPORDICHOALUMNO3IELNOMBREDADO
NOESTÈENELARREGLO ENVÓEUNMENSAJEADECUADO

A #ONSIDEREQUEELARREGLOESTÈDESORDENADO
B #ONSIDEREQUEELARREGLOESTÈORDENADO

Ê {° %SCRIBAUNPROGRAMAPARABÞSQUEDASECUENCIALENARREGLOSORDENADOSDEMANERA
DESCENDENTE

Ê x° %SCRIBAUNPROGRAMAPARABÞSQUEDASECUENCIALENLISTASSIMPLEMENTELIGADASQUESE
ENCUENTRANDESORDENADAS3IELELEMENTOSEENCUENTRAENLALISTA INDIQUEELNÞMERO
DENODOENELCUALSEENCONTRØ%NCASOCONTRARIO EMITAUNMENSAJEADECUADO

Ê È° %SCRIBAUNPROGRAMAPARABÞSQUEDASECUENCIALENLISTASSIMPLEMENTELIGADAS ORDE


NADASDEMANERADESCENDENTE

Ê Ç° %SCRIBAUNPROGRAMADEBÞSQUEDABINARIAENARREGLOSORDENADOS

A $EMANERAASCENDENTE
B $EMANERADESCENDENTE

Ê n° 2ESUELVAELINCISOBDELPROBLEMAUTILIZANDOELALGORITMODEBÞSQUEDABINARIA

Ê ™° $ElNAUNACLASE!RREGLO SEGÞNLOVISTOENELCAPÓTULO%NLACLASEDEBEINCLUIRPOR


LOMENOSDOSMÏTODOSˆDELOSESTUDIADOSENESTECAPÓTULOˆPARABUSCARUNELE
MENTOALMACENADOENELARREGLO
&+&3$*$*04 449

£ä°$ADOQUESEREQUIEREALMACENARLOSREGISTROSCONCLAVE

             Y

ENUNARREGLODEELEMENTOS DElNAUNAFUNCIØNHASHQUEDISTRIBUYALOSREGISTROS
ENELARREGLO3IHUBIERACOLISIONES RESUÏLVALASAPLICANDOELMÏTODODEREASIGNA
CIØNLINEAL

££°$EUNGRUPODE.ALUMNOSSETIENENLOSSIGUIENTESDATOS

◗ -ATRÓCULAVALORENTEROCOMPRENDIDOENTREY
◗ .OMBRECADENADECARACTERES
◗ $IRECCIØNCADENADECARACTERES

%LCAMPOCLAVEESMATRÓCULA,OS.REGISTROSHANSIDOALMACENADOSENUNARRE
GLO APLICANDOLASIGUIENTEFUNCIØNHASH

(CLAVE DÓGITOS?CENTRALESCLAVE 

,ASCOLISIONESHANSIDOTRATADASCONELMÏTODODEDOBLEDIRECCIØNHASH
%SCRIBA UN SUBPROGRAMA QUE LEA LA MATRÓCULA DE UN ALUMNO Y REGRESE COMO
RESULTADO SU NOMBRE Y DIRECCIØN %N CASO DE NO ENCONTRARLO EMITA UN MENSAJE
ADECUADO

£Ó°3EQUIEREALMACENARENUNARREGLOLOSSIGUIENTESDATOSDE.PERSONAS

◗ #LAVEDECONTRIBUYENTEALFANUMÏRICO DELONGITUD
◗ .OMBRECADENADECARACTERES
◗ $IRECCIØNCADENADECARACTERES
◗ 3ALDOREAL

$ElNAUNAFUNCIØNHASHQUEPERMITAALMACENARENUNARREGLOLOSDATOSMEN
CIONADOS5TILICEELMÏTODODEENCADENAMIENTOPARARESOLVERLASCOLISIONES

£Î°0RESENTEYEXPLIQUEUNAFUNCIØNHASHQUEPERMITAALMACENARENUNARREGLOLOSELEMEN
TOSDELATABLAPERIØDICADELOSELEMENTOSDEQUÓMICAYSUSPROPIEDADES DEMANERA
UNIFORME,ACLAVEESTÈDADAPORELNOMBREDELOSELEMENTOS

£{°5TILICELAFUNCIØNDElNIDAENELEJERCICIOANTERIORPARAINSERTARYELIMINARLOSELE
MENTOSQUESEPRESENTANACONTINUACIØN

)NSERTARSODIO ORO OSMIO LITIO BORO COBRE PLATA RADIO


%LIMINARORO OSMIO BORO COBRE PLATA

£x°$ADOSLOSSIGNOSDELZODIACOCAPRICORNIO ACUARIO PISCIS ARIES TAURO GÏMINIS


CÈNCER LEO VIRGO LIBRA ESCORPIØN SAGITARIO 
450
>«‰ÌՏœÊ™Ê Ê Ê .c50%04%&#Ò426&%"

A %SCRIBAUNSUBPROGRAMAPARAALMACENARLOSENUNAESTRUCTURADETRIES
B %SCRIBAUNSUBPROGRAMADEBÞSQUEDAPARALOSSIGNOS ALMACENADOSSEGÞNLOESPE
CIlCADOENELINCISOANTERIOR

"ÞSQUEDAEXTERNA
£È°3EHANALMACENADOENUNARCHIVOSECUENCIALLOSDATOSDELOSEMPLEADOSDEUNSU
PERMERCADO

◗ .OMBRE
◗ 2EGISTRO&EDERALDE#ONTRIBUYENTES
◗ &ECHADEINGRESO
◗ 3UELDO

%SCRIBAUNPROGRAMAPARABUSCARSECUENCIALMENTELOSDATOSDEUNEMPLEADO
DADOSUNOMBRECOMOENTRADA

A #ONSIDEREQUEELARCHIVOESTÈDESORDENADO
B #ONSIDEREQUEELARCHIVOESTÈORDENADO

£Ç°%SCRIBAUNPROGRAMADEBÞSQUEDABINARIAENARCHIVOSSECUENCIALESORDENADOS

£n°$ElNA UNA FUNCIØN HASH QUE PERMITA ALMACENAR Y POSTERIORMENTE RECUPERAR LOS
ELEMENTOSDELATABLAPERIØDICADELOSELEMENTOSDEQUÓMICAENUNARCHIVO,ACLAVE
ESTÈDADAPORELNOMBREDELOSELEMENTOS2ESUELVALASCOLISIONESUTILIZANDOUNÈREA
INDEPENDIENTEPARAALMACENARLOSELEMENTOSCOLISIONADOS

£™°3EDESEACREARUNARCHIVOCONINFORMACIØNSOBREPINOSMEXICANOS#ADAREGISTRO
CONTIENELOSSIGUIENTESDATOS

◗ .OMBREDELPINO
◗ 4IPODEHOJAS
◗ 4IPODECONO

%LCAMPOCLAVEES.OMBREDELPINO$ElNAUNAFUNCIØNHASHPARAALMACENAR
YPOSTERIORMENTEBUSCAR LOSSIGUIENTESPINOS#EMBROIDES -ONOPHYLLA .ELSONII
&LEXILIS ,UMHOLTZII ,EIOPHYLLA $OUGLASIANA 4EOCOTE (ERRERAI -ONTEZUMAE
#OOPERI #ONTORTA 0ONDAROSA !RIZONICA #ARIBAEA 0ATULA 2ADIATA -URICATA
2EMORATA
2ESUELVALASCOLISIONESUTILIZANDOUNÈREACOMÞNPARAALMACENARLOSELEMENTOS
COLISIONADOS

Óä°5TILICELAFUNCIØNDElNIDAENELEJERCICIOPARAINSERTARYELIMINARLOSELEMENTOS
QUESEINDICANACONTINUACIØN
&+&3$*$*04 451

)NSERTARSODIO ORO OSMIO LITIO BORO COBRE PLATA RADIO


%LIMINARORO OSMIO BORO COBRE PLATA

%LNÞMERODECUBETASESDOS. YCADACUBETATIENEDOSREGISTROS,ADENSI
DADDEOCUPACIØNPERMITIDAESENCASODESUPERARESTEPORCENTAJESEAPLICARÈN
EXPANSIONESTOTALES

A $IBUJEUNESQUEMADELAORGANIZACIØNDESPUÏSDEINSERTARLOSELEMENTOSOSMIOY
PLATAYLUEGODEELIMINARORO BOROYPLATA
B $IGAQUÏCLAVESORIGINARONQUEELNÞMERODECUBETASSEEXPANDIERAOREDUJERA

Ó£°2ESUELVAELPROBLEMAANTERIOR PEROAHORAAPLICANDOEXPANSIONESPARCIALES ENCASO


DETENERUNPORCENTAJEDEOCUPACIØNMAYORALPERMITIDO

ÓÓ°3EA.ELNÞMERODECUBETAS#ADACUBETATIENEDOSREGISTROSYSEESTABLECEUNA
DENSIDADDEOCUPACIØNPERMITIDADE5NAVEZSUPERADAESTADENSIDAD SEAPLI
CARÈNEXPANSIONESPARCIALES

(CLAVE CLAVE-/$.
#LAVESAINSERTAR          

A $IBUJEUNESQUEMADELAORGANIZACIØNDESPUÏSDEINSERTARLOSELEMENTOS  



B $IGAQUÏCLAVESORIGINARONQUEELNÞMERODECUBETASSEEXPANDIERA

Óΰ#ONSIDEREELARCHIVODELPROBLEMAANTERIOR%LIMINELOSREGISTROSCONCLAVES 
    

A $IBUJEUNESQUEMADELAORGANIZACIØNDESPUÏSDEELIMINARLOSELEMENTOS 

B $IGAQUÏCLAVESORIGINARONQUEELNÞMERODECUBETASSEREDUJERA

Ó{°3EA.ELNÞMERODECUBETAS#ADACUBETATIENEDOSREGISTROS YSEESTABLECEUNA
DENSIDADDEOCUPACIØNPERMITIDADE$ElNAUNAFUNCIØNHASHPARA

)NSERTARLASCLAVES           
%LIMINARLASCLAVES    

A !PLIQUEEXPANSIONESTOTALES
B !PLIQUEEXPANSIONESPARCIALES

Óx°$ETERMINECUÈLESELNÞMERODECUBETASNECESARIOPARAALMACENARENUNARCHIVO
NOMBRE APELLIDO EDAD ESCOLARIDADYDELITOCOMETIDOPORREOSDEL2ECLUSORIO.OR
TE%LRECLUSORIOTIENEPRESOS

.OTA5TILICEELMÏTODODELASEXPANSIONESTOTALES#ADACUBETATIENEREGISTROS
!LTENERDELLENADOSEEXPANDE
452
>«‰ÌՏœÊ™Ê Ê Ê .c50%04%&#Ò426&%"

ÓÈ°$ETERMINECUÈLESELNÞMERODECUBETASNECESARIOPARAALMACENARENUNARCHIVOLOS
REGISTROSDELOSDECLIENTESQUEMANEJAUNAEMPRESADETARJETASDECRÏDITO

.OTA5TILICEELMÏTODODELASEXPANSIONESPARCIALES#ADACUBETATIENEREGIS
TROS!LTENERDELLENADOSEEXPANDE

ÓÇ°3ETIENEUNARCHIVOCONREGISTROSQUEALMACENANINFORMACIØNSOBRECLIENTESDEDIS
TINTASSUCURSALESBANCARIAS,OSDATOSQUESEMANEJANPORCADACLIENTESON

◗ #LAVEDELASUCURSAL
◗ .OMBREDELTITULAR
◗ .ÞMERODECUENTA
◗ 3ALDO
◗ .ÞMERODEPRÏSTAMO
◗ )MPORTE

3ETIENEINVERSIØNSOBREELCAMPOCLAVESUCURSAL

A /BTENGALOSREGISTROSDELOSCLIENTESQUETENGANUNPRÏSTAMOMAYORAENLA
SUCURSAL,IMA
B /BTENGALOSREGISTROSDELOSCLIENTESQUETENGANUNPRÏSTAMOMAYORAENLA
SUCURSAL,IMAYUNSALDOENSUCUENTAMAYORAENLASUCURSAL2ÓO
C /BTENGALOSREGISTROSDELOSCLIENTESDELASUCURSAL2ÓOQUETENGANENSUCUENTAUN
SALDOMAYORA OLOSREGISTROSDELOSCLIENTESDELASUCURSAL1UITOQUETENGAN
UNPRÏSTAMOMENORAYUNSALDOENSUCUENTAMAYORA
D /BTENGALOSREGISTROSDELOSCLIENTESDELASUCURSAL#ØRDOBAQUETENGANUNSALDO
MAYORAOUNPRÏSTAMOMENORA
E 3ISEQUIEREDETERMINAR

SUCURSALh,IMAv /2SUCURSALh1UITOv /2


SUCURSALh2ÓOv /2SUCURSALh#ØRDOBAv

YLASCORRESPONDIENTESLISTASSONDE  YELEMENTOS RESPECTIVAMENTE


zCUÈLSERÈLASECUENCIAØPTIMAPARAALCANZARUNCOSTOMÓNIMO

Ón°%NUNARCHIVOSEHAALMACENADOLATABLAPERIØDICADELOSELEMENTOSQUÓMICOS JUNTO
CONSUSPROPIEDADES

◗ .OMBRE
◗ .ÞMEROATØMICO .!
◗ 0ESOATØMICO 0!
◗ 0UNTODEEBULLICIØN 0%
◗ 0UNTODEFUSIØN 0&
◗ $ENSIDAD $%.
◗ %LECTRONEGATIVIDAD %/
◗ #ONDUCTANCIAELÏCTRICA #%
◗ #ONDUCTANCIATÏRMICA #4
&+&3$*$*04 453

3ETIENEINVERSIØNSOBRELOSCAMPOSPUNTODEEBULLICIØNYPUNTODEFUSIØN

A /BTENGALOSREGISTROSDELOSELEMENTOSALCALINOTÏRREOS²STOSSEDETERMINANPORLAS
SIGUIENTESCARACTERÓSTICAS%/$%.YSU0&ESTÈCOMPRENDIDO
ENTRELOSVALORESY
B /BTENGALOSREGISTROSDELOSELEMENTOSDELGRUPO"²STOSSEDETERMINANPORLAS
SIGUIENTESCARACTERÓSTICAS%/n OSU0%ESTÈCOMPRENDIDOENTRELOSVALORES
Y

ә°%NUNARCHIVOSEHANALMACENADOLOSDATOSDE.PROFESIONALES

◗ #LAVEDECONTRIBUYENTE
◗ .OMBRE
◗ 0ROFESIØN
◗ .ACIONALIDAD

3ETIENEINVERSIØNSOBRELOSCAMPOSPROFESIØNYNACIONALIDAD

A /BTENGALOSREGISTROSDETODOSLOSINGENIEROSMEXICANOS
B /BTENGA LOS REGISTROS DE TODOS LOS INGENIEROS MEXICANOS DE MÈS DE  A×OS DE
EDAD
C /BTENGALOSREGISTROSDETODOSLOSINGENIEROSMEXICANOSDEMÈSDEA×OSDEEDAD
OLOSPINTORESURUGUAYOS
D /BTENGALOSREGISTROSDETODOSLOSABOGADOSPERUANOSOLOSMÏDICOSCHILENOSDE
MENOSDEA×OS
E 3ISEQUIEREDETERMINAR

PROFESIØN  INGENIERO /2 PROFESIØN  PINTOR /2 PROFESIØN  MÏDICO Y LAS


LISTASSONDE YCLAVES RESPECTIVAMENTE zCUÈLSERÈLASECUENCIAØPTIMA
PARAALCANZARUNCOSTOMÓNIMO
")",)/'2!&·!
,ABIBLIOGRAFÓAQUESEPRESENTAACONTINUACIØNESFRAGMENTARIA ENELSENTIDODEQUESØLO
SEINCLUYENOBRASQUEHANSERVIDODEBASEPARAESTAEXPOSICIØNOQUEESTÈNDIRECTAMENTE
VINCULADASCONELLA

!CKERMAN !&1UADRATIC3EARCHFOR(ASH4ABLESOF3IZE0#OMM!#- 


!DELSON 6ELSKII ' Y ,ANDIS % !N !LGORITHM FOR THE /RGANIZATION OF )NFORMATION
$OKL!KAD.AUK3332 -ATHEMAT  
!HO ! (OPCROFT *Y5LLMAN *4HE$ESIGNAND!NALYSISOF#OMPUTER!LGORITHMS
!DDISON 7ESLEY 2EADING -ASS 
ˆˆˆˆ $ATA 3TRUCTURES AND !LGORITMS !DDISON 7ESLEY 0UBLISHING #OMPANY

!LBIZURI -%STRUCTURASDEDATOS%DITORIAL,IMUSA 
!MBLE /Y+NUTH $/RDERED(ASH4ABLES#OMPUTER* 
!NDERSON -2Y!NDERSON -'#OMMENTSON0ERFECT(ASHING&UNCTIONS!3INGLE
0ROBE2ETRIEVING-ETHODFOR3TATIC3ETS#OMM!#- 
!UGENSTEIN -Y4ENENBAUM !!,ESSONIN2ECURSIONAND3TRUCTURED0ROGRAMMING
3)'#3%"ULLETIN  
"AASE 3#OMPUTER!LGORITHMS)NTRODUCTIONTO$ESIGNAND!NALYSIS!DDISON 7ESLEY
2EADING -ASS 
"AER *Y3CHWAB "!#OMPARISONOF4REE"ALANCING!LGORITHMS#OMM!#-

"ARRON $ 2ECURSIVE 4ECHNIQUES IN 0ROGRAMMING !MERICAN %LSEVIER .UEVA9ORK

"ATAGELJ 64HE1UADRATICE(ASH-ETHOD7HENTHE4ABLE3IZEISNOTA0RIME.UMBER
#OMM!#- 
"AYER 2"INARY" TREESFOR6IRTUAL-EMORY0ROC!#-3)'&)$%47ORKSHOP
!#- .UEVA9ORK
ˆˆˆˆ 3YMMETRIC "INARY " TREES $ATA 3TRUCTURE AND -AINTENANCE !LGORITHMS
!CTA)NFORMÈTICA  
ˆˆˆˆ Y-ETZGER */N%NCIPHERMENTOF3EARCH4REESAND2ANDOM!CCESS&ILES
!#-4RANS$ATABASE3YST 
ˆˆˆˆ Y5NTERAUER +0RElX" TREES!#-4RANS$ATABASE3YST 
ˆˆˆˆ Y3CHKOLNICK .#ONCURRENCYOFOPERATIONSON" TREE!CTA)NF  
456 ˆLˆœ}À>v‰>

"ELL *4HE1UADRATIC1UOTIENT-ETHOD!(ASH#ODE%LIMINATING3ECONDARY#LUSTER
ING#OMM!#- 
ˆˆˆˆ Y+AMAN #4HE,INEAR1UOTIENT(ASH#ODE#OMM!#- 
"ELLMAN 2$YNAMIC0ROGRAMMING0RINCETON5NIVERSITY0RESS 0RINCETON .* 
"ENTLEY * -ULTIDIMENSIONAL "INARY 3EARCH 4REES 5SED FOR !SSOCIATIVE 3EARCHING
#OMM!#- 
ˆˆˆˆ Y&RIEDMAN *!LGORITHMSAND$ATA3TRUCTUREFOR2ANGE3EARCHING!#-
#OMPUTING3URVEYS 
"ERLINER ( 4HE " TREE 3EARCH !LGORITHM ! "EST &IRST 0ROOF 0ROCEDURE 4ECH 2EP
#-5 #!   #OMPUTER 3CIENCE $EPT #ARNEGIE -ELLON 5NIVERSITY 0ITTS
BURGH 
"ERZTISS !$ATA3TRUCTURES 4HEORYANDPRACTICE AED !CADEMIC0RESS .UEVA9ORK

"IRD 2)MPROVING0ROGRAMSBYTHE)NTRODUCTIONOF2ECURSION#OMM!#- 
ˆˆˆˆ .OTESON2ECURSION%LIMINATION#OMM!#- 
"OOTHROYD *!LGORITHM3HELLSORT #OMM!#- 
ˆˆˆˆ 3ORTOFA3ECTIONOFTHE%LEMENTSOFAN!RRAYBY$ETERMININGTHE2ANKOF
%ACH%LEMENT!LGORITHM#OMP* 
"RILLINGER 0Y#OHEN $)NTRODUCTIONTO$ATA3TRUCTURESAND.ON NUMERIC#OMPUTA
TION0RENTICE (ALL %NGLEWOOD#LIFFS .* 
"ROWN -!3TORAGE3CHEMEFOR(EIGHT "ALANCED4REES)NF0ROC,ETT  
"RUNO *Y#OFFMAN %.EARLY/PTIMAL"INARY3EARCH4REES0ROC)&)0#ONGRESS
.ORTH (OLLAND !MSTERDAM 
"URKHARD 7(ASHINGAND4RIE!LGORITHMSFOR0ARTIAL-ATCH2ETRIEVAL!#-4RANS
6OL 
#ARTER *Y7EGMAN -5NIVERSAL#LASSESOF(ASH&UNCTIONS)"-2ESEARCH2EPORT
2#  4HOMAS * 7ATSON 2ESEARCH #ENTER 9ORKTOWN (EIGHTS .UEVA9ORK

ˆˆˆˆ 5NIVERSAL#LASSESOF(ASH&UNCTIONS0ROC.INTH!NNUAL!#-39-0ON
4HEORYOF#OMPUTING 
#LAMPETT ( 2ANDOMIZED "INARY 3EARCHING 7ITH 4REE 3TRUCTURES #OMM !#- 

#OMER $4HE5BIQUITOUS" TREE!#-#OMPUTING3URVEYS 
ˆˆˆˆ !.OTEON-EDIAN3PLIT4REES!#-4RANS0ROG,ANGAND3YS 
$IJKSTRA %7.OTESON3TRUCTURED0ROGRAMMING3TRUCTURED0ROGRAMMING!CADEMIC
0RESS .UEVA9ORK 
$)MPERIO - $ATA 3TRUCTURES AND THEIR 2EPRESENTATION IN 3TORAGE !NNUAL 2EVIEW
!UTOMATIC0ROGRAMMING  0ERGAMON0RESS %LMSFORD .UEVA9ORK 
$RISCOLL *Y,IEN 9!3ELECTIVE4RASVERSAL!LGORITHMFOR"INARY3EARCH4REES#OMM
!#- 
%LSON -$ATA3TRUCTURES3CIENCE2ESEARCH!SSOCIATES 0ALO!LTO #A 
&INKEL 2Y"ENTLEY *1UAD4REES!$ATE3TRUCTUREFOR2ETRIEVALON#OMPOSITE+EYS
!CTA)NFORMÈTICA  
&LORES )#OMPUTER3ORTING0RENTICE (ALL %NGLEWOOD#LIFFS .* 
ˆˆˆˆ Y -ADPIS ' !VERAGE "INARY 3EARCH ,ENGHTS FOR $ENSE /RDERED ,ISTS
#OMM!#- 
&LOYD 2!LGORITHM4REESORT #OMM!#- 
#*#-*0(3"'Ê" 457

&LOYD 2!LGORITHM4REESORT #OMM!#- 


ˆˆˆˆ !LGORITHM4REESORT #OMM!#- 
&OSTER # )NFORMATION 3TORAGE AND 2ETRIEVAL 5SING!6,4REES 0ROC!#- TH .A
TIONAL#ONF !#- .UEVA9ORK 
ˆˆˆˆ !'ENERALIZATIONOF!6,4REES#OMM!#- 
&RAZER 7Y-C+ELLAR !3AMPLESORT!3AMPLING!PPROACHTO-INIMAL3TORAGE4REE
3ORTING*!#- 
'AREY -/PTIMAL"INARY3EARCH4REES7ITH2ESTRICTED-AXIMAL$EPTH3)!-*#OMP
 
'ARSIA ! Y7ACHS - ! .EW!LGORITHM FOR -INIMUM #OST "INARY4REES 3)!- *
#OMP 
'HOSH 3 Y ,UM 6 !NALYSIS OF #OLLISIONS WHEN (ASHING BY $IVISION )NF 3YST 

'ILSTAD 20OLYPHASE-ERGE3ORTING!N!DVANCED4ECHNIQUE0ROC!&)03%ASTERN
*T#OMP#ONF  
'ONNET'Y2OGERS ,4HE)NTERPOLATION 3EQUENTIAL3EARCH!LGORITHM)NF0ROC,ETT
 
ˆˆˆˆ Y-UNRO *%FlCIENT/RDERINGOF(ASH4ABLES3)!-*#OMP 
'OTLIEB # Y'OTLIEB , $ATA4YPESAND$ATA3TRUCTURES 0RENTICE (ALL %NGLEWOOD
#LIFFS .UEVA9ORK 
'REENE $Y+NUTH $-ATHEMATICSFORTHE!NALYSISOF!LGORITHMS"IRKHAUSER "OS
TON -ASS 
'RIMALDI2ALPH-ATEMÈTICAS$ISCRETASY#OMBINATORIO!DDISON 7ESLEY)BEROAMERI
CANA 
'UDES %Y4SUR 3%XPERIMENTSWITH" TREE2EORGANIZATION!#-3)'-/$3YMPO
SIUMON-ANAGEMENTOF$ATA 
'UIBAS ,-C#REIGHT%0LASS -Y2OBERTS *!.EW2EPRESENTATIONFOR,INEAR,ISTS
0ROCTH!#-3YMP4HEORYOF#OMP .UEVA9ORK 
(AREL $!LGORITHMICS!DDISON 7ESLEY 
(ARRISON -$ATA3TRUCTURESAND0ROGRAMMING3COTT &ORESMAN 'LENVILLE )LL 
(ELD 'Y3TONEBRAKER -" TREES2E EXAMINED#OMM!#- 
(IRSCHBERG $!N)NSERTION4ECHNIQUEFOR/NE SIDED(EIGHT "ALANCED4REES#OMM
!#- 
(OARE #0ARTITION !LGORITHM1UICKSORT !LGORITHM &IND !LGORITHM#OMM
!#- 
ˆˆˆˆ 1UICKSORT#OMP* 
(OARE #!2.OTESON$ATA3TRUCTURING3TRUCTURED0ROGRAMMING!CADEMIC0RESS
.UEVA9ORK 
ˆˆˆˆ Y$AHL /3TRUCTURED0ROGRAMMING!CADEMIC0RESS 
(OPGOOD & Y $AVENPORT * 4HE 1UADRATIC (ASH -ETHOD7HERE THE 4ABLE 3IZE IS A
0OWEROF#OMP* 
(OROWITZ % Y 3AHNI 3 !LGORITHMS $ESIGN AND ANALYSIS #OMPUTER 3CIENCE 0RESS
-$ 
ˆˆˆˆ 3 &UNDAMENTALS OF #OMPUTER !LGORITHMS #OMPUTER 3CIENCE 0RESS )NC

(U 4Y4UCKER !/PTIMUM#OMPUTER3EARCH4REES3)!-*!PPL-ATH  
*AIME !%STRUCTURASDE)NFORMACIØN-C'RAW (ILL 
458 ˆLˆœ}À>v‰>

*OYANES!GUILAR ,&UNDAMENTOSDE0ROGRAMACIØN!LGORITMOSY%STRUCTURASDE$ATOS
-C'RAW (ILL 
+ARLTON 0 &ULLER 3 3CROGGS 2Y+ACHLER %0ERFORMANCEOF(EIGHT"ALANCED4REES
#OMM!#- 
+NOTT '(ASHING&UNCTIONS#OMPUTER*OURNAL  
+NUTH $4HE!RTOF#OMPUTER0ROGRAMMING6OL&UNDAMENTAL!LGORITHMS2EAD
ING -ASS!DDISON 7ESLEY 
ˆˆˆˆ /PTIMUM"INARY3EARCH4REES!CTA)NFORMÈTICA  
ˆˆˆˆ 4HE!RTOF#OMPUTER0ROGRAMMING6OL3ORTINGAND3EARCHING2EADING
-ASS!DDISON 7ESLEY 
ˆˆˆˆ %L!RTEDE0ROGRAMAR/RDENADORES6OL!LGORITMOSFUNDAMENTALES%DI
TORIAL2EVERTÏ 
+OLMAN "ERNARD ETAL%STRUCTURASDE-ATEMÈTICAS$ISCRETASPARALA#OMPUTACIØN
0RENTICE (ALL 
,EWIS 4Y3MITH -!PPLYING$ATA3TRUCTURES(OUGHTON-IFmIN "OSTON 
ˆˆˆˆ %STRUCTURASDE$ATOS0ARANINFO 
,IPSCHUTZ 3%STRUCTURADE$ATOS3ERIE3CHAUM-C'RAW (ILL -ÏXICO 
,ORIN (!'UIDED"IBLIOGRAPHYTO3ORTING)"-3YST*  
,UCCIO &Y0AGLI ,1NTHE(EIGHTOF(EIGHT "ALANCED4REES)%%%4RANS#OMPTRS

ˆˆˆˆ 0OWER4REES#OMM!#- 
,UCAS 2EYRINY3CHOOL!LGORÓTMICAY2EPRESENTACIØNDE$ATOS6OL 3ECUENCIAS
!UTØMATASDE%STADOS&INITOS-ASSON 
-ARTIN 73ORTING#OMP3URVEYS  
-AURER (Y,EWIS 4(ASH4ABLE-ETHODS#OMP3URVEYS  
ˆˆˆˆ /TTMANN 4Y3IX ()MPLEMENTING$ICTIONARIES5SING"INARY4REESOF6ERY
3MALL(EIGHT)NFORM0ROC,ETTERS  
ˆˆˆˆ $ATA3TRUCTURESAND0ROGRAMMING4ECHNIQUES0RENTICE (ALL %NGLEWOOD
#LIFFS .* 
ˆˆˆˆ Y/TTMANN 44REE3TRUCTURESFOR3ET-ANIPULATION0ROBLEMS)N-ATHEMATI
CAL&OUNDATIONSOF#OMPUTER3CIENCE 3PRINGER 6ERLAG .UEVA9ORK 
-C#REIGHT %0AGINATIONOF"
TREESWITH6ARIABLE ,ENGHT2ECORDS#OMM!#-

ˆˆˆˆ 0RIORITY3EARCH4REES3)!-*OF#OMP 
-ELHORN +.EARLY/PTIMAL"INARY3EARCH4REES!CTA)NFORMÈTICA  
ˆˆˆˆ $YNAMIC"INARY3EARCH3)!-*#OMP 
ˆˆˆˆ $ATA 3TRUCTURES AND!LGORITHMS 6OL  3ORTING AND 3EARCHING 3PRINGER
6ERLAG 
-ILLER 2 0IPPENGER . 2OSENBERG !Y3NYDER ,/PTIMAL 4REES)"-2ESEARCH
2EP2# )"-2ESEARCH,AB 9ORKTOWN(EIGHTS .UEVA9ORK 
.IEVERGELT *Y7ONG #/N"INARY3EARCH4REES0ROC)&)0#ONGRESS .ORTH (OL
LAND 
ˆˆˆˆ Y2EINGOLD %"INARY3EARCH4REESOF"OUNDED"ALANCE3)!-*#OMP

ˆˆˆˆ "INARY 4REESAND&ILE/RGANIZATION!#-#OMPUTING3URVEYS 
0FALTZ *#OMPUTER$ATA3TRUCTURES-C'RAW (ILL .UEVA9ORK 
0OHL )!3ORTING0ROBLEMANDITS#OMPLEXITY#OMM!#- 
#*#-*0(3"'Ê" 459

0RATT 63HELLSORTAND3ORTING.ETWORKS'ARLAND .UEVA9ORK 


2AIHA +Y:WEBEN 3!N/PTIMAL)NSERTION!LGORITHMFOR/NE 3IDED(EIGHT "ALANCED
"INARY3EARCH4REES#OMM!#- 
2OSENBERG !Y3NYDER ,-INIMAL#OMPARISON 4REES3)!-*#OMPUT 
3AXE *Y"ENTLEY *4RANSFORMING3TATIC$ATA3TRUCTURESTO$YNAMIC3TRUCTURES2E
SEARCH2EPORT#.53 #3   #ARNEGIE -ELLON5NIVERSITY 0ITTSBURGH 
3CHOOL 0!LGORÓTMICAY2EPRESENTACIØNDE«RBOLES6OL 2ECURSIVIDADESY«RBOLES
-ASSON 
3COWEN 21UICKSORT!LGORITHM#OMM!#- 
3EDGEWICK 21UICKSORT2EPORT.O34!. #3   $EPTOF#OMPUTER3CIENCE
3TANFORD5NIVERSITY #A 
ˆˆˆˆ 4HE!NALYSISOF1UICKSORT0ROGRAMS!CTA)NFORMÈTICA  
ˆˆˆˆ )MPLEMENTING1UICKSORT0ROGRAMS#OMM!#- 
3HELL $!(IGHSPEED3ORTING0ROCEDURE#OMM!#- 
ˆˆˆˆ /PTIMIZING/PTIMIZINGTHE0OLYPHASE3ORT#OMM!#- 
3HNEIDERMAN "0OLYNOMIAL3EARCH3OFTWARE 0RACTICEAND%XPERIENCE  
ˆˆˆˆ *UMP 3EARCHING ! &AST 3EQUENTIAL 3EARCH 4ECHNIQUE #OMM !#- 

3INGLETON 2!N%FlCIENT!LGORITHMFOR3ORTINGWITH-INIMAL3TORAGE!LGORITHM
#OMM!#- 
3PRUNGNOLI 20ERFECT(ASHING&UNCTIONS!3INGLE0ROBE2ETRIEVING-ETHODFOR3TATIC
3ETS#OMM!#- 
3TEPHENSON #!-ETHODFOR#ONSTRUCTING"INARY3EARCH4REESBY-AKING)NSERTIONSAT
THE2OOT)"-2ESEARCH2EPORT2# 4HOMAS7ATSON2ESEARCH#ENTER 9ORK
TOWN(EIGHTS .UEVA9ORK 
4ANNER 2-INIMEAN-ERGINGAND3ORTING!N!LGORITHM3)!-*#OMP 
4ENENBAUM !Y!UGENSTEIN -%STRUCTURASDE$ATOSEN0ASCAL0RENTICE (ALL(IS
PANOAMERICANA 
4REMBLAY *Y3ORENSON 0!N)NTRODUCTIONTO$ATA3TRUCTURESWITH!PPLICATIONS-C
'RAW (ILL .UEVA9ORK 
6AN%MDEN .)NCREASING%FlCIENCYOF1UICKSORT#OMM!#- 
6UILLEMIN *!5NIFYINGLOOKAT$ATA3TRUCTURES#OMM!#- 
7ALKER 7Y'OTLIEB #!4OP $OWN!LGORITHMFOR#ONSTRUCTING.EARLY/PTIMAL,EX
ICO GRAPHIC 4REES 'RAPH 4HEORY AND #OMPUTING!CADEMIC 0RESS .UEVA9ORK

7ILLIAMS *(EAPSORT!LGORITHM#OMM!#- 
7IRTH .!LGORITHMS $ATA3TRUCTURES0ROGRAMS0RENTICE (ALL %NGLEWOOD#LIFFS
.* 
ˆˆˆˆ !LGORITMOS %STRUCTURASDE$ATOS0ROGRAMAS%DICIONESDEL#ASTILLO
ˆˆˆˆ !LGORITMOSY%STRUCTURASDE$ATOS0RENTICE (ALL(ISPANOAMERICANA 
7ULF 7 3HAW - (ILlNGER 0Y&LON ,&UNDAMENTAL3TRUCTURESOF#OMPUTER
3CIENCE!DDISON 7ESLEY 2EADING -ASS 
9AO !1N2ANDOM 4REES!CTA)NFORMÈTICA  
',/3!2)/
«RBOL%STRUCTURAJERÈRQUICAAPLICADASOBREUNACOLECCIØNDEOBJETOSLLAMADOSNODOS
ENLAQUEUNODEELLOSSECONOCECOMONODORAÓZ YCUYASRELACIONESENTRENODOSSE
IDENTIlCANCOMOPADRE HIJO HERMANO ETCÏTERA
«RBOLABARCADOR%SUNÈRBOLLIBREQUECONECTATODOSLOSVÏRTICESDE6
«RBOL BALANCEADO #ONOCIDO TAMBIÏN COMO ÈRBOL!6, ES UN ÈRBOL BINARIO DE BÞS
QUEDAENELCUAL PARATODONODODELÈRBOL LAALTURADELOSSUBÈRBOLESIZQUIERDOY
DERECHONODEBEDIFERIRENMÈSDEUNAUNIDAD
«RBOLBINARIO«RBOLENELCUALCADANODOPUEDETENERHASTADOSDESCENDIENTESDIRECTOS
YCUYASRAMASESTÈNORDENADAS
«RBOLDEBÞSQUEDA6ÏASETRIE
«RBOLMULTICAMINOS«RBOLENELQUECADANODOPUEDETENERMÈSDEDOSDESCENDIENTES
DIRECTOSYCUYASRAMASESTÈNORDENADAS
!RREGLO#OLECCIØNlNITA HOMOGÏNEAYORDENADADEELEMENTOS
!RREGLODE.DIMENSIONES!QUELENELCUALCADAUNODESUSELEMENTOSDEBEIDENTIl
CARSEPORNÓNDICESQUEMARQUENSUPOSICIØNEXACTADENTRODELARREGLO
!RREGLOS PARALELOS %STRUCTURA FORMADA POR DOS O MÈS ARREGLOS CUYOS ELEMENTOS SE
CORRESPONDEN PORLOGENERALENRELACIØNDEUNOAUNO
"OSQUE#ONJUNTOORDENADODEUNOOMÈSÈRBOLES
"ÞSQUEDA/PERACIØNQUEPERMITERECUPERARDATOSPREVIAMENTEALMACENADOS AUNQUE
ESTAOPERACIØNPUEDERESULTARENFRACASOSINOSEENCUENTRAELDATOBUSCADO
"ÞSQUEDAEXTERNA!QUELLAENLAQUETODOSLOSDATOSSEENCUENTRANENARCHIVOSRESI
DENTES EN DISPOSITIVOS DE ALMACENAMIENTO SECUNDARIO TALES COMO DISCOS CINTAS
ETCÏTERA
"ÞSQUEDAINTERNA,AQUESEREALIZACONLOSDATOSRESIDENTESENLAMEMORIAPRINCIPAL
DELACOMPUTADORA
#AMINO5NCAMINO0DELONGITUDNDESDEUNVÏRTICEVAUNVÏRTICEWSEDElNECOMO
LASECUENCIADENVÏRTICESQUESEDEBESEGUIRPARALLEGARDELNODOORIGENALNODO
DESTINO
#OLA,ISTADEELEMENTOSENLACUALLAEDICIØNDEELEMENTOSSELLEVAACABOPORUNEXTRE
MO YLAELIMINACIØNSEREALIZAPOROTRO
#OLISIØN,AQUESEORIGINAALUTILIZARUNAFUNCIØNHASH CUANDODOSOMÈSDATOSCON
DISTINTASCLAVESTIENENLAMISMADIRECCIØNDEMEMORIA
462 œÃ>Àˆœ

#ONJUNTO%SUNDATOESTRUCTURADOINTEGRADOPORUNGRUPODEOBJETOSDELMISMOTIPO
AUNQUEELTIPOSØLOPUEDESERENTERO CARÈCTER ENUMERADOORANGO
$ATOESTRUCTURADO%STÈFORMADOPORVARIOSCOMPONENTES CADAUNODELOSCUALESPUE
DESERASUVEZUNDATOESTRUCTURADO4ODOSLOSCOMPONENTESDEUNDATOESTRUCTURADO
SEIDENTIlCANCONELMISMONOMBRE
$ATOSIMPLE!QUELQUEHACEREFERENCIAAUNÞNICOVALORALAVEZYQUEOCUPAUNACASILLA
DEMEMORIA
%STRUCTURADINÈMICADEDATOS!QUELLAQUEPERMITELAASIGNACIØNDEESPACIOENME
MORIADURANTELAEJECUCIØNDEUNPROGRAMA CONFORMELOREQUIERANLASVARIABLESDE
ÏSTE COMOLOSÈRBOLESYLASLISTAS
&)&/)NICIALESDELAEXPRESIØNENINGLÏS&IRST)N &IRST/UTELPRIMEROENENTRARESEL
PRIMEROENSALIR QUEINDICANELORDENDEINSERCIØNYELIMINACIØNDELOSELEMENTOS
DEUNACOLA
&UNCIØNHASH!QUELLAQUEPERMITETRANSFORMARUNACLAVEENUNADIRECCIØNDEMEMO
RIA
'RÈlCACOMPLETA3EDICEQUEUNAGRÈlCAESCOMPLETASICADAVÏRTICEVDE'ESADYA
CENTEATODOSLOSDEMÈSVÏRTICESDE'
'RÈlCACONEXA3EDICEQUEUNAGRÈlCAESCONEXASIEXISTEUNCAMINOSIMPLEENTREDOS
DESUSNODOSCUALESQUIERA
'RÈlCADIRIGIDA3ECARACTERIZAPORQUESUSARISTASTIENENASOCIADAUNADIRECCIØN
'RÈlCAETIQUETADA3EDICEQUEUNAGRÈlCA'ESTÈETIQUETADASISUSARISTASTIENENASIG
NADOUNVALOR
'RÈlCAS%STRUCTURASDEDATOSQUEPERMITENREPRESENTARDIFERENTESTIPOSDERELACIONES
ENTRELOSOBJETOS
'RÈlCASNODIRIGIDAS3UCARACTERÓSTICAPRINCIPALESQUESUSARISTASSONPARESNOORDE
NADOSDEVÏRTICES
¶NDICE)NDICADORQUESE×ALALAPOSICIØNDEUNCOMPONENTEENUNDATOESTRUCTURADO
,)&/)NICIALESDELAEXPRESIØNENINGLÏS,AST)N &IRST/UTELÞLTIMOENENTRARESEL
PRIMEROENSALIR QUEINDICANELORDENDEINSERCIØNYELIMINACIØNDELOSELEMENTOS
DEUNAPILA
,ISTA#OLECCIØNDEELEMENTOSLLAMADOSNODOS CUYOORDENSEESTABLECEPORMEDIODE
PUNTEROS
,ISTACIRCULAR!QUELLAENLAQUESUÞLTIMOELEMENTOAPUNTAALPRIMERO
,ISTADOBLEMENTELIGADA#OLECCIØNDEELEMENTOSLLAMADOSNODOS ENLACUALCADANODO
TIENEDOSPUNTEROS UNOAPUNTANDOALNODOPREDECESORYELOTROALNODOSUCESOR
,ISTAINVERTIDA,ISTAQUECONTIENELASCLAVESDELOSELEMENTOSQUEPOSEENUNDETER
MINADO ATRIBUTO LO CUAL FACILITA LA BÞSQUEDA DE LOS ELEMENTOS QUE POSEAN DICHO
ATRIBUTO
-ATRIZ%STRUCTURADEDATOSQUEPERMITEORGANIZARLAINFORMACIØNENRENGLONESYCOLUM
NAS%SUNARREGLOBIDIMENSIONAL
-ÏTODODEBÞSQUEDA3ECARACTERIZAPORELORDENENELCUALSEEXPANDENLOSNODOS
-ÏTODOSDEBÞSQUEDABREADTH lRST3EEXPANDENLOSNODOSENELORDENENQUEHAN
SIDOGENERADOS
-ÏTODOSDEBÞSQUEDADEPTH lRST3EEXPANDENLOSNODOSGENERADOSMÈSRECIENTEMEN
TE
-ULTIGRÈlCA 5NA GRÈlCA SE DENOMINA MULTIGRÈlCA SI AL MENOS DOS DE SUS VÏRTICES
ESTÈNCONECTADOSPORDOSARISTAS
(-04"3*0 463

-ULTILISTA%STRUCTURAQUEPERMITEALMACENARENUNAOVARIASLISTASLASDIRECCIONESDE
LOSELEMENTOSQUEPOSEENUNOOMÈSATRIBUTOSESPECÓlCOS LOCUALFACILITASUBÞS
QUEDA
.OTACIØNINlJA3EDICEQUEUNAEXPRESIØNARITMÏTICATIENENOTACIØNINlJACUANDOSUS
OPERADORESESTÈNENTRELOSOPERANDOS POREJEMPLO ! "
.OTACIØNPOSTlJA3EDICEQUEUNAEXPRESIØNARITMÏTICATIENENOTACIØNPOSTlJACUANDO
SUSOPERADORESESTÈNALlNALDELOSOPERANDOS POREJEMPLO !" 
.OTACIØNPRElJA3EDICEQUEUNAEXPRESIØNARITMÏTICATIENENOTACIØNPRElJACUANDO
SUSOPERADORESESTÈNALINICIODELOSOPERANDOS POREJEMPLO !"
/RDENACIØNEXTERNA%NESTAFORMADEORDENACIØNLOSDATOSSETOMANDEARCHIVOSRE
SIDENTESENDISPOSITIVOSDEALMACENAMIENTOSECUNDARIO TALESCOMODISCOS CINTAS
ETCÏTERA
/RDENACIØNINTERNA3EAPLICAENLAORDENACIØNDEARREGLOSYSEREALIZACONTODOSLOS
DATOSDEÏSTOSALOJADOSENLAMEMORIAPRINCIPALDELACOMPUTADORA
/RDENAR/RGANIZARUNCONJUNTODEDATOSUOBJETOSENUNASECUENCIAESPECÓlCA PORLO
GENERALASCENDENTEODESCENDENTE
0ILA,ISTADEELEMENTOSALACUALSEPUEDEINSERTAROELIMINARELEMENTOSSØLOPORUNO
DESUSEXTREMOS
0UNTERO $ATO QUE ALMACENA UNA DIRECCIØN DE MEMORIA EN DONDE SE ALMACENA UNA
VARIABLE
2ECURSIØN(ERRAMIENTADEPROGRAMACIØNQUEPERMITEDElNIRUNOBJETOENTÏRMINOSDE
ÏLMISMO
2EGISTRO%SUNDATOESTRUCTURADOENELCUALSUSCOMPONENTESPUEDENSERDEDIFERENTES
TIPOS INCLUSO REGISTROS O ARREGLOS 4ODOS SUS COMPONENTES SE IDENTIlCAN CON UN
NOMBRE
2EPRESENTACIØN LINEAL DE ESTRUCTURAS NO LINEALES 0ROCEDIMIENTO PARA CONVERTIR LOS
ÓNDICESDECADAUNODELOSELEMENTOSDEARREGLOSDEDOSOMÈSDIMENSIONESENUNA
POSICIØNESPECÓlCADENTRODEUNARREGLODEUNADIMENSIØN
3OLUCIØNDECOLISIONES#ONSISTEENREUBICARUNDATOCUYADIRECCIØN CALCULADAPORUNA
FUNCIØNHASH YAHAYASIDOUTILIZADAPOROTRODATO
4RIE«RBOLENELQUELAINFORMACIØNDECADANODOESCOMÞNATODOSSUSSUCESORES
·.$)#%!.!,·4)#/
!NÈLISISDEElCIENCIADELMÏTODO DEMÈSDEDOSDIMENSIONES    
DEINSERCIØNBINARIA  DElNICIØNDE   
DEINSERCIØNDIRECTA   DEREGISTROS   
DEINTERCAMBIODIRECTO   USODE  
DELASACUDIDA  DESORDENADOS  
DESELECCIØNDIRECTA   DIFERENCIASENTREREGISTROSY 
DE3HELL   EJEMPLOSDE  
DELMONTÓCULO  ESCRITURADELOS  
QUICKSORT   MULTIDIMENSIONALES   
!NÈLISISDELABÞSQUEDA OPERACIONESCON  
BINARIA   ORDENADOS  
SECUENCIAL   PROCESODELECTURADELOS  
!NÈLISISDELMÏTODOPORTRANSFORMACIØN PARALELOS  
DECLAVES  CONCEPTODE 
«RBOLES  USODE 
BALANCEADOS     
DEBÞSQUEDA  
REESTRUCTURACIØNDE   "ÞSQUEDA  
BINARIOS   ÈRBOLESDE  
DEBÞSQUEDA     BINARIA   
RECORRIDOSEN   DINÈMICAPORTRANSFORMACIØNDECLAVES
REPRESENTACIØNDE    
ENMEMORIA   ENARCHIVOSSECUENCIALES  
CARACTERÓSTICASYPROPIEDADESDELOS EXTERNA 
  INTERNA  
ENGENERAL  SECUENCIAL  
MULTICAMINOS  PORTRANSFORMACIØNDECLAVES  
!RISTAS   
!RREGLOS   DINÈMICA  
ACTUALIZACIØNDELOS 
ASIGNACIØNDELOS  
BIDIMENSIONALES   #OLAS 
DECLARACIØNDE   APLICACIONESDE  
OPERACIONESCON   CIRCULARES  
COMBINACIONESENTREREGISTROSY  DElNICIØNDE 
DELISTAS  DOBLES  
466 ˜`ˆViÊ>˜>‰ÌˆVœ

OPERACIONESCON   DOBLEMENTELIGADAS 


REPRESENTACIØNDE  OPERACIONESCON  
#ONJUNTOS   INVERTIDAS  
#ONSTRUCCIØNDELÈRBOLABARCADORDECOSTO SIMPLEMENTELIGADAS 
MÓNIMO  OPERACIONESCON  
,ISTASINVERTIDAS  
,ONGITUDDECAMINO
$ATOS INTERNO 
ESTRUCTURADOS  EXTERNO 
SIMPLES 
BOOLEANOS 
CARACTERES  -ATRICES 
ENTEROS  CUADRADASPOCODENSAS 
ENUMERADOS  POCODENSAS 
REALES  DElNICIØNDE 
SUBRANGOS  SIMÏTRICAYANTISIMÏTRICA  
$ESBORDAMIENTOOVERmOW  TRIANGULARINFERIOR  
$IJKSTRA ALGORITMODE   TRIANGULARSUPERIOR  
TRIDIAGONAL  
-ÏTODOSDEBÞSQUEDA 
%SPACIOESTADO  ENESPACIO ESTADO 
MÏTODODEBÞSQUEDAEN  "READTH &IRST  
$EPTH &IRST  
-ÏTODOSDEORDENACIØN  
&)&/&IRST )N &IRST /UT  -ULTILISTAS  
&LOYD ALGORITMODE  

/BTENCIØNDECAMINOSDENTRODEUNADIGRÈlCA
'RÈlCAS  
CONCEPTOSBÈSICOSDELAS   /RDENACIØN 
DElNICIØNDE  DEARCHIVOS 
DIRIGIDAS  EXTERNA   
DElNICIØNDE  INTERNA  
REPRESENTACIØNDE   PORELMÏTODODELASACUDIDASHAKERSORT
NODIRIGIDAS    
ALGUNOSCONCEPTOSSOBRE  PORELMÏTODODEINSERCIØNBINARIA
DElNICIØN   
REPRESENTACIØNDE   PORELMÏTODODEINTERCAMBIODIRECTOCON
SE×AL 
PORELMÏTODODEMEZCLAEQUILIBRADA
)NTERCALACIØNDEARCHIVOS    
PORELMÏTODODE3HELL  
PORELMÏTODOHEAPSORTMONTÓCULO
+RUSKAL ALGORITMODE    
PORELMÏTODOQUICKSORT  
PORINSERCIØNDIRECTA  
,)&/,AST )NPUT &IRST /UTPUT  PORINTERCAMBIODIRECTOBURBUJA
,ISTAS   
APLICACIONES  PORMEZCLADIRECTA  
CIRCULARES   PORSELECCIØNDIRECTA  
DElNICIØNDE  /RDENAR 
Ê/%*$&"/"-Ê5*$0 467

0ILAS  ACCESOALOSCAMPOSDEUN  


APLICACIONESDELAS   ANIDADOS  
OPERACIONESCON   COMBINACIONESENTREARREGLOSY 
REPRESENTACIØNDE   CONARREGLOS  
0RIM ALGORITMODE   DElNICIØNDE 
0ROBLEMADELAS4ORRESDE(ANOI EL   2ESOLUCIØNDEPROBLEMAS  

2ECURSIØNORECURSIVIDAD 3UBDESBORDAMIENTOUNDERmOW 


CASOSINTERESANTESDE  
DElNICIØNDE 
DIRECTA 
FUNCIONAMIENTOINTERNODELA    6ÏRTICES 
INDIRECTA  
USODELASPILASPARASIMULAR  
2EGISTROS  7ARSHALL ALGORITMODE  

También podría gustarte