Top Banner
7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 1/143 ,,. ALGORI:fMICA Y ESTRUCTURA DE DATOS
143

AED-SI-02 Libro de Algoritmo y Estructura de Datos

Feb 18, 2018

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 1/143

,,.

ALGORI:fMICA Y

ESTRUCTURA DE

DATOS

Page 2: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 2/143

Universidad Privada

Algorítmica y Estructura de Página

ÍNDICE DE CO NTENIDOI. PREFACIO 3II. DESARROLLO DE LOS CONTENIDOS 04 -

UNIDAD DE APRENDIZAJE 1: INTRODUCCIÓN A LA ESTRUCTURA DE DATOS 04–401. Introdu!"n

#. Pr$%$nt#!"n &ont$'tu#(!)#!"n *. Co+,$t$n!#(oro/. C#,#!d#d$%d. At!tud$%$. Id$#% *%!#% & ont$n!do

. D$%#rro((o d$ (o% t$+#%#. T$+# 01: A(or2t+!# & $%trutur# d$d#to%. *. T$+# 0: E%trutur# ond!!on#(.. T$+# 03: E%trutur#% r$,$t!t!#%.d. T$+# 04: C(#%!!#!"n d$ (#% $%trutur#% d$ (o% d#to%.

3. L$tur#% r$o+$nd#d#%4. At!!d#d$% & $5$r!!o%6. Auto$#(u#!"n

 

05

05

05

05

05

05

06 – 35

06

14

22

29

36

36

37

39

UNIDAD DE APRENDIZAJE : OPERACIONES CON ARRE8LOS UNIDI9ENSIONALES 40-71. Introdu!"n

#. Pr$%$nt#!"n &ont$'tu#(!)#!"n *. Co+,$t$n!#(oro/. C#,#!d#d$%d. At!tud$%$. Id$#% *%!#% & ont$n!do

. D$%#rro((o d$ (o% t$+#%#. T$+# 01: O,$r#!on$% #(or2t+!#% on #rr$(o%un!d!+$n%!on#($% *. T$+# 0: 9;todo% d$ r$o($!"n d$ d#to%. T$+# 03: O,$r#!on$% on $tor$%*. T$+# 04: R$ur%!!d#d

3. L$tur#% r$o+$nd#d#%4. At!!d#d$% & $5$r!!o%6. Auto$#(u#!"n

 

41

41

41

41

41

41

42-64

43

49

53

59

64

64

65

67

UNIDAD DE APRENDIZAJE 3: 9ETODOS DE ORDENACION < =US>UEDA 7?-@1. Introdu!"n

#. Pr$%$nt#!"n &ont$'tu#(!)#!"n *. Co+,$t$n!#(oro/. C#,#!d#d$%d. At!tud$%$. Id$#% *%!#% & ont$n!do

. D$%#rro((o d$ (o% t$+#%#. T$+# 01: 9;todo% d$ ord$n#!"n*. T$+# 0: 9;todo% d$ ord$n#!"n ,or %$($!"n. T$+# 03: 9;todo% d$ *%Bu$d#d. T$+# 04: O,$r#!on$% on #rr$(o% +u(t!d!+$n%!on#($%

3. L$tur#% r$o+$nd#d#%4. At!!d#d$% & $5$r!!o%6. Auto$#(u#!"n

 

69

70

70

70

70

70

71-95

71

79

83

88

94

94

94

97

UNIDAD DE APRENDIZAJE 4: INTRODUCCIÓN A LAS ESTRUCTURAS DE DATOS DIN9ICAS ?-1331. Introdu!"n

#. Pr$%$nt#!"n &

ont$'tu#(!)#!"n*. Co+,$t$n!#. C#,#!d#d$%d. At!tud$%$. Id$#% *%!#% &ont$n!do

. D$%#rro((o d$ (o% t$+#%#. T$+# 01: L!%t# %!+,($. L!%t# do*($+$nt$$n(#)#d#*. T$+# 0: P!(#% & o(#%. T$+# 03: r*o($%d. T$+# 04: 8r#o%

3. L$tur#% r$o+$nd#d#% 

99

99

99

99

99

99

100-131

101

107

113

119

125

125

126

128

III. 8LOSARIO 1I. FUENTES DE INFOR9ACIÓN 1. SOLUCIONARIO 130

Page 3: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 3/143

I. PREFACIO

El curso es de naturaleza teórico-práctico y pertenece al área de or!ación

proesional" capacita e introduce al estudiante en los conceptos y ele!entos

unda!entales para acilitar la introducción a la pro#ra!ación y e$ercitar el

razona!iento" conociendo las t%cnicas &ásicas e!pleadas durante el proceso de

#eneración inter!edio" opti!ización y #eneración de códi#o a!pliando las t%cnicas de

pro#ra!ación'

(o!prende cuatro unidades de aprendiza$e) *' *ntroducción a las estructuras de datos'

**' +peraciones con arre#los unidi!ensionales ***' ,%todos de ordenación y &s.ueda

y */' *ntroducción a las estructuras diná!icas de datos'

ESTRUCTURA DE LOS CONTENIDOS

UNIDAD DE APRENDIZAJE I: INTRODUCCION A LA ESTRUCTURA DE DATOSAlgorítmica y Estructura de

datosEstructura condicional

Estructuras repetitivasClasificacin de las

estructuras de datos

UNIDAD DE APRENDIZAJE II: OPERACIONES CON ARREGLOSUNIDIMENSIONALES

!peracionesalgorítmicas conarreglosunidimensionales

"#todos de $ecoleccin dedatos

!peraciones con vectores$ecursividad

UNIDAD DE APRENDIZA III: 9ETODOS DE ORDENACIÓN < =US>UEDA

"#todos de"#todos deordenacin

ordenamientopor

seleccin

"#todos de %&s'ueda!peraciones con

arreglos

multidimensionales

UNIDAD DE APRENDIZAJE I: INTRODUCCIÓN A LAS ESTRUCTURAS DE DATOSDIN9ICAS

Lista Simple( ListaDo%lemente Enla)adas

Pilas y colas *r%oles+rafos

a co!petencia .ue el alu!no de&e lo#rar al inal de la asi#natura es) aplicar a&ilidades &ásicas y co!ple$as para el !ane$o de las t%cnicas y !%todos de la

Page 4: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 4/143

pro#ra!ación para resolución de pro&le!as' ,ane$ar t%cnicas de dia#ra!ación ló#ica

de al#orit!o y codiicación y estructura de un pro#ra!a'

Page 5: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 5/143

UNIDADDEAPRENDIZA

 JE

niversidad Privada TELESUP

INTRODUCCIÓN A LA ESTRUCTURA DEDATOS

  OMPETEN IA:

Al finalizar esta unidad usted será capaz

de

Page 6: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 6/143

“Conocer e identificar la terminología para construir 

resol!er algoritmos con las estructuras de

datos

más

adecuadas

"#

Página ,

U

Algorítmica y Estructura de Datos

Page 7: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 7/143

Universidad Privada

$# INT%O&' I(N

#/ Pr$ %$ nt# !"n & ont$' tu#(!)# !"n

El alu!no desarrolla una actitud analtica y crtica .ue le per!ita alorar yconocer la i!portancia para la construcción de al#orit!os y conocer las

estructuras de datos'

*/ Co+,$t$ n !# %

(onoce e identiica la ter!inolo#a para construir y resoler al#orit!os con las

estructuras de datos !ás adecuadas'

/ C# ,# !d# d$ %

   naliza y critica la i!portancia de la al#ort!ica y la estructura de

datos dentro del !undo actual'

  ierencia los distintos casos de uso y unda!entos de pro#ra!ación'

(o!prende la dierencia entre las dierentes estructuras condicionales'

  ierencia los distintos casos de uso y unda!entos de pro#ra!ación'

(o!prende la dierencia entre las estructuras repetitias'

   naliza y critica las t%cnicas de estudio de las estructuras de datos'

d/ A t !tud$ %

  esarrolla una actitud e!prendedora !ediante la to!a de iniciatias'

   cta con responsa&ilidad personal" al cu!plir con los orarios

esta&lecidos'

  espeto a las nor!as de coniencia'

  (u!ple con la presentación de los tra&a$os enco!endados de !anera

indiidual y en e.uipo'

$/ Pr$ %$ nt# !"n d$ !d$# % * %!# % & ont$ n!do $ %$ n!# ($ % d$ (# Un!d# d

L# un!d#d d$ A,r$nd!)#5$ 1: Introdu!"n # 9!ro%ot E'$( o+,r$nd$ $(d$%#rro((o d$ (o% %!u!$nt$% t$+#%:

  A(or2t+!# & E%trutur# d$ d#to%.

  E%trutur# ond!!on#(.

  E%trutur# r$,$t!t!#.

  C(#%!!#!"n d$ (#% $%trutur#% d$ d#to%.

Algorítmica y Estructura de DatosPágina -

Page 8: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 8/143

TEMA

Algorítmica y

Estrctra!"

Dato

sAlgorítmica y Estructura de Datos

Universidad Privada TELESUP

Página .

Page 9: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 9/143

Algorítmica y Estructura de Página /

)# &E*A%%O++O &E ONTENI&O*

T"ma #$ Algorítmica y

Estrctra !" !atos%

>UG ES UN AL8ORIT9OH

n al#orit!o es una serie de pasos !%todos or#anizados .ue per!ite dar solución a

un pro&le!a especico'

a pala&ra al#orit!o se deria de la traducción al latn de la pala&ra ára&e#(oK#r!)+!" no!&re de un !ate!ático y astróno!o ára&e .ue escri&ió un tratado

so&re !anipulación de n!eros y ecuaciones en el si#lo *:'

TIPOS DE AL8ORIT9OS

Cu#(!t#t!o%: ;on a.uellos .ue

descri&en los pasos utilizando

pala&ras'

Cu#nt!t#t!o%: ;on a.uellos .ue

utilizan cálculos nu!%ricos para

deinir los pasos del proceso'

LEN8UAJES AL8ORT9ICOS

*ndican una serie de s!&olos y re#las .ue se utilizan para descri&ir de !anerae<plcita un proceso' =ueden ser)

8r!o% o D!#r#+# d$ F(u5o: Es la representación #ráica de las operaciones.ue realiza un al#orit!o'

No 8r!o% o P%$udo"d!o: Es la representación en or!a descriptia de las

operaciones .ue de&e realizar un al#orit!o'

Page 10: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 10/143

CARACTERSTICAS DE UN AL8ORIT9O

  F!n!to: ;i se si#ue un al#orit!o" se de&e ter!inar en un n!ero inito de pasos'

  D$!n!*($) n al#orit!o de&e ser preciso e indicar el orden de realizaciónde cada paso' ;i se si#ue un al#orit!o dos eces" se de&e o&tener el !is!o

resultado cada ez'

  Entr#d#%: El al#orit!o de&e tener cero o !ás entradas" es decir cantidades

dadas antes de e!pezar'

 S#(!d#%: el al#orit!o tiene una o !ás salidas en relación con las entradas'

>UG SON LAS ESTRUCTURAS DE DATOSH

Es una colección datos .ue pueden ser caracterizados por su or#anización y

las operaciones .ue se deinen en ella'

E$e!plo de Estructura de datos) rre#los" rcios" (adenas y istas'

CLASIFICACIÓN DE LAS ESTRUCTURAS DE

DATOS ESTTICAS: ;u ta!a>o en !e!oria es

i$o' E$e!plo" arre#los" con$untos"

cadenas'

DIN9ICAS: ;u ta!a>o en !e!oria es

aria&le' E$e!plo" pilas" colas" listas"

ár&oles" #raos" etc' Estas a su ez se

diiden en)

LINEALES: ;on a.uellas estructuras

donde los datos se al!acenan en zonas

continuas sucesias o adyacentes" una

detrás de otra' E$e!plo) pilas" colas"

listas'

NO LINEALES: ;on a.uellas estructuras

donde los datos no se encuentra en

or!a continua" es decir ay ?&iurcación@'

E$e!plo ár&oles" #raos'

Page 11: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 11/143

9ETODOLO8A PARA CONSTRUIR UN AL8ORIT9O

=ara .ue la la&or de pro#ra!ación sea una tarea ácil de&e!os se#uir una!etodolo#a la cual co!prende los si#uientes pasos)

#/ einición del pro&le!a Enunciado*/ einición de la solución nálisis del pro&le!a/ ise>o del al#orit!od/ esarrollo del pro&le!a (odiicación$/ epuración y prue&as E$ecución – Ealuación de esultados/ ocu!entación

DESARROLLO DE UN CASO PRCTICO

I/ DEFINICION DEL PRO=LE9A: ;e de&e esta&lecer clara!ente elenunciado del pro&le!a .ue se está planteando'E$e!plo) calcular el área de un rectán#ulo' En unción a la si#uienteór!ula)#M*/

II/ DEFINICION DE LA SOLUCIÓN: ;e de&e identiicar clara!ente losi#uiente)

a' os datos .ue de&en ser in#resados para dar solución al pro&le!a

&' Esta&lecer e<acta!ente los procesos a llearse a ca&o a in de dar con la solución del pro&le!a'

c' eter!inar con e<actitud .u% alores son los .ue se de&e isualizar co!o resultado o solución del pro&le!a" se de&e satisacer loso&$etios del pro&le!a'

E$e!plo)

+ABEC*/+ E =+AE,) (( E DE E E(CDF+

Entr#d# d$ D#to% Pro$%o R$%u(t#do o S#(!d#

A(tur# /=#%$ */

#M* r$# #/

Page 12: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 12/143

I/ DISEO DEL AL8ORIT9O

einidos e<acta!ente los procesos tendre!os .ue pro#ra!ar y conocidos los datos

.ue estarán siendo entre#ados y la inor!ación .ue de&e!os #enerar co!oresultado del proceso" esta!os en condiciones de dise>ar nuestra solución'

=ara construir al#orit!os se utilizan !etodolo#as co!o) El ia#ra!a de Glu$o y=seudocódi#os'

D!#r#+# D$ F(u5o: ,etodolo#a #ráica .ue per!ite construir 

isual!ente el recorrido del lu$o de un pro#ra!a y estructurar el al#orit!opara una solución deter!inada'

S!+*o(o2# u%#d# $n un D!#r#+# d$ F(u5o:

S2+*o(o Lo Bu$ %!n!!#

In!!o o !n de un ia#ra!a de Glu$o'

Entr#d# o S#(!d#: epresenta una operación de

entrada de datos o salida de inor!ación'

Pro$%o: epresenta una operación de

procesa!iento de datos'

D$!%!"n: Aiurca el lu$o del al#orit!o" dependiendodel resultado de la e<presión ló#ica'

Con$tor: Este s!&olo se usa para conectar entre s

dos o !ás puntos relacionados al dia#ra!a de lu$o'

D!r$!"n: as lecas indican la dirección del lu$o

de control en la secuencia del al#orit!o'

Page 13: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 13/143

E5$+,(o d$ un D!#r#+# d$ (u5o:

El si#uiente dia#ra!a de lu$o constituye el al#orit!o .ue da solución al caso propuesto'

**(*+

0eer)

&"1

aH&I1

Escri&ir 

a

G*

PSE U D O C Ó D I8 O :

Es un len#ua$e de especiicación descripción de al#orit!os'

Feneral!ente %$ $%r!*$ $n $( !d!o+# n#tur#( d$( u%u#r!o "

es !uy se!e$ante al códi#o uente de un pro#ra!a'

;e considera un pri!er &orrador" dado .ue el pseudocódi#o

tiene .ue traducirse posterior!ente a un len#ua$e de

pro#ra!ación' El pseudocódi#o no puede ser e$ecutado por el

co!putador'

E5$+,(o d$ un P%$udo"d!o: P#r# $( d$%#rro((o d$( #%o ,ro,u$%to/

**(*+

eer &"

aH&I

Escri&ir 

a

G*

Page 14: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 14/143

II/ DESARROLLO DEL PRO=LE9A Cod!!#!"n/:

(onsiste en la codiicación del pro#ra!a' =artiendo del al#orit!o desarrollado en

el paso anterior" para este in se de&erá utilizar un len#ua$e de pro#ra!ación" para

nuestro caso Baa'

Cod!!#!"n $n J## d$( #(or!t+o #nt$r!or 

i!port$aa<'sJin#'IK

pu&lic class (alculadora L

pu&lic static oid !ain;trin# ar#sMN

L

 DECLARACION DE ARIA=LES

int&""aK

 IN8RESO DE DATOS-E%to% d#to% %on #,tur#do% o+o Str!n

;trin# &&HB+ption=ane'soJ*nputialo#O*n#resa &ase ) OK

;trin#HB+ption=ane'soJ*nputialo#O*n#resa altura ) OK

 LOS DATOS RECEPCIONADOS DE=ERAN SER CONERTIDOS A( TIPO >UECORRESPONDEN

&H*nte#er'parse*nt&&K

H*nte#er'parse*ntK

 PROCESO DE DATOS

aH&IK

 SALIDA DE INFOR9ACION

;yste!'out'printlnOEl área es) O P aK

Q

Q

Page 15: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 15/143

Not#: ;trin# no es un tipo de dato pri!itio" sino corresponde a una clase de Baadesde la cual instancia es decir se crea todos los tipos de cadenas de te<to' =or otra parte" Baa s ace dierencia entre las !aysculas y !insculas" por lo .ue

de&e!os ser cuidadosos al escri&ir el códi#o uente" por lo #eneral los no!&res delas clases sie!pre e!piezan con !aysculas'

III/ DEPURACION < PRUE=A: (onsiste en la e$ecución" depuración y soluciónde errores' os errores .ue podran presentarse pueden ser)

Error$% d$ S!nt#'!%: ;on errores de escritura de códi#o" el co!pilador no los puedeinterpretar y por lo tanto cuando e$ecuta!os el pro#ra!a los se>ala co!o un error 

indicándose la lnea y ele!ento desconocidos" !ientras no arre#le!os todos estoserrores el pro#ra!a no podrá e$ecutarse'

Error d$ E5$u!"n: El pro#ra!a puede e$ecutarse" pero por un !al !ane$o delpro#ra!a o un in#reso inde&ido" el pro#ra!a colapsa o cierra repentina!ente" estostipos de errores de&en eitarse y de&e ser el pro#ra!a .uien pueda controlarlos'

Error d$ L"!# o ,ro$d!+!$nto: Este tipo de error es perci&ido cuando nosda!os cuenta .ue los resultados de los procesos no son los correctos'

Codos estos tipos de errores de&en e<a!inarse antes de dar por concluido elproceso de desarrollo del pro#ra!a' e presentarse un error de ló#ica se de&erealizar un eed&acR etroali!entación y de&e!os oler al =;+ ro' 1

I/ DOCU9ENTACION:

En esta etapa de&e recopilarse toda la docu!entación #enerada en las etapasanteriores" la cual a a serir co!o &ase para la ela&oración del !anual t%cnico'

Page 16: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 16/143

TEMA

Estrctra

Co&!icio&al

Algorítmica y Estructura de Datos Página 0,

Universidad Privada TELESUP

Page 17: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 17/143

Algorítmica y Estructura de Página

T"ma '$ Estrctra Co&!icio&al

na instrucción de decisión o selección eala una condición y en unción del resultado

de esa condición se &iurcará a un deter!inado punto'

E5 $ + , (o :

- D$%$o !r #( !n$.

S! #n +!% #+!o% $nton$%

Ir; #( !n$

S!no9$ Bu$do $n #%#

C(#%!!#!"n d$ (#% E%trutur#% S$($t!#%:

  Estructura ;electia ;i!ple

  Estructura ;electia o&le

  Estructura ;electia nidada

  Estructura ;electia ,ltiple

A% ESTRUCTURA SELECTI(A SISIMPLE

D E F IN IC IÓ N : Es una estructura .ue eala

una e<presión ló#ica y dependiendo del

resultado esco#e entre realizar uno u otro

&lo.ue de códi#o'

En nuestra ida cotidiana a diario to!a!osuna serie de decisiones y todas tienen .ue

er con) $#(u#r un# ,r$+!%# y de acuerdo a

su resultado pode!os to!ar una u otra

decisión'

Page 18: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 18/143

Universidad Privada

SU REPRESENTACIÓN EN EL DIA8RA9A DE FLUJO:

SU REPRESENTACIÓN EN EL PSEUDOCÓDI8O:

;i ScondiciónT entonces

Sacción 1T

Sacción 2T

in si

Sacción nT

SU REPRESENTACIÓN EN LA CODIFICACION:

* !ontoTH300

L dH!ontoI0'30K Q

else

L dH0K Q

Page 19: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 19/143

Universidad Privada

)% ESTRUCTURA SELECTI(A SIDO)LE

Este tipo de estructura presenta de i#ual or!a una condición o e<presión ló#ica" deser erdadera esta condición" se e$ecuta un &lo.ue de instrucciones y en caso

contrario se e$ecuta otro &lo.ue distinto'

;e utiliza en la solución de pro&le!as donde las alternatias se &iurcan en dos

posi&ilidades dependiendo de la condición ealuada'

SU REPRESENTACIÓN EN EL DIA8RA9A DE FLUJO:

SU REPRESENTACIÓN EN PSEUDOCÓDI8O:;i ScondiciónT entonces

Sacción aT

Sacción &T

sino

in si

Sacción <T

Sacción yT

SU REPRESENTACIÓN EN LA CODIFICACIÓN:

iScondiciónT

L Sacción aTK

Sacción &TK Q

elseL Sacción <TK

Sacción yTK Q

Page 20: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 20/143

C% ESTRUCTURA SIANIDADA

Este tipo de estructura está or!ada por una serie de estructuras selectias .ue se

encuentran in!ersas unas dentro de otras' ;e utiliza para esta&lecer una serie decondiciones $erár.uicas desde las !ás #en%ricas asta las !ás especicas" sino se

cu!plen las pri!eras condiciones" no se ealan las si#uientes'

SU REPRESENTACIÓN EN EL DIA8RA9A DE FLUJO:

SU REPRESENTACIÓN EN EL PSEUDOCÓDI8O:

;i Scond1T entoncesSacción aTSacción &T

;ino;i Scond2T entoncesSacción cTSacción dTsino

;i Scond3T entoncesSacción eTSacción TsinoSacción #TSacción Tin si

Si Co&!# es verdadero se reali)a laaccin a y la accin % y luego el flu1o delprograma sale de la estructura selectiva(

Si no se cumple la Cond0 el flu1o delprograma se dirigirá a evaluar la Cond2 si#sta se cumple slo se reali)ará la accin cy la accin d y luego el flu1o del programasaldrá de la estructura selectiva(

SiCond0 y la Cond2 no se cumple el flu1odel programa se dirigirá a evaluar laCond3 si #sta se cumple slo se reali)arála accin e y accin f y luego el flu1o delprograma saldrá de la estructura selectiva(

En el caso de no cumplirse Cond0 Cond2y Cond3 slo en ese caso se reali)ará laaccin g y la accin 4(

in siin si

Page 21: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 21/143

SU REPRESENTACIÓN EN LA CODIFICACIÓN:

* !ontoTH1000

L

dH!ontoI0'30KQ

else

L

* !ontoS1000 UU!ontoTH500

L dH!ontoI0'20K

Q

else

L * !ontoS500 UU!ontoTH200L dH!ontoI0'10K Q

else

L dH0K Q

Q

Q

El !is!o caso anterior se puede representar de un !odo !ás si!pliicado usando el

$(%$! )

 Cond!!on!n!!#(

* !ontoTH1000

L dH!ontoI0'30K Q

else i !ontoS1000 UU!ontoTH500

 S$und# ond!!"n %!no %$ u+,($ $( #nt$r!or 

L dH!ontoI0'20K Q

else * !ontoS500 UU!ontoTH200

 T$r$r# ond!!"n %!no %$ u+,($n (#% #nt$r!or$%

L dH!ontoI0'10K Q

else

 En $( #%o d$ u+,(!r%$ n!nun# d$ (#% #nt$r!or$%

L dH0K Q

Page 22: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 22/143

D% ESTRUCTURA SELECTI(A MULTIPLES

a estructura eala una e<presión .ue podrá to!ar n alores distintos"

1"2"3"4"V"n' ;e#n .ue eli$a uno de estos alores en la condición" se realizará una

de las n acciones" el lu$o del al#orit!o se#uirá un deter!inado ca!ino entre los nposi&les'

REPRESENTACIÓN EN EL DIA8RA9A DE FLUJO

Cond!!"n

11 22 33 44

nn

A!"n

S1

A!"n

S

A!"n

S3

A!"n

S4

A!"n

Sn

SU REPRESENTACIÓN EN EL PSEUDOCÓDI8O:

#%oQd$E #$r 

E1: #!"n S11

#!"n S1

E: #!"n S1

#!"n S

E3: #!"n S31

#!"n S3

%!no

#!"n S41

#!"n S4

!nQ#$r 

 l in#resar a esta estructura se ealuará el

alor de E" si E ale E1" entonces se

realizarán las acciones ;11 y ;12 y lue#o el

lu$o saldrá de la estructura'

;i E ale E2" entonces se realizarán las

acciones ;21 y ;22 y lue#o el lu$o saldrá dela estructura'

;i E ale E2" entonces se realizarán las

acciones ;21 y ;22 y lue#o el lu$o saldrá de

la estructura'

;i no se cu!plieron las alternatias

anteriores" entonces se realizará las acciones

Page 23: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 23/143

SU PRESENTACIÓN EN LA CODIFICACION

sJitcaria&le

L casealor1 ) L

 *(oBu$ d$ !n%tru!on$% u#ndo $( #(or d$ #r!#*($ $% 1

Q &reaRK

casealor2 ) L

 *(oBu$ d$ !n%tru!on$% u#ndo $( #(or d$ #r!#*($ $%

Q &reaRK

deault )

L

 *(oBu$ d$ !n%tru!on$% u#ndo $( #(or  no $% n!nuno d$ (o% #(or$% #nt$r!or$%

Q &reaRK

Q

EJE9PLO: ealizar un al#orit!o .ue lea el n!ero .ue representa el da de lase!ana y di#a .ue da es" teniendo en cuenta unesH1" ,artes 2V"o!in#oH7

(aseWdediaacer 

1) escri&ir ?unes@

2) escri&ir ?,artes@

3) escri&ir ?,i%rcoles@

4) escri&ir ?Buees@

5) escri&ir ?/iernes@

6) escri&ir ?;á&ado@

7) escri&ir ?o!in#o@

Gin' Xacer 

d$ #r!#*($

Page 24: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 24/143

TEMA

Estrctr

asR"*"titi+as

Universidad Privada TELESUP

Algorítmica y Estructura de Datos Página 22

Page 25: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 25/143

Algorítmica y Estructura de Página

T"ma ,$ Estrctras R"*"titi+as

PRO8RA9ACION 9ODULAR

os su&pro&le!as o !ódulos se dise>an con su&pro#ra!as" .ue a su ez se

clasiican en procedi!ientos y unciones' os procedi!ientos y las unciones

son unidades de pro#ra!as dise>ados para e$ecutar una tarea especica' El

proceso de desco!posición de un pro&le!a en !ódulos se conoce co!o

!odulación y a la pro#ra!ación relatia a ellos" pro#ra!ación !odular'

ESTRUCTURA REPETITIA

En un al#orit!o es necesario repetir una o arias acciones" un n!ero deter!inado

de eces' as estructuras .ue repiten una secuencia de instrucciones" un n!ero

deter!inado de eces" se deno!inan *u($%" y se lla!a !t$r#!"n al eco de repetir 

la e$ecución de una secuencia de acciones'

REPRESENTACIÓN DE LA ESTRUCTURA FOR/ EN EL DIA8RA9A DE FLUJO

PARA I d$ 1 # N

*nstrucción  

Esta estructura per!ite repetir el &ucle de instrucciones" de 1a eces" lue#o de cu!plirselas n ueltas" se procederá ae$ecutarse las instrucciones.ue se encuentran despu%sdel &ucle'

*nstrucción A

*nstrucción a aria&le * a

incre!entando sus aloresauto!ática!ente" siendo

Page 26: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 26/143

PARA I de Na 1

Instrucció

n A

Instrucció

n B

Instrucció

n N

Esta estructura per!ite repetir el &ucle deinstrucciones" de a 1 eces" lue#o decu!plirse la n-si!a uelta" se procederáa e$ecutarse las instrucciones .ue seencuentran despu%s del &ucle'

a aria&le * a decre!entado susalores auto!ática!ente" siendo estos)"V'" 3"2"1

PARA I de 2 a N

paso 2

Instrucción A 

Instrucción BEsta estructura per!ite repetir el &ucle de instrucciones" de 2a eces" donde en cadauelta el alor de * se iráincre!entando de 2 en 2'

a aria&le * a decreciendosus alores auto!ática!ente"siendo estos) 2" 4" 6" 8" V

Instrucción N

     B

    u    c     l    e

Page 27: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 27/143

SU REPRESENTACION EN PSEUDOCODI8O

=ara * de 1 a eces

*nstrucción

*nstrucción A

)*nstrucción

Gin =ara

*nstrucción :

*nstrucción Y

ESTRUCTURA REPETITIA K!($

=ara * de a 1 eces

*nstrucción

*nstrucción A)

*nstrucción

Gin =ara

DEFINICIÓN

a estructura repetitia

+!$ntr#% en in#l%s Jile o do

Jile) hacer mientras es

a.uella en .ue el cuerpo del

&ucle se repite !ientras se

cu!ple una deter!inada

(uando se e$ecuta la instrucción ,ientras

la pri!era cosa .ue sucede es .ue se

eala la condición una e<presión

ló#ica' ;i se eala #(%#" nin#una

acción se to!a y el pro#ra!a prosi#ue

con las instrucciones .ue se encuentran

uera del &ucle' ;i la e<presión es

$rd#d$r#" entonces se e$ecuta el cuerpo

del &ucle" despu%s de lo cual se eala

de nueo la e<presión ló#ica' Esteproceso se repite una y otra ez !ientras

la e<presión ló#ica condición sea

erdadera'

Este tipo de estructura es utilizada cuando se necesita la

estructura repetitia" !as no se conoce con e<actitud lacantidad de iteraciones del &ucle" pues la cantidad de

repeticiones dependerá de si se si#ue cu!pliendo la condición

principal del &ucle'

Page 28: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 28/143

REPRESENTACIÓN EN EL DIA8RA9A DE FLUJO

Cond!!"n

*nstrucción

*nstrucción :

*nstrucción A*nstrucción Y

*nstrucción

,ientras Cond!!"n

*nstrucción

*nstrucción A

'

'

'

*nstrucción

Gin ,ientras*nstrucción :

*nstrucción Y

SU REPRESENTACIÓN EN LA CODIFICACIÓN

Jile condición

L instrucción K

instrucción AK

instrucción K

Q

*nstrucción :K

*nstrucción YK

Page 29: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 29/143

CONT ADORE S < ACU9 UL ADORE S

CONTADORES 

os procesos repetitios son la &ase del uso de los co!putadores' En estosprocesos se necesita nor!al!ente contar los sucesos o acciones internas del&ucle' na !anera de controlar un &ucle es !ediante un contador' n contador es una aria&le cuyo alor se incre!enta o decrece en una cantidad constanteen cada iteración'

INICIO

CONTM1

a aria&le contador se inicializa

NOCONTM6

,uestra el alor de

(+C

SI

Cu$r,o d$( =u($,ostrar (+C

CONTMCONT1 FIN

a aria&le contador sencre!enta en 1 por cadauelta'

i

Page 30: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 30/143

 ACUMULADOR 

n acu!ulador o totalizador es una aria&le cuya !isión es al!acenar 

cantidades aria&les resultantes de su!as sucesias' ealiza la !is!a

unción .ue un contador" con la dierencia de .ue el incre!ento o decre!ento

de cada su!a es aria&le en lu#ar de constante" co!o en el caso delcontador'

;e representa por la instrucción ;H;P" donde es una aria&le y no una

constante'

INICIO

CONTM1

SU9AM0

NOCONTRM6

SI

eer /alor  FIN

CONTMCONT1

SU9AMSU9A#(or 

Page 31: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 31/143

TEMA

Clasi-caci.&!"

lasEstrctras!" los Datos

Algorítmica y Estructura de Datos Página 25

Universidad Privada TELESUP

Page 32: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 32/143

Algorítmica y Estructura de Página

T"ma /$ Clasi0icaci.& !" las Estrctras !"Datos

INTRODUCCIÓN

Codas las aria&les .ue se an considerado

asta el !o!ento son de tipo si!ple' na

aria&le de tipo si!ple consiste de una sola

ca$a de !e!oria y sólo puede contener un

alor cada ez' na aria&le de tipo

estructurado consiste en toda una colección

de casillas de !e!oria'

os tipos de datos estudiados) entero" real" ala&%tico son considerados co!o datos

de tipo si!ple" puesto .ue una aria&le .ue se deine con al#uno de estos tipos

sólo puede al!acenar un alor a la ez" es decir e<iste una relación de uno a uno

entre la aria&le y el n!ero de ele!entos alores .ue es capaz de al!acenar'

En ca!&io un dato de tipo estructurado" co!o el arre#lo" puede al!acenar !ás de un

ele!ento alor a la ez" con la condición de .ue todos los ele!entos de&en ser del

!is!o tipo" es decir" .ue se puede tener un con$unto de datos enteros" reales" etc'

CLASIFICACION DE LOS DATOS SI9PLES

D#to% Nu+;r!o%: =er!iten representar alores escalares de or!a nu!%rica" esto

incluye a los n!eros enteros y reales' Estos tipos de datos per!iten realizar 

operaciones arit!%ticas co!unes'

D#to% L"!o%: ;on a.uellos .ue solo pueden tener dos alores cierto o also ya

.ue representan el resultado de una co!paración entre otros datos nu!%ricos o

alanu!%ricos'

Page 33: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 33/143

D#to% A(#nu+;r!o% Str!n/: ;on una secuencia de caracteres alanu!%ricos .ue

per!iten representar alores identiica&les de or!a descriptia" esto incluye no!&res

de personas" direcciones" etc' Es posi&le representar n!eros co!o alanu!%ricos"pero estos pierden su propiedad !ate!ática" es decir no es posi&le acer operaciones

con ellos' Este tipo de datos se representan encerrados entre co!illas'

DEFINICION DE EPRESIÓN: as e<presiones son co!&inaciones de

constantes" aria&les" s!&olos de operación" par%ntesis y no!&res de unciones

especiales'

DEFINICION DE OPERADOR < SUS TIPOS

O,$r#dor$%: ;on ele!entos .ue relacionan de or!a dierente" los alores de una

o !ás aria&les yZo constantes' os operadores per!iten !anipular alores'

TIPOS DE OPERADORES

R$(#!"n#($%: (o!para estos alores entre s y esta co!paración produce un

resultado de certeza o alsedad erdadero o also'

L"!o%: +peradores .ue se utiliza para esta&lecer relaciones entre alores ló#icos'

os operadores relaciónales co!paran alores del !is!o tipo nu!%ricos o

cadenas'

Cene!os los si#uientes operadores

Y

+ +

+ +C

DEFINICIÓN DE CONSTANTE: na constante es un dato nu!%rico oalanu!%rico .ue no ca!&ia durante la e$ecución del pro#ra!a'

Page 34: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 34/143

Universidad Privada

DEFINICIÓN DE ARIA=LE

Es un espacio en la !e!oria de la co!putadora .ue per!ite al!acenar 

te!poral!ente un dato durante la e$ecución de un proceso" su contenido puede

ca!&iar durante la e$ecución del pro#ra!a' =ara poder reconocer una aria&le en la!e!oria de la co!putadora" es necesario darle un no!&re con el cual poda!os

identiicarlo dentro de un al#orit!o'

CLASIFICACION DE LAS ARIA=LES POR SUCONTENIDO

#r!#*($% Nu+;r!#%: ;on a.uellas en las cuales se al!acenan alores nu!%ricos"

positios o ne#atios" al!acenan n!eros del 0 al 9" si#nos P y - y el punto deci!al'

E$e!plo) iaH0'15 piH3'1416 costoH2500

#r!#*($% L"!#%: ;on a.uellas .ue solo pueden tener dos alores

CE o G;E + ;; E[*/ECE; ;* - +" estos representan

el resultado de una co!paración entre otros datos'

#r!#*($% A(#nu+;r!#%: Están or!adas por caracteres

alanu!%ricos letras" n!eros y caracteres especiales'

E$e!plo)letraH\a\ apellidoH\lopez\ direccionH\' i&ertad ]190\

Page 35: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 35/143

CLASIFICACIÓN DE LAS ARIA=LES POR SU USO

#r!#*($% d$ Tr#*#5o: /aria&les .ue reci&en el resultado de una operación

!ate!ática co!pleta y .ue se usan nor!al!ente dentro de un pro#ra!a'E$e!plo) su!a H a P & Z c

Cont#dor$%: ;e utilizan para llear el control del n!ero de ocasiones en .ue se

realiza una operación o se cu!ple una condición' (on los incre!entos

#eneral!ente de uno en uno' ;u uso !ás co!n es dentro de &ucles'

Au+u(#dor$%: Gor!a .ue to!a una aria&le y .ue sire para llear la su!a

acu!ulatia de una serie de alores .ue se an leyendo o calcu

lando pro#resia!ente aHaP3 en un ciclo desde por e$e!plo .ue es donde !ás

se usan'

DATOS ESTRUCTURADOS:

Estructura de atos es una colección de datos .ue se caracteriza por su

or#anización y las operaciones .ue se deinen en ella' os datos de tipo estándar 

pueden ser or#anizados en dierentes estructuras de datos) estáticas y diná!icas'

CLASIFICACIÓN DE LAS ESTRUCTURAS DE DATOS

ESTRUCTURA DE DATOS ESTTICAS: Es a.uella en la .ue el espacio

ocupado en !e!oria se deine en tie!po de co!pilación y no puede ser 

!odiicado durante la e$ecución del pro#ra!a' (orresponde a este tipo)

#/  rre#los nidi!ensionales arre#los

*/  rre#los ,ultidi!ensionales !atrices

Page 36: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 36/143

ESTRUCTURAS DE DATOS DIN9ICAS:

;on a.uellas en las .ue el espacio ocupado

en !e!oria puede ser !odiicado en tie!p

de e$ecución' (orresponden a este tipo)

1. istas Enlazadas

. =ilas

3. (olas

4.  Dr&oles

6. (on$untos

7. Fraos

@. Ca&las Xas

ARRE8LOS ARRA<S/

n Arreglo es una estructura de datos .ue al!acena &a$o el !is!o no!&re aria&le

a una colección de datos del !is!o tipo'

os arre#los se caracterizan por ser)

Finita: Codo arre#lo tiene un l!iteK se de&e deter!inar cuál será el n!ero !á<i!o

de ele!entos .ue podrán or!ar parte del arre#lo'

Homogénea: Codos los ele!entos del arre#lo de&en ser del !is!o tipo'

Ordenada: ;e puede deter!inar cuál es el pri!er ele!ento" el se#undo" el tercero"'''

y el n-%si!o ele!ento

o

Page 37: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 37/143

EDAD 1 1? 6 3

NDICE 0 1 2 3 4

lenado de un /ector 

=ode!os o&serar un arre#lo unidi!ensional con las si#uientes caractersticas)

- on#itud) 5 Ele!entos

- =ri!era posición) 0

- ^lti!a posición) on#itud-1

- o!&re del rre#lo) EDAD

 si#nar datos a las posiciones de un arre#lo) +&tener datos del arre#lo)

EM1N H 18 <HEM2N

EM2N H 22 yHEM3N

EM3N H 25 zHEM4N

os arre#los se clasiican de acuerdo con el n!ero de di!ensiones .ue tienen' s

se tienen los)

- nidi!ensionales ectores

- Aidi!ensionales ta&las o !atrices

- ,ultidi!ensionales tres o !ás di!ensiones

Page 38: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 38/143

,# +E T'%A* %E OMEN&A&A*

CONCEPTOS =ASICO DE PRO8RA9ACION

tt p) ZZJ J J'! ail < ! a i l'c o ! Zc u rs o -ap rende -p ro# ra ! a rZ c on c epto s -& a s i c o s -

p ro# ra ! a c i o n

  ESTRUCTURAS SELECTIAS SI9PLES

tt p) ZZJ J J'! ail < ! a i l'c o ! Zc u rs o -ap rende -p ro# ra ! a rZti p o s -e stru c t u ra s - s e l e c t i a s -

e stru c t u ra -s i ! p l e

-# A TI.I&A&E* / E0E% I IO*

#/ Buan" a.uel y aniel aportan cantidades de dinero para or!ar un capital'

Buan y a.uel aportan en dólares y aniel en soles' ise>e un pro#ra!a .ue

deter!ine el capital total en dólares y .ue porcenta$e de dico capital aporta

cada uno' (onsidere .ue) 1 dólar H 3'25 soles'

  Ena a tra%s de la actiidad “Capita! " el ia#ra!a de Glu$o .ue

rele$e el dise>o del pro#ra!a'

*/  un tra&a$ador le descuentan de su sueldo el 10_" si su sueldo es !enor o

i#ual a 1000" si es por enci!a de 1000 y asta 2000 el 5_ del adicional es

decir del !onto .ue so&repasa de 1000" y por enci!a de 2000 el 3_ del

adicional es decir del !oto .ue so&repasa de 2000' (alcular el descuento y

sueldo neto .ue reci&e el tra&a$ador dado su sueldo'

  Ena a tra%s de la actiidad “S"edo! " el pseudo-códi#o .ue

utilizaras para el dise>o del pro#ra!a'

Page 39: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 39/143

1# A'TOE.A+'A I(N

1. Un #(or!t+o $%:#/ El resultado del procesa!iento de datos'*/ na serie de pasos or#anizados .ue descri&e el proceso a se#uir" para dar 

solución a un pro&le!a especico'/ esarrollado solo para las co!putadoras'd/ n procedi!iento en pasos iteratios en or!a secuencial'$/ n resultado o respuesta si#niicatia con la .ue se puede to!ar decisiones'

. Cu( no $% un# +$todo(o2# ,#r# on%tru!r un orr$to #(or!t+oH

#/ einición del pro&le!a Enunciado*/ einición de la solución nálisis del pro&le!a/ esarrollo del pro&le!a (odiicaciónd/ epuración y prue&as Ealuación de esultados$/ ise>o del pseudocódi#o del al#orit!o

3. Un P%$udo"d!o $%:#/ n len#ua$e .ue solo utiliza la co!putadora'*/ n len#ua$e natural no apropiado para la descripción de al#orit!os'/ na descripción de los al#orit!os" para resoler pro&le!as'

d/ =er!ite descri&ir una secuencia de pasos en particular'$/ n len#ua$e de &a$o niel'

4. Un# $%trutur# ond!!on#( $%:#/ na instrucción de condición !ltiple'*/ na instrucción .ue solo to!a una acción deter!inada'/ na instrucción .ue eala una condición y en unción del resultado de esa

condición se &iurcará a un deter!inado punto'd/ a instrucción solo per!ite seleccionar una acción'$/ ;olo es para co!prar resultados en or!a ló#ica'

6. L#% $%trutur#% d$ ond!!"n +(t!,($ %on:#/ as .ue per!iten co!parar un solo resultado'*/ as .ue co!para una aria&le contra distintos posi&les resultados"

e$ecutando para cada caso una serie de instrucciones especiicas'/ as .ue e$ecutan arias instrucciones para deter!inar arios acciones'd/ as .ue per!ite acer arias co!paraciones en or!a ló#ica'$/ os .ue no son de uso co!n en los len#ua$es de pro#ra!ación'

Page 40: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 40/143

7. L#% $%trutur#% r$,$t!t!#% o 2(!#% %on:#/ as acciones .ue se e$ecutan una sola ez'*/ n con$unto de acciones .ue se puedan e$ecutar una cantidad especica de

eces'/ as .ue per!iten e$ecutar acciones en or!a indeinida'd/ as acciones se deinen y e$ecutan n-1 cantidad de eces'$/ as .ue no son per!itidas en los len#ua$es de pro#ra!ación'

@. L# $%trutur# r$,$t!t!# +!$ntr#% $n !n(;% K!($/ $%:#/ na repetición se .ue utiliza con e<actitud la cantidad de iteraciones*/ (uando se e$ecuta la instrucción !ientras y es also las acciones se e$ecutan'/ na repetición de las acciones !ientras se cu!ple una deter!inada

condición'

d/ (uando la e$ecución de la instrucción solo es e$ecuta una sola ez$/ (uando no es necesario para estructura de repetición'

?. Un ,ro$d!+!$nto $%:#/ n su&pro#ra!a .ue solo per!ite reci&ir un solo alor co!o pará!etro de

entrada'*/ n su&pro#ra!a .ue deuele solo un alor co!o resultado del

procedi!iento'/ n su&pro#ra!a .ue realiza una tarea especica' eci&e y deuele cero o

!ás alores a dico pro#ra!a'

d/ n su&pro#ra!a .ue deine a un al#orit!o'$/ n su&pro#ra!a .ue e$ecuta una cantidad ininita de acciones'

. Un# $%trutur# d$ d#to% $%:#/ na estructura unidi!ensional .ue al!acena alores de distinto tipo'*/ na estructura .ue al!acena una cantidad ininita de alores/  .uello .ue per!ite al!acenar arios alores dierentes en su estructura'd/ /aria&le .ue reci&e el resultado de una operación !ate!ática co!pleta'$/ na colección de datos .ue se caracterizan por su or#anización y las

operaciones .ue se deinen en ella'

10. >u; $% un# #r!#*($H#/ Es un espacio en la !e!oria .ue per!ite al!acenar te!poral!ente un dato

durante la e$ecución de un proceso'*/ ;u contenido no puede ca!&iar durante la e$ecución del pro#ra!a'/ a co!putadora le asi#na un no!&re para identiicarla'd/ o per!ite ser utilizada dentro de un al#orit!o'$/ El alor de la aria&le es nica en la !e!oria de la co!putadora'

Page 41: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 41/143

2# %E*'MEN

UU N NIIDDAADD DDEE AAPPR R EE N NDDIIZZAAJJEE I:I:

n al#orit!o es una serie de pasos or#anizados .ue descri&e el proceso .ue se

de&e se#uir" para dar solución a un pro&le!a especico' =ara desarrollar un

al#orit!o tene!os .ue se#uir los si#uientes pasos) 1 einir el pro&le!a 2

 nalizar el caso' 3 ise>ar el al#orit!o 4 (odiicar el pro#ra!a 5 =rue&a y

e$ecución'

En un al#orit!o es necesario tener estructura de decisión o selección .ue eala

una condición y en unción del resultado de esa condición se &iurcará a un

deter!inado punto' as estructuras selectias se utilizan para to!ar decisiones

ló#icas" de a .ue se suelen deno!inar ta!&i%n estructuras de decisión oalternatias

as estructuras .ue repiten una secuencia de instrucciones" un n!ero

deter!inado de eces se deno!inan *u($%" y se lla!a !t$r#!"n al eco de

repetir la e$ecución de una secuencia de acciones'

n arre#lo es una estructura de datos .ue al!acena &a$o el !is!o no!&re

aria&le a una colección de datos del !is!o tipo y se clasiica en arre#los

unidi!ensionales ectores o arre#los !ultidi!ensionales !atrices' os datos

al!acenados en un arre#lo son de carácter te!poral'

Page 42: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 42/143

ersidad Privada TELESUP

UNIDAD

DEAPRENDIZA

 JE

OPERACIONES CON ARRE8LOSUNIDI9ENSIONALES

  OMPETEN IA:

Univ

Algorítmica y Estructura de Datos

Page 43: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 43/143

Al finalizar esta unidad usted será capaz

de

“Construiralgoritmos para resol!er

pro3lemas

Página ,6

3asados en estructuras de datos estáticas"#

Page 44: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 44/143

Universidad Privada

$# INT%O&' I(N

#/ P r $ % $ n t# !"n & o n t$ ' tu # (! ) # !"nEl alu!no desarrolla una actitud analtica .ue le per!ita aplicar las

operaciones &ásicas con los datos nu!%ricos de un arre#lo unidi!ensional"

co!o su!ar" pro!ediar" allar !á<i!o" allar !ni!o '

*/ C o + , $ t$ n !# %

(onstruye al#orit!os para resoler pro&le!as &asados en estructuras de datos

estáticas'

/ C # , # !d # d $ %

•  plica las operaciones de su!a" pro!edio" alor !á<i!o y !ni!o de losalores car#ados en el arre#lo unidi!ensional'

•  *dentiica y desarrolla a&ilidades &ásicas para la recolección de datos'

*nsertar" ,odiicar" Eli!inar y Auscar ele!entos dentro de un arre#lo'

• *dentiica y desarrolla a&ilidades co!ple$as para unir dos arre#los

unidi!ensionales'

• esarrolla soluciones utilizando recursiidad y reconoce las enta$as y

desenta$as de su uso'

d/ A t !tu d $ %  esarrolla una actitud e!prendedora !ediante la to!a de iniciatias'

   cta con responsa&ilidad personal" al cu!plir con los orarios

esta&lecidos'

  espeto a las nor!as de coniencia'

  (u!ple con la presentación de los tra&a$os enco!endados de !anera

indiidual y en e.uipo'

$/ P r$ %$ nt# !"n d$ !d$# % *%!# % & ont$ n!do $ %$ n !# ($ % d$ (# Un!d# d

L# Un!d#d d$ A,r$nd!)#5$ o+,r$nd$ $( d$%#rro((o d$ (o% %!u!$nt$%t$+#%:

1. O,$r#!on$% #(or2t+!#% on #rr$(o% un!d!+$n%!on#($%.

. 9;todo% d$ r$o($!"n d$ d#to%.

3. O,$r#!on$% on $tor$%.

4. R$ur%!!d#d.

Algorítmica y Estructura de DatosPágina ,0

Page 45: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 45/143

TEMA

O*"racio&"s

algorítmicasco& arr"glos

&i!im"&sio&al"s

Universidad Privada TELESUP

Algorítmica y Estructura de Datos Página ,2

Page 46: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 46/143

Algorítmica y Estructura de Página

)# &E*A%%O++O &E ONTENI&O*

T$+# 1: O,$r#!on$% A(or2t+!#% on Arr$(o% Un!d!+$n%!on#($%

(o!o sa&e!os un Arr$(o ARRA</ es una estructura de datos en la .ue se

al!acena una colección de datos del !is!o tipo'

E5$+,(o: as notas de los estudiantes' Cienen un nico no+*r$ d$ #r!#*($

NOTAS/" .ue representa todos los ele!entos" los cuales se dierencian por

un 2nd!$ o %u*2nd!$ 0"1" 2" 3Vn" pueden ser enteros" no ne#atios"

aria&les o

e<presiones enteras'

NOTAS 1 1? 0 V 13

NDICE

D E CL A R A C I O N D E UN A RR E G L O .- Lo% #rr$(o% un!d!+$n%!on#($% %$

d$(#r#n d$ (# %!u!$nt$ +#n$r#:

TIPO !d$nt!!#dor M ARRA< Wt!,o-%u* 2nd!$X OF t!,oY

Donde#

!d$nt!!#dor ) es el no!&re del arre#lo'

t!,o-%u*2nd!$) puede ser tipo ordinal &ooleana o car"

tipo enu!erado o tipo su& ran#o' o pueden ser usados los

tipos estándar real o inte#er'

t!,o) se reiere al tipo de los ele!entos y puede ser de

cual.uiera de los tipos estándar o deinido por el usuario'

0

Page 47: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 47/143

VA RIA BLE STIP OA RRA Y .- se declaran co!o)

AR no+*r$#r: no+*r$#rr#&Y

Donde#

no+*r$#r ) es cual.uier identiicador álido .ue representa el no!&re de

la aria&le'

No+*r$#rr#&) no!&re del arre#lo utilizado en el T<PE.

E$empo#

T<PE ALORESM ARRA<W-10...10XOF INTE8ERY

AR PRECIOS: ALORESY

N O T A S: 

as declaraciones de arre#los pueden

aparecer directa!ente en la sección dearia&les" pero es preeri&le no acerlo'

as declaraciones de ndices tipo-ndice no

pueden contener aria&les'

AR 9UESTRA: ARRA<W1VNXOFREALY INCORRECTO" salo .ue

aya sido declarado co!o una constante'

Page 48: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 48/143

OP ERA CION ES CON A RREGL OSUN IDIMENS ION AL ES OV ECT ORES :

=ara leer los ele!entos de un arre#lo de&en utilizarse estructuras de repetición'

E$empo# C*=+ *;C+CHYM1V30N+GEY

/ EG*'+C;)*;C+C)FOR

[ILE

=ara iH1 a 30 acer 

EE*;C+CMiN

Gin =ara

iH1,ientrasiSH30 Xacer

EE*;C+CMiNiHiP1

Gin ,ientras

ESCRITURA:

=ara iH1 a 30 acer

EEota

*;C+CMiN H ota

Gin =ara

COPIAR: ;ólo cuando a!&os tienen el !is!o tipo y el !is!o ta!a>o'

=ara iH1 a 30 acer 

EG*MiNH*;C+C;MiN o %!+,($+$nt$:

EG*H+C;

Gin =ara

SU9AR LOS DATOS DE UN ARRE8LO UNIDI9ENSIONAL

;e de&erá recorrer todos los datos del arre#lo u%#r (# $%trutur# FOR'

entro de la estructura repetitia" acu!ular cada uno de los datos del arre#lo

en una aria&le acu!ulador nu!%rica'

etornar el alor acu!ulado en la aria&le nu!%rica'

Page 49: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 49/143

M ét odo Su ma r

T!,o d$ d#to Bu$ r$torn# o+o r$%,u$%t#: dou&le

Aru+$nto% Bu$ r$!*$: on#itud del arre#lo n

Fun!onSu+#r /ec)array) realacu!)real  eclaración de aria&lesi) entero

acu!H0  inicio del acu!ulador =ara iH1 a 30 acer  recorre el arre#lo

acu!H acu! P /ecMiN   cu!ulador Gin =ara;,Hacu!   si#nación a la unción

Gin uncion

P rome da r ! o" da t o" de u# a rre $! o u# dm e #"o#a !

;e de&erá recorrer todos los datos del arre#lo U%#r (# $%trutur# FOR'

entro de la estructura repetitia" acu!ular cada uno de los datos del arre#lo

en una aria&le acu!ulador nu!%rica'

ue#o de ter!inar la estructura repetitia" diida el alor acu!ulado entre la

cantidad de ele!entos .ue contiene el arre#lo

etornar el alor o&tenido en el paso anterior'

Fun!on Pro+$d!#r /ec)array) real cu!"pro!) real  eclaración de aria&lesi) entero

acu!H0  *nicio del acu!ulador =ara iH1 a 30 acer  ecorre el arre#lo

acu!H acu! P /ecMiN   cu!ulador Gin =ara

=ro!H acu!Z30 iidi!os por lon#itud de alores del arre#lo=+,E*H=ro!   si#nación a la unción

Gin Guncion

Page 50: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 50/143

E L VA LO R M% &IMO DE LOS DA TO S CO NTENIDO S E N UN A RRE GLO

UNIDIME NSIO NA L

1. ;e de&e to!ar ipot%tica!ente .ue el pri!er dato del arre#lo es el !ayor'. ;e de&erá recorrer el arre#lo desde la se#unda posición asta la lti!a

posición' Esto per!itirá ealuar cada uno de los datos del arre#lo' U%#r (#

$%trutur# FOR'

3. entro de la estructura repetitia" pre#untar si el supuesto !ayor es !enor .ue

el dato ealuado'

4. ;i se cu!ple lo anterior" entonces ese dato ealuado se conertirá en el nueo

!ayor" de lo contrario pasa!os a ealuar el si#uiente dato'

6. ue#o de ter!inar la estructura repetitia" retornar el lti!o alor o&tenido en laaria&le !ayor'

Fun!on9#&or /ec)array) entero/al,a<) entero eclaración de aria&lesi) entero

/al,a<HecM1N inicio del alor !á<i!o

=ara iH2 a 30 acer recorre el arre#lo;i /ecMiN T/al,a< entonces/al,a<H /ecMiN

Gin siGin =ara

,Y+H/al,a<  si#nación a la unciónGin Guncion

'A LLA R EL VA LO R M(NIMO DE LO S DA TO S CONTENIDO S EN UN ARR EG LO

UNIDIMENSIO NA L

1. ;e de&e to!ar ipot%tica!ente .ue el pri!er dato del arre#lo es el !enor'

. ;e de&erá recorrer el arre#lo desde la se#unda posición asta la lti!a posición'

3. entro de la estructura repetitia" pre#untar si el supuesto !enor es !ayor .ue

el dato ealuado'

4. ;i se cu!ple lo anterior" entonces ese dato ealuado se conertira en el nueo

!enor" de lo contrario pasa!os a ealuar el si#uiente dato'

6. ue#o de ter!inar la estructura repetitia" retornar el lti!o alor o&tenido en la

aria&le !enor'

Page 51: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 51/143

Fun!on9$nor /ec)array) entero/al,in) entero  eclaración de aria&lesi) inte#er 

/al,inHecM1N  inicio del alor !ni!o=ara iH2 a 30 acer  recorre el arre#lo;i /ecMiN S/al,in entonces

/al,inH /ecMiNGin si

Gin =ara,Y+H/al,in   si#nación a la unción

Gin unción

Page 52: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 52/143

TEMA

M1to!os!"

R"col"cci.&!"

Dato

s

Universidad Privada TELESUP

Algorítmica y Estructura de Datos Página ,5

Page 53: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 53/143

Algorítmica y Estructura de Página

T$+# : 9;todo% d$ R$o($!"n d$ D#to%

Ca r$a r ! o" dat o" e # u# a rre$! o u#d me #"o#a !

  ;e solicitará la posición en donde desee insertar'

  *ncre!entar la lon#itud del arre#lo en una posición'

  ;olicitar el nueo dato y al!acenarlo en la posición se>alada por el usuario'

Aru+$nto% Bu$ r$!*$: =osición" dato y lon#itud'

Pro$d!+!$nto C#r#r / /ec)array" pos)enterodato)entero" i)entero  eclaración de aria&les

=ara iH1 a pos acer 

/ecMiN H dato  Cranserir el ele!ento a la posición correcta

Gin =ara

Gin =rocedi!iento

I#"e rt a r ! o" da t o" e # u# a rre $! o u# dme #"o#a !

;e solicitará la posición en donde desee insertar'

*ncre!entar la lon#itud del arre#lo en una posición'

ue#o se procederá a transerir los ele!entos una posición acia la dereca"

co!enzando desde el lti!o ele!ento asta la posición donde se desea

insertar'

;olicitar el nueo dato y al!acenarlo en la posición se>alada por elusuario'

Pro$d!+!$nto In%$rt#r / /ec)array" pos)entero" dato)entero" i)entero

,ientras iTHpos acer 

/ecMiP1N H/ecMiN   Cranserir el ele!ento a la posiciónsi#uiente

i H i - 1

Gin ,ientras

/ecMposN H dato  =osicionar el nueo dato

Gin =rocedi!iento

Page 54: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 54/143

M od)*a r ! o" dat o" e # u# a rre$! o u#dme #"o#a !

  ;e solicitará la posición en donde desee !odiicar'

ue#o se procederá al!acenar el nueo dato en la posición

indicada" so&rescri&iendo al dato anterior'

  ,ostrar los datos del arre#lo nuea!ente'

Aru+$nto% Bu$ r$!*$: ato y posición

=rocedi!iento !odiicardatos /ar /ec)array" dato)inte#er" pos) inte#er

/ecMposNHdato

Gin =rocedi!iento

E ! m#a r ! o" da t o" e# u# a rre $! o u# dm e #"o#a!

- ;e solicitará la posición del ele!ento .ue se desea eli!inar'

- ecre!entar la lon#itud del arre#lo en una posición'- ue#o se procederá a transerir los ele!entos una posición acia la iz.uierda"

co!enzando desde la posición a eli!inar asta la penlti!a posición'

- /oler a !ostrar los datos del arre#lo'

Aru+$nto% Bu$ r$!*$: =osición y lon#itud

=rocedi!iento Eli!inar / /ec)array" pos)entero" i)entero

/ar $) entero

=ara $Hpos asta i-1 acer 

/ecM $ N H/ecM $P1N  Cranserir el ele!ento a la posición anterior 

Gin =ara

Gin =rocedi!iento

Page 55: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 55/143

Bu"*a r da t o" e # u# a rre $! o u#dme#"o#a!

- *n#resar el dato .ue se desea &uscar 

- (o!parar el dato in#resado con cada uno de los datos del arre#lo'

- ;i el dato a sido allado !ostrar la posición donde se encontró a dico dato'

Aru+$nto% Bu$ r$!*$: dato" lon#itud

=rocedi!iento Auscar /ec)array" dato)inte#er" n)entero

/ar i"a) entero

aH0

iH0

,ientras iSHn acer 

;i ecMiNHdato entonces

aHi  =ara la posición del alor encontrado

iHn  =ara salir de la condición !ientras

Gin ;i

iHiP1

Gin ,ientras;i aH0 entonces

Escri&ir ?o senti!os" el dato no a sido encontrado'''@

;ino

Escri&ir ?El ato se encontró en la posición) ?"a

Gin ;i

Gin procedi!iento

Im+ rmr dat o" e# u# a rre $! o u#d me #"o#a !

9o%tr#+o% $( d#to d$ #d# ,o%!!"n d$( $tor un!d!+$n%!on#(.

Aru+$nto% Bu$ r$!*$: dato" lon#itud'

Page 56: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 56/143

=rocedi!iento *nsertar / /ec)array" pos)entero

dato)entero" i)entero  eclaración de aria&les

=ara iH1 a pos acer 

*!pri!ir /ecMiN  *!pri!e los ele!entos del ector'

Gin =ara

Gin =rocedi!iento

Page 57: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 57/143

1 1

3 3

4 4TEMA 6

O*"racio&"sco&

("ctor

"s

Universidad Privada TELESUP

Algorítmica y Estructura de Datos Página -,

Page 58: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 58/143

Universidad Privada

Algorítmica y Estructura de Página

T"ma ,$ O*"racio&"s co& ("ctor"s

M o"t ra r ! o" e !eme #t o" * om u#e" e #t re do" a rre $! o" u# dme #"o#a !e "

ecorrer el pri!er arre#lo

entro de cada posición del arre#lo " recorrer el arre#lo A y pre#untar si el

dato ealuado del arre#lo es i#ual .ue el dato .ue se eala en A" si es si"

al!acenar el dato co!n dentro de una cadena'

 l inalizar las estructuras repetitias" !ostrar la cadena .ue acu!uló a los

datos co!unes

;e de&en !ostrar los datos co!unes" sin .ue al#uno de estos se repita'

T!,o d$ d#to Bu$ r$torn# o+o r$%,u$%t#: ;trin#

Aru+$nto% Bu$ r$!*$: lon#itud del pri!er arre#lo y lon#itud del se#undo arre#lo'

=rocedi!iento !ostrar(o!unesnicos /ec)array" n)entero" n&)entero

i" $" nc) entero  eclaración de aria&les

ncH0  inicio del alor contador

=ara iH0 a n-1 acer  recorre el arre#lo

=ara $ H 0 a n&-1

;i /ecMiN H /ecAM$N entonces

/ecMncNH /ecMiN

ncHncP1

Gin si

Gin =ara

Gin =ara

$(!+!n#rR$,$t!do%C/  si#nar el procedi!iento para eli!inar repetidos

+o%tr#rTodo%(o%D#to%C/ ,ostrar los ele!entos del ector 

Gin =rocedi!iento

Page 59: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 59/143

U#r ! o" dat o" de do" a rre $! o" e# u# ter* e r arre$! o

ecorrer el pri!er arre#lo'

Eniar cada dato del arre#lo acia el arre#lo (" conserando la !is!a

posición ori#inal'

ecorrer el se#undo arre#lo'

Eniar cada dato del arre#lo A acia el arre#lo (" co!enzando desde la

posición ?nPi@'

T!,o d$ d#to Bu$ r$torn# o+o r$%,u$%t#: entero'

Aru+$nto% Bu$ r$!*$: lon#itud del pri!er arre#lo y lon#itud del se#undo arre#lo'

=rocedi!iento unirrre#los /ec)array" n)entero" n&)entero) entero

i" $" nc) entero  eclaración de aria&les

ncHn P n&  inicio del alor contador

=ara iH0 a n-1 acer  recorre el arre#lo

/ecMiNH /ecMiN

Gin =ara

epetir $ H 0 a n&-1/ecM$PnNH /ecM$N

Gin repetir 

+o%tr#rTodo%(o%D#to%C/ ,ostrar los ele!entos del ector 

Gin =rocedi!iento

M o"t ra r ! o" e !eme #t o" de u# a rre$! o u#dme#"o#a ! , * om+a ra r e! + rome do * o#*a da e! eme #t o

Enun!#do) Dados 50 números enteros, obtener el promedio de ellos. Mostrar por

 pantalla dicho promedio y los números ingresados que sean mayores que el

mismo.

Page 60: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 60/143

Universidad Privada

=ro#ra!a E$e!ploK

const !a< H 50

type

tWnu!eros H arrayM1'' !a<N tipo entero

aria&les

su!a" i ) entero

pro!edio) real

nu!eros ) tWnu!eros

inicio

su!a )H 0K

=ara i)H 1 a !a< acer 

leernu!erosMiN

su!a)H su!a Pnu!erosMiN

Gin =ara

=ro!edio)H su!aZ!a<

*!pri!ir `El pro!edio es `"=ro!edio`K

=ara i )H 1 a 50 acer 

;i nu!erosMiN T pro!edio entonces

i!pri!ir `El n!ero`" nu!erosMiN" `es !ayor al pro!edio`K

Gin ;i

Gin pro#ra!a'

I#te r*a !a* # de do" a rre $! o" orde#a do" e# u# te r*e r a rre$! o orde#a do

El !%todo se utiliza para #enerar un con$unto ordenado datos a partir de dos

con$untos de datos ordenados' El proceso consiste en seleccionar

sucesia!ente los ele!entos de cada uno de los con$untos pri!itios y or!arotro con$unto .ue tendrá todos sus ele!entos ordenados'

T!,o d$ d#to Bu$ r$torn# o+o r$%,u$%t#: ector entero'

Aru+$nto% Bu$ r$!*$: lon#itud del pri!er arre#lo y lon#itud del se#undo arre#lo'

Page 61: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 61/143

=ro#ra!a *ntercalación

/aria&les) /1" /2 ," /P,) ector de enteros

*" B" " ," " b) enteros

*nicio

* H 1

B H1

H1

,ientras *SH y BSH , acer 

  %$ o+,#r#n do% $($+$nto% uno d$ #d# $tor & %$ d$t$r+!n# $( +$nor

;i /1* S /2B entonces

/ H /1*

* H* P 1

H P 1

;ino

Gin si

/ H/2B

B HB P 1

H P 1

Gin !ientras

  S! %o*r#ron $($+$nto% d$ uno u otro $tor %$ (o% #\#d$ #( !n#(;i * S entonces

=ara b H * asta acer 

/ H/1b

H P 1

Gin para

Gin si

;i B S , entonces

=ara b H B asta acer / H/1b

H P 1

Gin para

Gin si

Gin pro#ra!a

Page 62: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 62/143

TEMA

R"crsi+i!a!

Universidad Privada TELESUP

Algorítmica y Estructura de Datos Página -5

Page 63: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 63/143

Algorítmica y Estructura de Página

T"ma /$R"crsi+i!a!

DE INICI/ N

n procedi!iento o unción se dice .ue es recursio si durante su e$ecución se

inoca directa o indirecta!ente a s !is!o' Esta inocación depende al !enos de

una condición .ue acta co!o condición de corte .ue prooca la inalización de

la recursión'

Un #(or!t+o r$ur%!o on%t# d$:

1.  l !enos un caso triial o &ase" es decir" .ue no uela a inocarse y .ue seactia cuando se cu!ple cierta condición'

. El caso #eneral .ue es el .ue uele a inocar al al#orit!o con

un caso !ás pe.ue>o del !is!o'

os len#ua$es .ue soportan recursiidad" dan al pro#ra!ador

una erra!ienta poderosa para resoler ciertos tipos de

pro&le!as reduciendo la co!ple$idad u ocultando los detalles delpro&le!a' a recursión es un !edio particular!ente poderoso en

las deiniciones !ate!áticas'

E5$+,(o: (alcular el actorial de un n!ero no ne#atio' eini!os el pro&le!a de

la si#uiente !anera)

;i n H 0 C#%o =#%$

F#tor!#( n/ n H n I n - 1 I n - 2 IVI 1 H n I n - 1 " si n T 0

=or deinición G(C 0 H 1 y el actorial de un n!ero ne#atio es indeinido' El

caso &ase en la recursión es el Gactorial 0 el .ue se deine en el caso de n

positio es) G(C n H nI n-1 I n-2 I'''I 1'ado .ue n se asu!e positio"

decre!entando en 1 cada ez .ue se lla!a al actorial se sa&e .ue sie!pre

será alcanzado el caso &ase'

Page 64: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 64/143

An#(!)#ndo $( F#tor!#( M nF#tor!#( n-1/ $%t# %$nt$n!# t!$n$ $( %!u!$nt$

$$to:

;i calcula!os el Gactorial 3" usando esta deinición

Gactorial 3 H 3 I Gactorial 2

Gactorial 2 H 2 I Gactorial 1

Gactorial 1 H 1 I Gactorial 0

Gactorial 0 H 1

a aplicación de la deinición recursia se detiene y la inor!ación o&tenida se

puede usar para responder la pre#unta ori#inal actorial 3

ado .ue)

Gactorial 0 H 1 entonces

Gactorial 1 H 1 I 1 H 1" entonces

Gactorial 2 H 2 I 1 H 2" entonces

Gactorial 3 H 3 I 2 H 6

Gunción Gactorial n) entero) entero

acer 

si nH0 entonces Gactorial )H1

sino Gactorial )H n I Gactorial n-1

in si

in acerin unción

C/ M O UNCIO NA N LO S ALGO RITM O S RE CURSIVO S

=ara entender có!o unciona la recursiidad es necesario .ue ten#a!os

presente las re#las y los tipos de pasa$e de pará!etros proistos por el len#ua$e

de pro#ra!ación' tiliza!os el si#uiente !%todo)

Page 65: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 65/143

M ét odo de !a * a0 a

otular con una letra el lla!ado recursio en el cuerpo del su&pro#ra!a

recursio' En el e$e!plo Gactorial n-1 lo lla!a!os A' os serirá para sa&er 

e<acta!ente a dónde se de&e retornar despu%s .ue la lla!ada a la unción se

co!plete'

(ada lla!ada recursia eca al su&pro#ra!a en el

transcurso de la e$ecución a a #enerar una nuea

ca$a" .ue contendrá el a!&iente local del

su&pro#ra!a' Esto es" las aria&les y pará!etros

.ue se crean en el lla!ado y se destruyen cuando

se ter!ina la e$ecución' (ada ca$a contendrá

entonces)

  El alor de los pará!etros or!ales'

  as aria&les declaradas local!ente no e<isten en el e$e!plo'

  n lu#ar para el alor a ser retornado por cada lla!ada

recursia #enerada a partir de la ca$a corriente !arcada con el rótulo'

  El alor de la unción !is!a'

(uando se crea una nuea ca$a se di&u$a una leca desde la ca$a donde se

izo la lla!ada acia la nuea' ;o&re la leca se pone el no!&re de la lla!ada

rotulo para indicar a dónde se de&e retornar'

(o!enzar la e$ecución del cuerpo del su&pro#ra!a

con los alores correspondiente al á!&ito local de laca$a corriente' (uando ter!ina la e$ecución de la ca$a

corriente y se uele acia atrás en las ca$as" la

anterior es aora la corriente y el no!&re en la leca

indica el lu#ar a donde se de&e retornar y continuar la

e$ecución del su&pro#ra!a' El alor calculado se

coloca en el te! apropiado en la ca$a corriente'

Page 66: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 66/143

Universidad Privada

E5$+,(o: /a!os a calcular el Gactorial 3

la!ada ori#inal) Gactorial3  co!ienza la e$ecución

otulon H 3

  ) Gactorialn-1H

En $( ,unto A #$ un# ((#+#d# r$ur%!# & (# nu$# !no#!"n d$ (# un!"n

#tor!#( o+!$n)# %u $5$u!"n #%t# (($#r #( #%o *#%$ $n dond$ t$r+!n#.

n H3 A

 4)Gactorialn-1H

n H 2

 4)Gactorialn-1H

n H3 A

 4)Gactorialn-1H

n H2

 4)Gactorialn-1H

A n H1

 4)Gactorialn-1H

n H3

 4)Gactorialn-1H

A n H2

 4)Gactorialn-1H

A n H1

 4)Gactorialn-1H

A n H 0

GactorialH 1

;e alcanza el caso &ase' =or lo tanto" la inocación del Gactorial se co!pleto y

puede co!enzar a resolerse las ca$as' ;e uele a la ca$a anterior y se

retorna

el alor pendiente al punto del lla!ado !arcado con el rotulo '

n H3

 4)Gactorialn-1H

A n H2

 4)Gactorialn-1H

A n H1 A

 4)Gactorialn-1H1

n H 0

GactorialH 1

n H3

 4)Gactorialn-1H

A n H2

 4)Gactorialn-1H1

A n H1

 4)Gactorialn-1H1

A n H 0

GactorialH 1

n H3

 4)Gactorialn-1H2

A n H2

 4)Gactorialn-1H1

A n H1

 4)Gactorialn-1H1

A n H 0

GactorialH 1

#(or !n#( r$torn#do #( ,ror#+# ,r!n!,#( $% 7

Page 67: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 67/143

Universidad Privada

,# +E T'%A* %E OMEN&A&A*

FUNDA9ENTOS DE PRO8RA9ACION

tt p) ZZJ J J's cr i &d'c o !Zdo c Z 8032086Zund a ! entos -de -p ro# ra ! a c i o n -a l #o rit! o s -y-

e stru c t u ra -de -dato s

  RECURSIDIDAD

tt p) ZZJ J J'! ite c n o l o# i c o'c o !Z, a i nZ ei n i c i one c u rs i ida d

  A L8O R IT 9 O S D E P R O 8 R A 9 A CIÓ N

ttp) ZZJJJdi'u $ aen'esZasi #naturasZ=ro#**C elZpdsZte! a2'pd 

-# A TI.I&A&E* / E0E% I IO*

1' E<plicar cada paso del procedi!iento o unción de recursiidad en un

arre#lo" !ediante un códi#o donde se alle la su!a total de sus datos'

 Ena el códi#o de esta actiidad a tra%s de “Rec"rsi%idad! '

2' tilizando la !etodolo#a aprendida" construya los !%todos para

resoler los si#uientes re.ueri!ientos e inó.uelos desde la ló#ica de

presentación)

•  ,ostrar la cantidad de ele!entos pares'

•  ,ostrar la cantidad de ele!entos i!pares'

•  lenar el arre#lo entas con los pri!eros n alor de la si#uiente serie)

12" 24" 48" 96"192"V•  lenar el arre#lo entas con los pri!eros n alor de la si#uiente serie)

V" 35" 28" 21" 14" 7' S!$+,r$ $( (t!+o #(or d$*$ %$r @.

 Ena el códi#o de esta actiidad a tra%s de “Métodos! '

Page 68: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 68/143

1# A'TOE.A+'A ION

1. E( #rr$(o un!d!+$n%!on#( o #rr#& $%:#/ na estructura unidi!ensional .ue al!acena alores de distinto tipo'

*/ na estructura de datos .ue al!acena &a$o el !is!o no!&re una colecciónde datos del !is!o tipo'/ na estructura de .ue al!acena una cantidad ininita de alores'd/ na estructura .ue no per!ite al!acenar datos de tipo carácter'$/ na estructura .ue tiene !ás de un ndice para acer reerencia'

. E( ,ro$d!+!$nto d$ %u+#r d#to% d$ un #rr$(o un!d!+$n%!on#( orr$%,ond$#:

#/ o se de&erá recorrer todos los datos del arre#lo'*/ o per!ite retornar el alor acu!ulado en la aria&le nu!%rica'/ ;ie!pre se realiza en un procedi!iento de su!a de datos'd/ o ay inor!ación para acer reerencia a los ndices del ector'$/ entro de la estructura repetitia" acu!ular cada uno de los datos del

arre#lo en una aria&le acu!ulador nu!%rica'

3. P#r# #((#r $( #(or +'!+o d$ (o% d#to% ont$n!do% $n un #rr$(oun!d!+$n%!on#(

#/ o se de&erá to!ar el pri!er dato del arre#lo .ue es el !ayor'*/ ;e de&erá recorrer el arre#lo desde la se#unda posición asta la lti!a

posición' =er!itirá ealuar cada uno de los datos del arre#lo'/ entro de la estructura repetitia" no ay un supuesto !ayor" es !enor .ue

el dato ealuado'd/ El dato ealuado se conertira en el nueo !enor" de lo contrario se pasa a

ealuar el si#uiente dato'$/ ;i la estructura condicional se cu!ple se ter!ina el procedi!iento'

4. E( ,ro$d!+!$nto ,#r# !n%$rt#r d#to% $n #rr$(o un!d!+$n%!on#(orr$%,ond$ #:

#/ =er!ite y solicita la posición en donde insertar'*/ o incre!enta la lon#itud del arre#lo en una posición'/ Cransiere los ele!entos una posición acia la dereca" co!enzando

desde el lti!o ele!ento asta la posición donde se desea insertar'd/ a posición en la inserción no está per!itida en el arre#lo'$/ a lon#itud del ector de&e ser inita en el arre#lo'

6. P#r# *u%#r d#to% $n un #rr$(o un!d!+$n%!on#( orr$%,ond$ # :#/ *n#resar el dato .ue no desea &uscar'*/ ;i el dato no a sido allado no !ostrar la posición donde se encontró'/ El dato cuando es encontrado el procedi!iento contina'd/ (o!parar el dato in#resado con cada uno de los datos del arre#lo'$/ El in#reso de los datos es en or!a ordenada'

Page 69: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 69/143

7. 9o%tr#r (o% $($+$nto% o+un$% $ntr$ do% #rr$(o% un!d!+$n%!on#($%orr$%,ond$ #:

#/ ecorrer el pri!er y se#undo arre#los'*/  l inalizar las estructuras repetitias" no se !uestra la cadena .ue

acu!uló a los datos co!unes'/ ;e de&en !ostrar los datos co!unes" y al#unos de estos se repite'd/ Xay ordenación en cada uno de los ectores'$/ e cada posición del arre#lo " recorrer el arre#lo A y pre#untar si el dato

ealuado del arre#lo es i#ual .ue el dato .ue se eala en A" si es s"al!acenar el dato co!n dentro de una cadena'

@. Int$r#(#!"n d$ do% #rr$(o% ord$n#do% $n un t$r$r #rr$(o ord$n#do:#/ El !%todo se utiliza para #enerar un con$unto ordenado datos a partir de

dos con$untos de datos ordenados'

*/ El proceso consiste en seleccionar sucesia!ente los ele!entos de uno delos con$untos pri!itios'/ Gor!ar un con$unto .ue tendrá solo los datos de los ele!entos ordenados'd/ o e<iste el procedi!iento de ordenación de ectores'$/ El procedi!iento se inoca recursia!ente'

?. E( ,ro$d!+!$nto o un!"n d$ R$ur%!!d#d $%:#/ ;i durante su e$ecución se inoca directa o indirecta!ente a s !is!o'*/ Es un procedi!iento .ue deuele !ltiples datos'/ Es una unción .ue deuele un solo alor" a la ez" por unción'd/ euele !ás de un alor en cada unción'$/ E<iste !ás de una condición &ase de inalización'

. E( 9;todo d$ C#5# #d# #5# r$ur%!# ont$ndr:#/ El alor de los pará!etros no son or!ales'*/ as aria&les declaradas local!ente siren para las otras unciones'/ n lu#ar para el alor a ser retornado por cada lla!ada recursia #enerada

a partir de la ca$a corriente'd/ os alores de datos en la !is!a unción son sin caso &ase'$/ o ay inor!ación de datos iteratios'

10. Cu( d$ (#% #(t$rn#t!#% no $% un ,ro$d!+!$nto r$ur%!oH#/ ,ultiplicación entera'*/ E<ponencia entera'/ ,á<i!o co!n diisor'd/ As.ueda directa'$/ Corres de Xanói'

Page 70: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 70/143

2# %E*'MEN

UU NI NIDDAADD DDEE AAPPR R EE N NDDIIZZAAJJEE II:II:

as estructuras de datos son una colección de datos .ue pueden ser 

caracterizados por su or#anización y las operaciones .ue se deinen de ella' o

.ue se pretende con las estructuras de datos es acilitar un es.ue!a ló#ico para

!anipular los datos en unción del pro&le!a .ue aya .ue tratar y el al#orit!o

para resolerlo' En al#unos casos la diicultad radica en esco#er las estructuras

de datos adecuadas' En #eneral el al#orit!o y la estructura de datos .ue!anipulará estarán !uy relacionados'

;e#n su co!porta!iento durante la e$ecución del pro#ra!a distin#ui!os

estructura de datos estáticas" su ta!a>o en !e!oria es i$o" tene!os el rre#lo

Y" el cual es una estructura de datos en la .ue se al!acena una

colección de datos del !is!o tipo'

(on la estructura de atos Estáticas rre#los se realiza las si#uientes

operaciones &ásicas .ue son) su!ar" pro!ediar" allar !á<i!o" allar !ni!o de

los alores' Ca!&i%n con las estructuras de datos array e<isten !%todos de

recolección de datos co!o son los procedi!ientos de insertar" !odiicar" eli!inar 

y &uscar un ele!ento dentro del array'

esarrollo de soluciones por parte de los al#orit!os" ta!&i%n se utiliza la

recursiidad .ue es un procedi!iento o unción .ue durante su e$ecución seinoca directa o indirecta!ente a s !is!o' Esta inocación depende al !enos de

una condición .ue acta co!o condición de corte .ue prooca la inalización de la

recursión' os len#ua$es .ue soportan recursiidad" dan al pro#ra!ador una

erra!ienta poderosa para resoler ciertos tipos de pro&le!as reduciendo la

co!ple$idad u ocultando los detalles del pro&le!a' El !%todo de escritorio prue&a

y error !ás utilizado es el !%todo de las ca$as'

Page 71: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 71/143

UNIDADDEAPRENDIZA

 JE

Universidad Privada TELESUP

M2TODOS DEORDENACIÓN 3 

)4S5UEDA

  OMPETEN IA:

Algorítmica y Estructura de Datos

Page 72: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 72/143

Al finalizar esta unidad usted será capaz de

“  onocer aplicar las diferentes formas

algorítmicas para ordenar 3uscar datos dentro

de un arreglo"#

Página .7

Page 73: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 73/143

Universidad Privada

$# INT%O&' I(N

#. P r$ %$ nt# !"n & ont$' tu# (!)# !"n

El alu!no desarrolla una actitud analtica y critica .ue le per!ita alorar la

i!portancia en el !ane$o de los !%todos de ordena!iento por selección"!%todo ;ell y el !%todo de ordena!iento por [uicR;ort de los !%todos de

&s.ueda secuencial y &inaria'

*. Co+,$ t$ n !# Loro/

(onoce y aplica las dierentes or!as al#ort!icas para ordenar y &uscar 

datos dentro de un arre#lo'

. C# ,# !d# d$ %

1. *dentiica y co!prende el !odelo ordenación !ás ópti!o en estructuras

unidi!ensionales'

. *dentiica y co!prende el !odelo ordenación !ás ópti!o para el

ordena!iento por selección en estructuras unidi!ensionales'

3. *dentiica y co!prende el !odelo de &s.ueda !ás ópti!o en estructuras

unidi!ensionales'

4. *dentiica y desarrolla a&ilidades &ásicas para las operaciones con

arre#los !ultidi!ensionales'

d. A t !tud$ %

  esarrolla una actitud e!prendedora !ediante la to!a de iniciatias'

   cta con responsa&ilidad personal" al cu!plir con los orarios

esta&lecidos'

  espeto a las nor!as de coniencia'

  (u!ple con la presentación de los tra&a$os enco!endados de !aneraindiidual y en e.uipo'

$. P r$ %$ nt# !"n d$ !d$# % * %!# % & ont$ n!do $ %$ n!# ($ % d$ (# Un!d# d.

L# un!d#d d$ A,r$nd!)#5$ 3 o+,r$nd$ $( d$%#rro((o d$ (o% %!u!$nt$%t$+#%:

1. 9;todo% d$ ord$n#!"n. 9;todo% d$ ord$n#+!$nto ,or %$($!"n3. 9;todo% d$ *%Bu$d#4. O,$r#!on$% on #rr$(o% +u(t!d!+$n%!on#($%

Algorítmica y Estructura de DatosPágina .5

Page 74: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 74/143

TEMA

M1to!os

!"or!"&aci.&

Algorítmica y Estructura de Datos

Universidad Privada TELESUP

Página /6

Page 75: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 75/143

Algorítmica y Estructura de Página

$# &E*A%%O++O &E

  ONTENI&O*

T"ma 6#$ M1to!os !" or!"&aci.&

¿QUÉ ES ORDENAMIENTO?

Es la operación de arre#lar los re# is t ro s d e una ta&la en al#n orden secuencial de

acuerdo a un criterio de ordena!iento'

El ordena!iento se eecta con &ase en el a lo r de al#n ca!po en unre # is t ro '

El propósito principal de un ordena!iento es el de acilitar las &s.uedas de los!ie!&ros del con$unto ordenado'

E5$+,(o: directorio teleónico" ta&las de

contenido" & i& li o te c a s y d icc io n a rios " etc'

El ordenar un # ru p o de d a to s si#niica !oer los datos o sus reerencias para .ue.ueden en una secuencia tal .ue represente un orden" el cual puede ser nu!%rico"

ala&%tico o incluso alanu!%rico" ascendente o descendente'

¿Cuándo conviene usar un mé o do de ordenamieno?

((uando se re.uiere acer una cantidad considera&le de &s.uedas y es

i!portante el actor t ie ! p o '

TI!OS DE ORDENAMIENTOS"

os 2 tipos de ordena!ientos .ue se pueden realizar son) los internos y los

e<ternos'

#os inernos"

;on a.uellos en los .ue los alores a ordenar están en la ! e ! o ria

principal" por lo .ue se asu!e .ue el tie!po .ue se re.uiere para

acceder cual.uier ele!ento sea el !is!o ecM1N" ecM500N" etc'

Page 76: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 76/143

#os e$ernos"

;on a.uellos en los .ue los a lo re s a ordenar están en !e!oria secundaria

disco" cinta" cilindro !a#n%tico" etc'" por lo .ue se asu!e .ue el tie!po .ue

se re.uiere para acceder a cual.uier ele!ento depende de la lti!a posición

accedida posición 1" posición 500" etc''

A#%ORITMOS DE OR DENAMIENTO"

Inernos"

1. *nserción directa'1. *nserción &inaria'

2. ; e le cc ió n directa'1. Aur&u$a'. ;aRe'

3. *nterca!&io directo'1. ;ell'

4. *nserción dis!inución incre!enta1. Xeap'. Courna!ent'

5. +rdena!iento de ár&ol'1. [uicR sort'

6. ;ort particionado'

7. ,er#esort'

. adi<sort'

!. (álculo de d ire cc ió n '

l'

Page 77: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 77/143

E$ernos"

1. ;trai#t!er#in#'

2. atural !er#in#'

3. Aalanced!ultiJay!er#in#'

4. =olypasesort'

5. istri&ution o initialruns'

C#ASI&ICACI'N DE #OS A#%ORITMOS DE ORDENAMIENTO DE

IN &OR MACI 'N"

El eco de .ue la inor!ación está ordenada" nos sire para p o de r e ncontrarla y

accederla de !anera !ás eiciente ya .ue de lo contrario se tendra .ue acer de

!anera secuencial'

  continuación se descri&irán 4 # rupo s de al#orit!os para ordenar inor!ación)

A()orimos de inserci*n"

En este tipo de al#orit!o los ele!entos .ue an a ser 

ordenados son considerados uno a la ez' (ada ele!ento

es *;EC+ en la posición apropiada con respecto al

resto de los ele!entos ya ordenados'

Entre estos al#orit!os se encuentran el de *;E(*+

*E(C" ;XE ;+C" *;E(*+ A** y

X;X*F'

A()orimos de inercam+io"

En este tipo de al#orit!os se to!an los ele!entos de dos en dos" se

co!paran y se *CE(,A* si no están en el orden adecuado' Este

p ro c e s o se repite asta .ue se a analizado todo el con$unto de ele!entos y

ya no ay interca!&ios'

Entre estos al#orit!os se encuentran el AAB y [*( ;+C'

Page 78: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 78/143

A()orimos de se(ecci*n"

En este tipo de al#orit!os se ;EE((*+ o se &usca el ele!ento !ás

pe.ue>o o !ás #rande de todo el con$unto de ele!entos y se coloca en su

posición adecuada' Este proceso se repite para el resto de los ele!entos asta

.ue todos son analizados'

Entre estos al#orit!os se encuentra el de ;EE((*+ *E(C'

A()orimos de enumeraci*n"

En este tipo de al#orit!os cada ele!ento es co!parado

contra los de!ás' En la co!paración se cuenta cuántos

ele!entos son !ás pe.ue>os .ue el ele!ento .ue se

está analizando" #enerando as una E,E(*+' El

n!ero #enerado para cada ele!ento indicará su

posición'

os ! % to d o s si!ples son) *nserción o por inserción directa" selección" &ur&u$a ysell" en dónde el lti!o es una e<tensión del !%todo de inserción" siendo !ásrápido' os !%todos !ás co!ple$os son el .uicR-sort ordenación rápida y el

eapsort'

MÉTODO DE #A ,UR,U-A

Este !%todo consiste en ordenar el arre#lo !oiendo eldato !ayor asta la lti!a posición" co!enzando desdela casilla cero del arre#lo asta a&er eniado el n!ero!ás #rande a la lti!a posición" una ez aco!odado el!ás #rande" prosi#ue a encontrar y aco!odar el

si#uiente !ás #rande co!parando de nueo los n!erosdesde el inicio del arre#lo" y as se si#ue asta ordenar todos los ele!entos del arre#lo'

$nt#5#%:

Es el !%todo de ordena!iento

!ás utilizado" por.ue es el !ás

sencillo de co!prender'

D$%$nt#5#%:

Este al#orit!o es !uy deiciente ya

.ue al ir co!parando las casillas para

&uscar el si#uiente !ás #rande" %ste

uele a co!parar las ya ordenadas'

Page 79: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 79/143

"#todo Directo 8"#todo %ur%u1a09

Aru+$nto% Bu$ r$!*$: ector a ordenar y lon#itud del arre#lo'

Procedimiento Burbuja1 (Vec:array , n:entero)

i, j , aux : entero

Para i=0 a n-1 hacer

Para j=i+1 a n hacer

Si (Vec[i!Vec[j) entonc

"ux=Vec[i

Vec[i=Vec[j

Vec[j=aux

#in $i

#in Para

#in Para

#in Procedimiento

"#todo :ur%u1a

Aru+$nto% Bu$ r$!*$: ector a ordenar y lon#itud del arre#lo'

Procedimiento Burbuja% (Vec:array

, n:entero)

i, j , aux : entero

marca: car&cter

i=1

marca='$i'

e$

Page 80: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 80/143

ientra$ ( in ) y (marca='$i')

hacer

arca='no'

Para j=1 a n-i hacer

i (Vec[j!Vec[j+1) entonce$

aux=Vec[j

Vec[j=Vec[j+1

Vec[j+1=aux

marca='$i'

#in $i

#in Para

i = i +1

ientra$

rocedimiento

S

#in

#in P

Page 81: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 81/143

TEMA

M1to!os!"

or!"&ami"&to *or

s"l"cci.&

Página //Algorítmica y Estructura de Datos

Universidad Privada TELESUP

Page 82: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 82/143

Algorítmica y Estructura de Página

T$+# 0: 9;todo% d$ ord$n#+!$nto ,or %$($!"n

Méodo de Ordenamieno .or Se(ecci*n

El ord$n#+!$nto ,or %$($!"n S$($t!on Sort en in#l%s es un al#orit!o de

ordena!iento .ue re.uiere n2 operaciones para ordenar una lista de n ele!entos'

Su un!on#+!$nto $% $( %!u!$nt$:

Auscar el !ni!o ele!ento de la lista'

*nterca!&iarlo con el pri!ero'ue#o" &uscar el !ni!o en el resto de la lista'

*nterca!&iarlo con el se#undo y as sucesia!ente'

En $n$r#(:

 Auscar el !ni!o ele!ento entre una posición i y el inal de la lista

 *nterca!&iar el !ni!o con el ele!ento de la posición i 

$nt#5#%:

Este al#orit!o !e$ora li#era!ente el al#orit!o de la &ur&u$a' En el caso de tener 

.ue ordenar un ector de enteros" esta !e$ora no es !uy sustancial" pero

cuando ay .ue ordenar un ector de estructuras !ás co!ple$as" la operación

!nt$r#+*!#r / sera !ás costosa en este caso' Este al#orit!o realiza !enos

operaciones !nt$r#+*!#r / .ue el de la &ur&u$a" por lo .ue lo !e$ora enal#o'

D$%$nt#5#%:

  ealiza nu!erosas co!paraciones'

  Este es un al#orit!o lento' o o&stante" ya .ue sólo

realiza un interca!&io en cada e$ecución del ciclo

e<terno" puede ser una &uena opción para listas con

re#istros #randes y claes pe.ue>as'

Page 83: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 83/143

"#todo Seleccin

Aru+$nto% Bu$ r$!*$: /ector a ordenar y lon#itud del arre#lo'

=rocedi!iento ;elección ar/ec)array" n) entero

R" i" $) entero

au<) realK

=ara i H 0 a n-2 acer 

au< H ecMiN

R H iK

=ara $ HiP1 a n-1 acer 

;i ecM$N Sau< entonces

au< H ecM$N

Gin si

Gin =ara

R H $

ecMRN H ecMiNK

ecMiN H au<Gin =ara

Gin procedi!iento

E5$+,(o:

El arre#lo a ordenar es H Mfaf"fsf"fof"frf"ftf"fif"fnf"f#f"fef"f<f"faf"f!f"fpf"flf"fefN'

;e e!pieza por recorrer el arre#lo asta encontrar el !enor ele!ento' En este caso el!enor ele!ento es la pri!era faf' e !anera .ue no ocurre nin#n ca!&io' ue#o seprocede a &uscar el si#uiente ele!ento y se encuentra la se#unda faf'

Esta se interca!&ia con el dato .ue está en la se#unda posición" la fsf" .uedando elarre#lo as despu%s de dos recorridos) a H Mfaf"faf"fof"frf"ftf"fif"fnf"f#f"fef"f<f"fsf"f!f"fpf"flf"fefN'

Page 84: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 84/143

El si#uiente ele!ento" el tercero en orden de !enor !ayor es la pri!era fef" la cual seinterca!&ia con lo .ue está en la tercera posición" o sea" la fof' e si#ue la se#undafsf" la cual es interca!&iada con la frf" .uedando el arre#lo as

a H Mfaf"faf"fef"fef"ftf"fif"fnf"f#f"fof"f<f"fsf"f!f"fpf"flf"frfN'

e esta !anera se a &uscando el ele!ento .ue de&e ir en la si#uiente posición

asta ordenar todo el arre#lo'

MÉTODO DE ORDENAMIENTO S/E##

El ord$n#+!$nto S$(( S$(( %ort en in#l%s es un al#orit!o de ordena!iento'

El !%todo se deno!ina S$(( en onor de su inentor onald ;ell' ;u

i!ple!entación ori#inal" re.uiere n2 co!paraciones e interca!&ios en el peor 

caso' n ca!&io !enor presentado en el li&ro de /' =ratt produce una

i!ple!entación con un rendi!iento de +nlo#2n en el peor caso' Esto es !e$or 

.ue las +n2 co!paraciones re.ueridas por al#orit!os si!ples pero peor .ue el

ópti!o +n lo# n' un.ue es ácil desarrollar un sentido intuitio de có!o

unciona este al#orit!o" es !uy dicil analizar su tie!po de e$ecución'

El ;ell sort es una #eneralización del ordena!iento por inserción" teniendo en

cuenta dos o&seraciones)

1. El ordena!iento por inserción es eiciente si la entrada está Ocasi ordenadaO'

. El ordena!iento por inserción es ineiciente" en #eneral" por.ue !uee los

alores sólo una posición cada ez'

El al#orit!o ;ell sort !e$ora el ordena!iento por

inserción co!parando ele!entos separados por un

espacio de arias posiciones' Esto per!ite .ue un

ele!ento a#a Opasos !ás #randesO acia su

posición esperada' os pasos !ltiples so&re los datos

se acen con ta!a>os de espacio cada ez !ás

pe.ue>os' El lti!o paso del ;ell sort es un si!ple

ordena!iento por inserción" pero para entonces" ya está

#arantizado .ue los datos del ector están casi ordenados'

Page 85: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 85/143

Algorítmica y Estructura de Página

Universidad Privada TELESUP

0ena 1as"

o re.uiere !e!oria adicional'

,e$or rendi!iento .ue el !%todo de *nserción clásicoEs inesta&le no !antiene el orden relatio de los re#istros'

Desvena 1as"

os al#orit!os eicientes tienden a ser !ás co!ple$os .ue los ineicientes por 

lo .ue son !ás diciles de e<presar con pala&ras'

 n siendo la ordenación ;ell tan eiciente co!o es" la ordenación rápida

[uicR ;ort es 2 o 3 eces !ás eiciente'

"#todo S4ell

Aru+$nto% Bu$ r$!*$: /ector a ordenar y lon#itud del arre#lo'

Procedimiento She** (Vec:array, n:entero)

, , $a, j: entero=n%

ientra$ (!=1) hacer

Para $a =0 a hacer

Para i=+$a a n-1 .a$o hacer

=Vec[i

j=i-

ientra$ (j!=0) y Vec[j!) hacer

Vec[j+=Vec[j

j=-1

#in ientra$

Vec[j+=

#in Para

#in Para

=%

#in ientra$

#in Procedimiento

Page 86: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 86/143

Universidad Privada

E5$+,(o:

=ara el arre#lo) /ector H M6" 1" 5" 2" 3" 4" 0N

Cene!os el si#uiente recorrido)

ecorrido ;alto ista +rdenada *nterca!&io

1 3 2"1"4"0"3"5"6 6"2" 5"4" 6"0

2 3 0"1"4"2"3"5"6 2"0

3 3 0"1"4"2"3"5"6 in#uno

4 1 0"1"2"3"4"5"6 4"2" 4"3

5 1 0"1"2"3"4"5"6 in#uno

Page 87: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 87/143

TEMA

M1to!os

!"78s9"!a

Página 73Algorítmica y Estructura de Datos

Universidad Privada TELESUP

Page 88: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 88/143

Algorítmica y Estructura de Página

T$+# 03: 9;todo% d$ *%Bu$d#

Méodo de ,2s3ueda Secuencia("

a &s.ueda secuencial" ta!&i%n se le conoce co!o &s.ueda lineal' Este !%todo

consiste en recorrer el arre#lo o ector ele!ento a ele!ento e ir co!parando con el

alor &uscado clae' ;e e!pieza con la pri!era casilla del ector y se o&sera

una casilla tras otra asta .ue se encuentre el ele!ento &uscado o se a yan

isto todas las casillas' El resultado de la &s.ueda es un solo alor" y será la

posición del ele!ento &uscado o cero'

ado .ue el ector o arre#lo no está en

nin#n orden en particular" e<iste la !is!a

pro&a&ilidad de .ue el alor se encuentra ya

sea en el pri!er ele!ento" co!o en el

ulti!o' =or lo tanto" en pro!edio" el

pro#ra!a tendrá .ue co!parar el alor 

&uscado con la !itad de los ele!entos del

ector'

El !%todo de &s.ueda lineal unciona &ien con arre#los pe.ue>os o para

arre#los no ordenados'

0ena1as"

Es un !%todo su!a!ente si!ple .ue

esulta til cuando se tiene un con$unto de datos

pe.ue>os Xasta apro<i!ada!ente 500

e!entos

Es ácil adaptar la &s.ueda secuencial

ra .ue utilice una lista enlazada ordenada" lo

ace la &s.ueda !ás eicaz'

;i los datos &uscados no están en orden es el nico !%todo .ue puede

e!plearse para acer dicas &s.uedas'

el

pa

.ue

Page 89: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 89/143

Universidad Privada

Desvena1as"

  El !%todo tiende acer !uy lento'

  ;i los alores de la clae no son nicos" para encontrar todos los

ele!entos con una clae particular" se re.uiere &uscar en todo el arre#lo"

lo .ue ace el proceso !uy lar#o'

"#todo %&s'ueda Secuencial

Aru+$nto% Bu$ r$!*$: /ector de &s.ueda y lon#itud del arre#lo'

Procedimiento Bu$car (Vec:array, dato:inte/er, n:entero)

i,a: entero ec*aracion de Variab*e$

a=0

i=0

ientra$ (i=n) hacer

Si (ec[i=dato) entonce$

a=i   Para *a .o$icin de* a*orencontrado

mientra$

#in Si

i=i+1

i=n   Para $a*ir de *a condicin

#in ientra$

Si (a=0) entonce$

2$cribir (34o $entimo$, e* dat

ha $ido encontrado555')Sino

2$cribir (32* ato $e encontr

en *a .o$icin: 3, a)

#in Si

#in .rocedimiento

o no

Page 90: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 90/143

Méodo de ,2s3ueda ,inaria"

a operación de &s.ueda puede ser !uco

!ás eiciente si se sa&e .ue los datos estánpreia!ente ordenados' n e$e!plo de

ordenación es un diccionario" en el .ue

ace!os una &s.ueda #racias a la ordenación

ala&%tica de las pala&ras' En otro caso sera

co!pleta!ente inutiliza&le'

a idea consiste en co!parar un ele!ento cual.uiera" de ndice !nor!al!ente a la !itad e ir co!prando con los de!ás ar#u!entos de la

iz.uierda o dereca se#n sea el caso' El resultado de la &s.ueda es un solo

alor" y será la posición del ele!ento &uscado o cero'

Lo% ,o%!*($% #%o% %on:

$+/M a ter!inado la &s.ueda y el ndi

&uscado es !'

$+/ sa&e!os .ue todos los ele!entos a

iz.uierda de ! son !enores .ue :" y por lo ta

puede ser eli!inada esta re#ión de la zona

&s.ueda y considerar solo la zona dereca des

!P1 a '

$+/" sa&e!os .ue todos los ele!entos de

dereca de ! son !ayores .ue :" y por lo ta

puede ser eli!inada esta re#ión de la zona

&s.ueda y considerar solo la zona iz.uier 

desde1 a !-1'

a repetición de este proceso de or!a iterati

constituye este al#orit!o' =ara ello" se utilizan d

aria&les de ndice /= y /; .ue !arcan l

e<tre!os iz.uierdo y dereco de la zona

&s.ueda considerada'

ce

la

nto

de

de

la

ntode

da

a

os

os

de

Page 91: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 91/143

Universidad Privada

"#todo :&s'ueda Dicotmica

Aru+$nto% Bu$ r$!*$: /ector de &s.ueda y lon#itud del arre#lo'

#uncion Binaria (a*:entero, arVec: array,

dim:entero):entero

.o$, i :entero   ec*aracin de ariab*e$

VP,VS, V2: entero

.o$=0   inicia*i6acin de .o$icin de* a*or bu$cado

VP=1   inicia*i6acin *7mite in8erior

VS=dim   inicia*i6acin de* *7mite $u.erior

Si (a*!=Vec(VP)) y (a* = Vec(VS)) entonce$

ientra$ (VP=VS) y (.o$=0) hacer

V2=ent(VP+VS)%)   Parte entera de *a

mitad de ector

Si (a*=Vec(V2) ) entonce$

.o$=V2

$ino

#in Si

VP=V2+1

Sino

VS=V2+1

#in Si

Si (a*!=Vec(V2)) entonce$

#in ientra$

#in Si

She**= .o$

#in #uncion

Page 92: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 92/143

TEMA

O*"racio&"sco&

arr"glosMlti!im"&sio&a

l"s

Universidad Privada TELESUP

Algorítmica y Estructura de Datos Página 77

Page 93: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 93/143

Algorítmica y Estructura de Página

T$+# 04: O,$r#!on$% on #rr$(o% +u(t!d!+$n%!on#($%

ARRE%#OS ,IDIMENSIONA#ES 4TA,#AS5MATRICES6

El array &idi!ensional se puede considerar co!o un ector de ectores' Es" por 

consi#uiente" un con$unto de ele!entos" todos del !is!o tipo" en el cual el orden de

los co!ponentes es si#niicatio y en el .ue se necesita especiicar dos su&ndices

para poder identiicar cada ele!ento del array' ;i se isualiza un array unidi!ensional"

se puede considerar co!o una colu!na de datos) un array &idi!ensional es un #rupo

de colu!nas' El dia#ra!a representa una ta&la o !atriz de treinta ele!entos 5 < 6

con 5 ilas y 6 colu!nas'

DECLARACION DE UNA 9ATRIZ:

os arre#los di!ensionales se declaran de la si#uiente !anera)

TIPO !d$nt!!#dorMARRA<W!nd!$1

!nd!$XOFt!,oK onde:

!d$nt!!#dor ) es el no!&re del arre#lo

!nd!$1) tipo enu!erado o tipo su&ran#o" representa

la cantidad de ilas'

!nd!$) tipo enu!erado o tipo su&ran#o" representa

la cantidad de colu!nas'

t!,o) se reiere al tipo de los ele!entos y puede ser de cu

estándar o deinido por el usuario'

al.uiera de los tipos

Page 94: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 94/143

E5$+,(o:

CY=E

Estudiantes H arrayM1..37" 1..5N o real

enta H arrayM1..10"\a\..\z\N o inte#er nsola H arrayM0..4"0..8N o car 

lculos: (uenta

di#os: (onsola

se: Estudiantes

O!ERACIONES CON ARRE%#OS DIMENSIONA#ES O MATRICES"

  LECTURA) Cienen .ue utilizarse estructuras de repetición para leer

los ele!entos del arre#lo'

=rocedi!iento eer ,atriz ar,at)!atriz" indil)entero"

indcol)entero

/aria&les i" $) entero

=ara iH1 a indil acer 

=ara $ H 1 a indcol acer 

eer ,atMi"$N

Gin =ara

Gin =rocedi!iento

  ESCRITURA)

=rocedi!iento (ar#a,atriz ar,at)!atriz" indil)entero" indcol)entero

/aria&les i" $" dato) entero

=ara iH1 a indil acer 

=ara $ H 1 a indcol acer 

eer dato

,atMi"$NHdato

Gin =araGin =rocedi!iento

(u(o

/

(la

Page 95: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 95/143

SUMAR #OS DATOS DE UN ARRE%#O DIMENSIONA#

=ara su!ar los datos de un arre#lo di!ensional)

;e de&erá recorrer todos los datos del arre#lodi!ensional sar la estructura G+entro de la estructura repetitia" acu!ular cadauno de los datos del arre#lo di!ensional en unaria&le acu!ulador nu!%rico'etornar el alor acu!ulado en la aria&lenu!%rica'

"#todo Sumar

T!,o d$ d#to Bu$ r$torn# o+o r$%,u$%t#: dou&l%'

Guncion;u!ar,at)!atriz" indil)entero" indcol)entero) real

acu!)real  eclaración de aria&les

i) entero

acu!H0  inicio del acu!ulador 

=ara iH1 a indil acer  recorre el arre#lo=ara $ H1 a indcol acer 

acu!H acu! P ,atMi"$N   cu!ulador de su!a de los alores

Gin =ara

Gin =ara

;,Hacu!   si#nación a la unción

Gin unción

MÉTODO DE #A ,UR,U-A CON ARRE%#OS DIMENSIONA#ES"

Este !%todo consiste en ordenar el arre#lo !oiendo el dato !ayor asta la

lti!a posición" co!enzando desde la casilla cero del arre#lo asta a&er 

eniado el n!ero !ás #rande a la lti!a posición" una ez aco!odado el !ás

#rande" prosi#ue a encontrar y aco!odar el si#uiente !ás #rande co!parando

de nueo los n!eros desde el inicio del arre#lo" y as se si#ue asta ordenar 

todo los ele!entos del arre#lo'

Page 96: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 96/143

0ena 1as"

Es el !%todo de

ordena!iento !ás utilizado"

por.ue es el !ás sencillo deco!prender'

Desvena 1as"

Este al#orit!o es !uy deiciente ya .ue al ir 

co!parando las casillas para &uscar el

si#uiente !ás #rande" %ste uele aco!parar las ya ordenadas'

Aru+$nto% Bu$ r$!*$: arre#lo di!ensional o !atriz a ordenar y lon#itud delarre#lo di!ensional'

=rocedi!iento irecto ar,at)!atriz" " c" indil" indcol)entero

aria&le R " au< ) entero

=ara RH1 a acer

 u<H,atMR"indilN

,atMR"indilNH,atMR"indcolN

/ecMR"indcolNHau<

Gin =ara

Gin =rocedi!iento

=rocedi!iento irectoar,at)!atriz" indcol" indil)entero

/aria&le i"$ ) entero

=ara iH1 a indcol-1

=ara $HiP1 a indcol

;i ,atM2"iNT ,atM2"$N entonces

Aur&u$airecta,at" indcol"indil"i"$

Gin ;i

Gin para

Gin =ara

Gin procedi!iento

=rocedi!iento

Aur&u$aWGinalar,at)!atriz" indcol"

indil)entero/aria&le i"$" orden ) entero

Page 97: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 97/143

iH1

ordenH0

,ientras iSindcol y ordenH0 acer 

ordenH1

=ara $H1 a indcol-1 acer 

;i ,atM2"$NT ,atM2"$P1N entonces

irecto ,at" indil" indcol" $" $P1  la!ada al procedi!iento

+rdenH0

Gin ;i

Gin =ara

Gin ,ientras

Gin =rocedi!iento

Not#: ;e ace uso de la pro#ra!ación !odular con el !%todo de ordenación

deno!inado &ur&u$a

Page 98: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 98/143

,# +E T'%A* %E OMEN&A&A*

  t tp )ZZ s is t e ! a s ' it lp ' e du ' ! < Zt u to ria le s Z p ro # o rien to & $e t o s Zt 1 1 ' t !

 

t tp )ZZ JJJ ' c e id is 'u la ' e Zc u rs o s Z in # e n ie ria Zp d W 1 0 Z c la s e s Z p u n t W 'p d   

t tp )ZZ s is t e ! a s 'it lp ' e du ' ! < Zt u t o ria le s Z a l#o rit ! o s Z te ! aW 7 1 ' t !

-# A TI.I&A&E* / E0E% I IO*

1. esoler !ediante un pseudocódi#o" un pro#ra!a donde solicite las 5 notas

de un alu!no en un arre#lo' ue#o ord%nelas de !ayor a !enor utilizando

el !%todo de &ur&u$a e indica en cuántos pasos lo realizó'

Ena esta actiidad a tra%s de “&"r'"$a! '

. El e$ercicio anterior arre#lo ori#inal" resolerlo !ediante el !%todo de

inserción' (o!pare la cantidad de pasos realizados por a!&os e indi.ue

cuál es el !ás rápido'Ena esta actiidad a tra%s de “(nserci)n! '

1# A'TOE.A+'A I(N

1. >u$ $% ord$n#+!$nto:

#/ =er!ite operar el alor de los pará!etros or!ales'

*/ Es la operación de arre#lar los re # is t ro s de una ta&la en al#n orden

secuencial de acuerdo a un criterio de ordena!iento'

/ o per!ite los ele!entos de ordenación or!al'

d/ o e<i#e llear los datos en or!a ordenada'

$/ a ordenación sie!pre es del !enor al !ayor de los datos'

Page 99: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 99/143

Universidad Privada

. E( ,ro$d!+!$nto d$( +;todo d$ (# *ur*u5# $%:

#/ o per!ite ordenar el arre#lo !oiendo el dato !ayor a la lti!a posición'

*/ =er!ite co!enzar desde la casilla cero del arre#lo y !oer el n!ero !ás

#rande a la lti!a posición' (ontinuar con el si#uiente ele!ento'

/  co!odado el !ás #rande" prosi#ue a encontrar y aco!odar el si#uiente

!ás #rande'

d/ o co!parando de nueo los n!eros desde el inicio del arre#lo'

$/ a ordenación es de acuerdo al procedi!iento de &s.ueda

3. D$ (#% %!u!$nt$% #(t$rn#t!#%. Cu( d$ $((#% no ,$rt$n$$ # (# (#%!!#!"n

d$ (o% #(or!t+o% d$ ord$n#!"nH

#/  l#orit!os de inserción

*/  l#orit!os de interca!&io

/  l#orit!os de selección

d/  l#orit!os de enu!eración

$/  l#orit!o de inserción directa

4. Cu( $% un# d$%$nt#5# $n (# ord$n#!"n ,or %$($!"n

#/ Es rápido y no realiza co!paraciones'

*/ =er!ite el interca!&io en cada e$ecución de la ordenación

/ ento y realiza nu!erosas co!paraciones'

d/ Es rápido en ordenaciones de listas #randes'

$/ e.uiere de poca !e!oria para la ordenación

6. Cu( $% (# $nt#5# d$( +;todo d$ ord$n#!"n %$((:

#/ &icado el alor &uscado" no contina su &s.ueda

*/ o re.uiere !e!oria adicional

/ Es esta&le y no !antiene el orden relatio de los re#istros'

d/ Es !uy lento y realiza 1 co!paración en la lista'

$/ os datos de&en estar ordenados

7. E( ,ro$d!+!$nto d$( +;todo d$ *%Bu$d# %$u$n!#( $%:

#/ ecorre el arre#lo o ector ele!ento a ele!ento y a co!parando con el

alor &uscado'

*/ (o!para los ele!entos del alor &uscado de 1 contra n ele!entos del

arre#lo o array'

/ &icado el alor &uscado no continua su &s.ueda'

d/ ecorre el array o ector eces por cada ele!ento &uscado'$/ ecorrer en orden deter!inado" sin ordenar'

Page 100: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 100/143

@. E( ,ro$d!+!$nto d$( +;todo d$ *%Bu$d# *!n#r!# $%:

#/ os datos no de&en estar ordenados en el array o ector'

*/ &icado el dato de &s.ueda el procedi!iento ter!ina'

/ El !%todo tiende a ser !uy lento'

d/ ; per!ite co!parar !ás de un ele!ento'

$/ (o!parar un ele!ento de &s.ueda y descartar los ar#u!entos de la

iz.uierda o dereca se#n sea el caso'

?. Lo% #rr$(o% *!d!+$n%!on#($% t#*(#%+#tr!$%/ $%:

#/ n array &idi!ensional es un #rupo ilas'

*/ Ciene un su&ndice para poder identiicar cada ele!ento del array'

/ ;olo pode!os recorrer la ta&la con el pri!er ndice'

d/ n con$unto de ele!entos" todos del !is!o tipo" en el cual el orden delos co!ponentes es i!portante'

$/  l!acena los datos de dierentes tipos'

. L# o,$r#!"n d$ %u+#r (o% d#to% d$ do% +#tr!$% u#dr#d#%:

#/  l!acena de or!a te!poral los datos de la ta&la'

*/ ;u!a los datos de las ilas" colu!nas y niel

/ ;u!a solo los ele!entos de las colu!nas y lue#o de la ilas'

d/ ;u!ar cada una de las posiciones de la !atriz y colocar en una tercera

!atriz" cada uno de los resultados'

$/ Es un !%todo su!a!ente si!ple .ue resulta til cuando se tiene un

con$unto de datos pe.ue>os

10. Cu( %$r2# (# ut!(!d#d d$ (#% +#tr!$% tr!d!+$n%!on#($%:

#/  l!acenar datos te!poral!ente en una estructura de datos tipo ta&la"

conor!ada por ilas y colu!nas'

*/  l!acenar los datos en una ta&la de un ndice'

/ =er!itir al!acenar datos de dierentes estructuras'

d/ o ay ndices de ordenación'

$/  l!acenar datos te!poral!ente en una estructura de datos tipo cu&o"

conor!ada por ilas" colu!nas y niel'

Page 101: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 101/143

2# %E*'MEN

UU N NIDIDAADD DDEE AAPPR R EE N NDD

IIZZAAJJEE """"""

a ordenación es la operación de or#anizar datos en al#n orden secuencial de

acuerdo a un criterio .ue puede ser creciente o decreciente para los n!eros o

ascendente o descendente ala&%tica!ente para datos de caracteres' El

propósito principal de un ordena!iento es el de acilitar las &s.uedas de los

!ie!&ros del con$unto ordenado' os 2 tipos de ordena!ientos .ue se pueden

realizar son) los internos y los externos' os internos" son a.uellos en los .ue los

alores a ordenar están en !e!oria principal" por lo .ue se asu!e .ue el tie!po

.ue se re.uiere para acceder cual.uier ele!ento sea el !is!o'

os !%todos de ordena!iento por selección" .ue es un al#orit!o de selección

.ue selecciona o &usca el ele!ento !ás pe.ue>o o !ás #rande de todo el

con$unto de ele!entos y se coloca en su posición adecuada' Can sólo se

consideran ar#u!entos co!o el ector a ordenar la lon#itud del arre#lo' Elal#orit!o ;ell sort !e$ora el ordena!iento por inserción co!parando ele!entos

separados por un espacio de arias posiciones'

El !%todo de &s.ueda secuencial .ue consiste en recorrer el arre#lo o ector 

ele!ento a ele!ento e ir co!parando con el alor &uscado clae' El resultado

de la &s.ueda es un solo alor" y será la posición del ele!ento &uscado o cero'

 s .ue para a#ilizar la &s.ueda el !%todo de &s.ueda &inaria sera el !ás

eiciente" as !is!o el !%todo &s.ueda dicotó!ica'

El array &idi!ensional se puede considerar co!o un ector de ectores' Este

tiene una or!a particular de declarar considerando el identiicador" indice1"

indice2 y el tipo de ele!ento' =ara las operaciones con los arre#los

&idi!ensionales se tiene .ue tener en cuenta estos ar#u!entos para la lectura y

la escritura de la !atriz' Ca!&i%n se !ane$an una estructura para el !%todo de

su!a co!o la de Aur&u$a en arre#los di!ensionales'

Page 102: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 102/143

UNIDADDE

APRENDIZA JE

versidad Privada TELESUP

INTRODUCCIÓN A LASESTRUCTURAS DE

DATOSDIN:MICAS

Uni

Algorítmica y Estructura de Datos

Page 103: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 103/143

COMPETENCIA$

Al finalizar esta asignatura será capaz de:

“  onstruir

algoritmos para resol!er pro3lemas 3asados en

estructuras de

Página 57datos dinámicas

"#

Page 104: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 104/143

Universidad Privada

)# INT%O&' I(N

#/ P r$ %$ nt# !"n & ont$' tu# (!)# !"n

El alu!no desarrolla una actitud analtica y critica .ue le per!ita alorar la

i!portancia en el !ane$o de las estructuras diná!icas .ue per!iten crear 

estructuras de datos .ue se adapten a las necesidades reales y per!itir 

construir al#orit!os !ás eicientes'

*/ Co+,$ t$ n!# %

Con%tru&$ #(or!t+o% ,#r# r$%o($r ,ro*($+#% *#%#do% $n $%trutur#% d$d#to% d!n+!#%.

/ C# ,# !d# d$ %

  esarrolla aplicaciones utilizando los distintos tipos de listas enlazadas'

  econoce los tipos de estructuras de datos y eli$e la !e$or alternatia en

la solución de un pro&le!a'

  (onstruye soluciones utilizando los dierentes tipos de ár&oles'

  econoce los tipos de #raos y su aplicación en la solución de pro&le!as'

d/ A t !tud$ %

  esarrolla una actitud e!prendedora !ediante la to!a de iniciatias'

   cta con responsa&ilidad personal" al cu!plir con los orarios

esta&lecidos'

  espeta a las nor!as de coniencia'

 

(u!ple con la presentación de los tra&a$os enco!endados de !aneraindiidual y en e.uipo'

$/ P r$ %$ nt# !"n d$ !d$# % *%!# % & ont$ n!do $ %$ n !# ($ % d$ (# Un!d# d

a unidad de prendiza$e 4) *ntroducción a las Estructuras de atos iná!icas"

co!prende el desarrollo de los si#uientes te!as)

1. L!%t# S!+,($. L!%t# Do*($+$nt$ En(#)#d#%. P!(#% & o(#%

3. Ar*o($%4. 8r#o%

Algorítmica y Estructura de DatosPágina 55

Page 105: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 105/143

TEMA

LISTASIMPLE%

DO)LEMENTE

ENLAZADA

Universidad Privada TELESUP

Page 106: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 106/143

Algorítmica y Estructura de DatosPágina 066

Page 107: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 107/143

Algorítmica y Estructura de Página

,# &E*A%%O++O &E TEMA*

T"ma6#

LISTA SIMPLE% DO)LEMENTEENLAZADAS

#ISTA SIM!#E

na (!%t# d$ $n(#$ %!+,($ es una lista enlazada de nodos" donde cada nodo

tiene un nico ca!po de enlace' na aria&le de reerencia contiene una

reerencia al pri!er nodo" cada nodo e<cepto el lti!o enlaza con el nodo

si#uiente" y el enlace del lti!o nodo contiene nu** para indicar el inal de la

lista' un.ue nor!al!ente a la aria&le de reerencia se la suele lla!ar to." se

puede ele#ir el no!&re .ue .uiera'

RE!RESENTACI'N %R 7&ICA

a i#ura presenta una lista de enlace si!ple de tres nodos" donde top reerencia

al nodo " conecta con A y A conecta con ( y ( es el nodo inal)

n al#orit!o co!n de las listas de enlace si!ple es la inserción de nodos' Este

al#orit!o está i!plicado de al#una or!a por.ue tiene !uco .ue er con cuatro

casos) cuando el nodo se de&e insertar antes del pri!er nodoK cuando el nodo se

de&e insertar despu%s del lti!o nodoK cuando el nodo se de&e insertar entre dos

nodosK y cuando la lista de enlace si!ple no e<iste' ntes de estudiar cada caso

considere!os el si#uiente pseudocódi#o)

294"2 94"SS ;ode

294"2 S<;> name294"2 ;ode next

2; 294"2

Page 108: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 108/143

Algorítmica y Estructura de Página

294"2 ;ode to. = ;?44

Page 109: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 109/143

#A #ISTA DE EN#ACE SIM!#E NO E8ISTE

Este es el caso !ás si!ple' ;e crea un ode" se asi#na su reerencia a top" se

inicializa su ca!po no de enlace" y se asi#na a su ca!po de enlace' El

si#uiente pseudocódi#o realiza estas tareas'

to. = ;2@ ;ode

to.5name = A"A

to.5next = ;?44

ACCIONES ,7SICAS

E( nodo de+e inserarse anes de( .rimer nodo"

;e crea un ;ode" se inicializa su ca!po no de enlace" se asi#na la reerencia de

to. al ca!po de enlace next" y se asi#na la reerencia del ;ode reci%n creado

a to.' El si#uiente pseudocódi#o .ue asu!e .ue se a e$ecutado el

pseudocódi#o anterior realiza estas tareas)

294"2 ;ode tem.

tem. = ;2@ ;ode

tem.5name = ABA

tem.5next = to.

to. = tem.

E( nodo de+e inserarse derás de( 2(imo nodo"

;e crea un ;ode" se inicializa su ca!po no de enlace" se asi#na ;?44 al

ca!po de enlace" se atraiesa la lista de enlace si!ple asta el lti!o ;ode" y

se asi#na la reerencia del ;ode reci%n creado al ca!po next del lti!o nodo'

Page 110: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 110/143

E( si)uiene .seudoc*di)o rea(i9a esas areas"

tem. = ;2@ ;ode

tem.5name = A9A

tem.5next = ;?44

294"2 ;ode tem.%tem.% = to.

@42 tem.%5next S ;C< ;?44tem.% = tem.%5next

2; @42

tem.%5next = tem.

E( nodo se de+e inserar enre dos nodos"

Este es el caso !ás co!ple$o' ;e crea un ;ode" se inicializa su ca!po no de

enlace" se atraiesa la lista asta encontrar el ;ode .ue aparece antes del nueo;ode" se asi#na el ca!po de enlace del ;ode anterior al ca!po de enlace del

;ode reci%n creado" y se asi#na la reerencia del ;ode reci%n creado al ca!po

del enlace del ;ode anterior' El si#uiente pseudocódi#o realiza estas tareas)

tem. = ;2@ ;ode

tem.5name = AA

tem.% = to.

@42 tem.%5name S ;C< A"Atem.% = tem.%5next

2; @42

tem.5next = tem.%5nexttem.%5next = tem.

a si#uiente i!a#en !uestra la inserción del nodo entre los nodos  y ('

,orrar e( !rimer nodo"

 si#na el enlace del ca!po ne<t del nodo reerenciado por top a top)

top=top.next;

a si#uiente i!a#en presenta las istas anterior y posterior de una lista donde sea &orrado el pri!er nodo' En esta i#ura" el nodo A desaparece y el nodo se

conierte en el pri!er nodo'

Page 111: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 111/143

,orrar cua(3uier nodo 3ue no sea e( .rimero"

ocaliza el nodo .ue precede al nodo a &orrar y le asi#na el enlace .ue ay en elca!po ne<t del nodo a &orrar al ca!po ne<t del nodo .ue le precede' El

si#uiente pseudocódi#o &orra el nodo )

tem. = to.

@42 tem.5name S ;C< A"A

tem. = tem.5next

2; @42

tem.5next = tem.5next5next

a si#uiente i#ura presenta las istas anterior y posterior de una lista donde sea &orrado un nodo inter!edio' En esa i#ura el nodo desaparece'

Page 112: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 112/143

#ISTA DO,#EMENTE EN#A:ADA

na lista doblemente enlazada es una lista

enlazada de nodos" donde cada nodo tiene

un par de ca!pos de enlace' n ca!po deenlace per!ite atraesar la lista acia

adelante" !ientras .ue el otro per!ite

atraesar la lista acia atrás' =ara la

dirección acia adelante" una aria&le de

reerencia contiene una reerencia al pri!er 

nodo' (ada nodo se enlaza con el si#uiente

!ediante el ca!po de enlace ne<t" e<cepto

el lti!o nodo" cuyo ca!po de enlace ne<tcontiene null para indicar el inal de la lista

en dirección acia adelante'

e or!a si!ilar" para la dirección contraria" una aria&le de reerencia contiene una

reerencia al lti!o nodo de la dirección nor!al acia adelante" lo .ue se interpreta

co!o el pri!er nodo' (ada nodo se enlaza con el anterior !ediante el ca!po de

enlace preious" y el pri!er nodo de la dirección acia adelante" contiene null en su

ca!po preious para indicar el in de la lista' a si#uiente i#ura representa una lista

do&le!ente enlazada de tres nodos" donde topGorJard reerencia el pri!er nodo en la

dirección acia adelante" y topAacRJard reerencia el pri!ero nodo la dirección

inersa'

#ISTA DE EN#ACE CIRCU#AR 

El ca!po de enlace del lti!o nodo de una lista de enlace si!ple contiene un enlace

nulo" ocurre lo !is!o en los ca!pos de enlace del pri!er y lti!o ele!ento en a!&as

direcciones en las listas do&le!ente enlazadas' ;upon#a!os .ue en ez de esto los

lti!os nodos contienen un enlace a los pri!eros nodos' En esta situación" ter!inará

con una lista de enlace circular " co!o se e en la si#uiente i#ura)

Page 113: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 113/143

Universidad Privada

L#% (!%t#% d$ $n(#$ !ru(#r %$ ut!(!)#n on r$u$n!# $n ,ro$%#+!$nto

r$,$t!t!o d$ nodo% $n un ord$n $%,$2!o. D!o% nodo% ,odr2#n

r$,r$%$nt#r on$'!on$% d$ %$r!dor ,ro$%#dor$% $%,$r#ndo un#

%$!"n r2t!# $t. E%t# $%trutur# d$ d#to% t#+*!;n %!r$ o+o *#%$

,#r# un# #r!#nt$ d$ un# $%trutur# d$ d#to% +% o+,($5#: (# coa Bu$

$r$+o% +% #d$(#nt$/.

#isas En(a9adas ;rene a Arra<s 4arre)(os6

L#% (!%t#% $n(#)#d#% t!$n$n (#% %!u!$nt$% $nt#5#% %o*r$ (o% #rr#&%:

  o re.uieren !e!oria e<tra para soportar la

e<pansión' =or el contrario" los arrays

re.uieren !e!oria e<tra si se necesita

e<pandirlo una ez .ue todos los ele!entos

tienen datos no se pueden a>adir datos nueos

a un array'

  +recen una inserciónZ&orrado de ele!entos

!ás rápida .ue sus operaciones e.uialentes

en los arrays' ;ólo se tienen .ue actualizar los

enlaces despu%s de identiicar la posición deinserciónZ&orrado' esde la perspectia de los

arrays" la inserción de datos re.uiere el

!oi!iento de todos los otros datos del array

para crear un ele!ento aco' e or!a si!ilar"

el &orrado de un dato e<istente re.uiere el

!oi!iento de todos los otros datos para

eli!inar el ele!ento aco'

En ontr#%t$ (o% #rr#&% or$$n (#% %!u!$nt$% $nt#5#% %o*r$ (#% (!%t#%

$n(#)#d#%:

os ele!entos de los arrays ocupan !enos !e!oria .ue los nodos por.ue no

re.uieren ca!pos de enlace'

  os arrays orecen un acceso !ás rápido a los datos" !ediante

ndices &asados en enteros'

Page 114: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 114/143

TEMA

PILAS 3COLAS

Universidad Privada TELESUP

Page 115: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 115/143

Algorítmica y Estructura de DatosPágina 06/

Page 116: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 116/143

Algorítmica y Estructura de Página

T"ma6'

PILAS 3 

COLAS

TI!O DE DATO A,STRACTO !I#A #I&O

na pila es un tipo especial de lista a&ierta en la .ue sólo se pueden insertar y

eli!inar nodos en uno de los e<tre!os de la lista' Estas operaciones se conocen

co!o OpusO y OpopO" respectia!ente Oe!pu$arO y OtirarO' de!ás" las escrituras de

datos sie!pre son inserciones de nodos" y las lecturas sie!pre eli!inan el nodoledo'

Estas caractersticas i!plican un

co!porta!iento de lista *G+ ast *n Girst

+ut" en donde el lti!o en entrar es el pri!ero

en salir' E$e!plo" el si!ilar .ue deria el

no!&re de la estructura es una pila de platos'

;ólo es posi&le a>adir platos en la parte

superior de la pila" y sólo pueden to!arse del

!is!o e<tre!o'

El nodo tpico para construir pilas es el !is!o .ue i!os en el te!a anterior para la

construcción de listas)

os tipos .ue deinire!os nor!al!ente para !ane$ar 

pilas serán casi los !is!os .ue para !ane$ar listas"

tan sólo ca!&iare!os al#unos no!&res)

t!,oNodo es el tipo para declarar nodos"

eidente!ente'

,Nodo es el tipo para declarar punteros a un nodo'

Page 117: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 117/143

Universidad Privada

Es eidente" a la ista del #ráico" .ue una pila es una lista a&ierta' s .ue si#ue

siendo !uy i!portante .ue nuestro pro#ra!a nunca pierda el alor del puntero al

pri!er ele!ento" i#ual .ue pasa con las listas a&iertas'

Ceniendo en cuenta .ue las inserciones y &orrados en una pila se acen sie!pre

en un e<tre!o" lo .ue considera!os co!o el pri!er ele!ento de la lista es en

realidad el lti!o ele!ento de la pila'

TI!O DE DATO A,STRACTO &I#A O CO#A &I&O

as colas son otro tipo de estructura de

datos lineales" las cuales presentan

restricciones en cuanto a la posición en la

cual pueden realizarse las inserciones y

las e<tracciones de ele!entos'

na cola es una lista de ele!entos en la .ue se insertan ele!entos por un e<tre!o

y se eli!inan ele!entos por el e<tre!o opuesto' (o!o consecuencia" los

ele!entos de una cola serán eli!inados en el !is!o orden en .ue se insertaron'

Es decir" el pri!er ele!ento .ue se !etió a la cola será el pri!ero en salir de ella'

En la ida cotidiana e<isten !ucos e$e!plos de colas" una cola para pa#ar 

cuentas en el &anco" una cola de lla!adas teleónicas en una central" una cola de

i!presión" etc'

e&ido al orden en .ue se insertan y eli!inan los ele!entos en una cola" ta!&i%n

se le conoce co!o estructura G*G+ Girst *n" Girst +ut) pri!ero en entrar" pri!ero en

salir'

Page 118: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 118/143

R$,r$%$nt#!"n $n 9$+or!#

as colas no son estructuras de datos unda!entales" es decir" no estándeinidas co!o tales en los len#ua$es de pro#ra!ación' as colas puedenrepresentarse !ediante el uso de)

  Arr$(o%.

  L!%t#% $n(#)#d#%.

RE!RESENTACI'N DE CO#AS MEDIANTE ARRE%#OS

E<isten tres !%todos dierentes para representar una cola !ediante

arre#los)

Pr!+$r 9;todo) ;e deine un arre#lo de ta!a>o !á<i!o y un apuntador al rente

de la cola pri!er ele!ento y uno al inal de la cola pró<i!o espacio li&re' (ada

ez .ue se inserta un nueo ele!ento se incre!enta el apuntador del inal asta

.ue se lle#a al ta!a>o !á<i!o !ás uno' (ada ez .ue se e<trae un ele!ento el

apuntador al rente de&e au!entar en uno asta .ue rente es i#ual a inal' a

representación #ráica de una cola es la si#uiente) Arr$(o: t#+#\o +'!+o4

FRENTE M0

FINAL M

El pro&le!a con este tipo de representación es .ue si se inserta el ta!a>o !á<i!o

de ele!entos del arre#lo" no se podrá se#uir insertando aun.ue se ayan e<tradoele!entos'

E$e!plo) ealice en or!a #ráica la si#uiente secuencia de operaciones) in"

inA" in(" out" in" outA" out(" inE" inG' e#istre cada ez los alores

de rente y inal'

a cola está aca si rente H inal y la cola está llena si inal H ta!W!a<' En estarepresentación tanto la inserción de ele!entos co!o la eli!inación son de +1'

0 A

1 A

3

Page 119: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 119/143

S$undo 9;todo) na or!a de solucionar este pro&le!a es desplazar los

datos acia arri&a cada ez .ue se e<trae un ele!ento' e esta or!a el dato a

e<traer sie!pre estará en la pri!era posición del arre#lo'

E$e!plo) ealice en or!a #ráica la si#uiente secuencia de operaciones) in"inA" in(" out" in" outA" out(" inE" inG' e#istre cada ez los alores

de rente y inal'

E( ,ro*($+# Bu$ %ur$ on $%t$ +;todo $% Bu$ (# !n%$r!"n $% d$ O1/ & (#

$'tr#!"n %$ !nr$+$nt# # On/ ,or t$n$r Bu$ #$r (o% orr!+!$nto%.

T$r$r 9;todo: Este !%todo consiste en i!ple!entar la cola utilizando un &uer 

circular" en este caso tanto la inserción co!o la e<tracción de ele!entos se

!antienen de +1'

El apuntador rente sie!pre está en la posición donde se de&e e<traer el pró<i!o

ele!ento y el apuntador inal estará en la posición donde se de&e insertar el

pró<i!o ele!ento" ;i inal está en la posición del ta!a>o !á<i!o del arre#lo de&e

ser inicializado en el pri!er ele!ento del arre#lo de !anera de continuar 

circular!ente" esto sie!pre y cuando rente no sea i#ual al pri!er ele!ento" encuyo caso la cola estará llena' El apuntador rente de&e ser incre!entado cada

ez .ue se e<trae un ele!ento e inicializado en la pri!era posición del arre#lo

cuando se e<trai#a ele!ento de la lti!a posición del arre#lo" esto sie!pre y

cuando rente sea distinto de inal en cuyo caso la cola estará aca'

El pro&le!a con esta representación es .ue

la condición rente H inal se aplica tantopara la cola llena co!o para la cola aca'

=ara solucionar esto se utiliza una aria&le

para al!acenar el n!ero de ele!entos de

la cola' ;i la aria&le es i#ual a cero la cola

está aca" cuando la aria&le es i#ual al

ta!a>o !á<i!o del arre#lo la cola está

llena'

Page 120: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 120/143

O,$r#!on$%

T!,oO,$r#!"n

O,$r#!"n Do+!n!o Codo+!n!o E%,$!!#!"n D$%r!,!"n

(onstructora *nic(ola (ola(olaI*nic(olaoid

(rea una cola

ac2a

,odi icadora dic(ola(ola"

Cipo((ola

oid dic(ola(ola Ip" Cipo(

dato

*nserta unele!ento en elinal de la cola

,odi icadora Eli!(ola (ola (ola oid Eli!(ola(ola Ic

;upri!e elele!ento .ue

está en el  rentede la cola

 nalizadora *n o(ola (ola Cipo( Cipo( *n o(ola(ola Ic

euele elele!ento .ue

está en el  rentede la cola

 nalizadora /acia(ola (ola intint /acia(ola(ola

Ic

eueleerdadero 1 sila cola está aca

y also 0 encaso contrario

 nalizadora lena(ola (ola intint lena(ola(ola

Ic

e#resaerdadero 1 sila cola está llenay also 0 si no lo

está

estructora estruir(ola (olaoid

estruir(ola(olaIc

i&era la!e!oria

Page 121: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 121/143

TEMA

:R)OLES

Algorítmica y Estructura de DatosPágina 003

Universidad Privada TELESUP

Page 122: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 122/143

Algorítmica y Estructura de Página

T"ma6,

AR)OL

ES

DE&INICI'N DE 7R,O#

ár&ol es una estructura de datos" .ue puede

inirse de or!a recursia co!o) na

ructura aca o un ele!ento o clae de

or!ación nodo !ás un n!ero inito deructuras tipo ár&ol" dis$untos" lla!ados

&ár&oles' ;i dico n!ero de estructuras es

erior o i#ual a 2" se tiene un ár&ol &inario' Es"

r tanto" una estructura no secuencial'

+tra deinición nos da el ár&ol co!o un tipo de #rao) un ár&ol es un #rao acclico"

cone<o y no diri#ido' Es decir" es un #rao no diri#ido en el .ue e<iste

e<acta!ente un ca!ino entre todo par de nodos' Esta deinición per!ite

i!ple!entar un ár&ol y sus operaciones e!pleando las representaciones .ue se

utilizan para los #raos' ;in e!&ar#o" en esta sección no se tratará esta

i!ple!entación'

&ORMAS DE RE!RESENTACI'N

Mediane un )ra;o"  Mediane un dia)rama

enco(umnado"

a7c!"0 

n

de

est

in

est

suin

po

Page 123: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 123/143

Algorítmica y Estructura de Página

F!ur# N] 1

Page 124: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 124/143

En la co!putación se utiliza !uco una estructura de datos" .ue son los ár&oles

&inarios' Estos ár&oles tienen 0" 1 ó 2 descendientes co!o !á<i!o' El ár&ol de

la i#ura anterior es un e$e!plo álido de ár&ol &inario'

DEC#ARACI'N DE 7R,O# ,INARIO

;e deinirá el ár&ol con una clae de tipo entero puede ser cual.uier otra tipo de

datos y dos i$os) iz.uierdo iz. y dereco der' =ara representar los enlaces

con los i$os se utilizan punteros' El ár&ol aco se representará con un puntero

nulo' n ár&ol &inario puede declararse de la si#uiente !anera)

ty*"!"0 strct tar7ol;

i&t cla+"<strct tar7ol =i>9?=!"r<

@ tar7ol<

RECORRIDOS SO,RE 7R,O#ES ,INARIOS

;e consideran dos tipos de recorrido) recorrido en proundidad y recorrido en

ancura o a niel' =uesto .ue los ár&oles no son secuenciales co!o las listas" ay.ue &uscar estrate#ias alternatias para isitar todos los nodos'

Recorridos en .ro; undidad"

#$ ecorrido en ,r$ord$n) consiste en isitar el nodo actual isitar puede ser 

si!ple!ente !ostrar la clae del nodo por pantalla" y despu%s isitar el

su&ár&ol iz.uierdo y una ez isitado" isitar el su&ár&ol dereco' Es un

proceso recursio por naturaleza' ;i se ace el recorrido en preorden del ár&ol

de la i#ura 1 las isitas seran en el orden si#uiente) a"&"d"c"e"'

+oi! *r"or!"&tar7ol=aB;

i0 a NULLB ;+isitaraB<

*r"or!"&aFi>9B<

Page 125: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 125/143

*r"or!"&aF!"rB<

@@

Page 126: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 126/143

 %$ ecorrido en !nord$n u orden central) se isita el su&ár&ol iz.uierdo" el

nodo actual" y despu%s se isita el su&ár&ol dereco' En el e$e!plo de la

i#ura 1 las isitas seran en este orden) &"d"a"e"c"'

+oi! i&or!"&tar7ol =aB;

i0 a NULLB ;i&or!"&aFi>9B<+isitaraB<i&or!"&aF!"rB<

@@

&$ ecorrido en ,o%tord$n) se isita pri!ero el su&ár&ol iz.uierdo" despu%s el

su&ár&ol dereco" y por lti!o el nodo actual' En el e$e!plo de la i#ura 1 el

recorrido .uedara as) d"&"e""c"a'

+oi! *ostor!"&ar7ol =aB;

i0 a NULLB ;*ostor!"&a

Fi>9B<*ostor!"&aF!"rB< +isitaraB<

@@

a enta$a del recorrido en postorden es .ue per!ite &orrar el ár&ol de or!a

consistente' Es decir" si isitar se traduce por &orrar el nodo actual" al e$ecutar 

este recorrido se &orrará el ár&ol o su&ár&ol .ue se pasa co!o pará!etro' a

razón para acer esto es .ue no se de&e &orrar un nodo y despu%s sussu&ár&oles" por.ue al &orrarlo se pueden perder los enlaces" y aun.ue no se

perdieran se ro!pe con la re#la de !anipular una estructura de datos ine<istente'

na alternatia es utilizar una aria&le au<iliar" pero es innecesario aplicando este

recorrido'

Recorrido en am.(iud"

(onsiste en ir isitando el ár&ol por nieles' =ri!ero se isitan los nodos de niel 1

co!o !uco ay uno" la raz" despu%s los nodos de niel 2" as asta .ue ya no

Page 127: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 127/143

.ueden !ás' ;i se ace el recorrido en a!plitud del ár&ol de la i#ura" una isita

de los nodos sera en este orden) a"&"c"d"e" 

Page 128: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 128/143

En este caso el recorrido no se realizará de or!a recursia sino iteratia"

utilizando una cola co!o estructura de datos au<iliar' El procedi!iento consiste en

encolar si no están acos los su&ár&oles iz.uierdo y dereco del nodo e<trado

de la cola" y se#uir desencolando y encolando asta .ue la cola est% aca' En

la codiicación .ue iene a continuación no se i!ple!entan las operaciones so&re

colas'

+oi! am*lit!tar7ol=aB;

tCola cola< = las cla+"s !" la cola s"rH& !" ti*o Hr7ol

7i&ario =ar7ol =a<

i0 a NULLB ;Cr"arColacolaB<"&colarcola? aB<Kil" cola+aciacolaBB ;

!"s"&colarcola? aB<+isitaraB<i0 aFi>9 NULLB "&colarcola?a i0 aF!"r NULLB"&colarcola? a

@@

@

CONSTRUCCI'N DE UN 7R,O# ,INAR IO

Xasta el !o!ento se a isto la declaración y recorrido de un ár&ol &inario' ;ine!&ar#o no se a estudiado nin#n !%todo para crearlos' continuación se

estudia un !%todo para crear un ár&ol &inario .ue no ten#a claes repetidas

partiendo de su recorrido en preorden e inorden" al!acenados en sendos arrays'

 ntes de e<plicarlo se reco!ienda al lector .ue lo intente acer por su cuenta" es

sencillo cuando uno es capaz de construir el ár&ol iendo sus recorridos pero sin

a&er isto el ár&ol ter!inado'

Fi>9B<F!"rB<

Page 129: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 129/143

=artiendo de los recorridos preorden e inorden del ár&ol de la i#ura 1 puede

deter!inarse .ue la raz es el pri!er ele!ento del recorrido en preorden' Ese

ele!ento se &usca en el array inorden' os ele!entos en el array inorden entre

!)B y la raz or!an el su&ár&ol iz.uierdo' si!is!o" los ele!entos entre d$r yla raz or!an el su&ár&ol dereco' =or tanto se tiene este ár&ol)

  continuación co!ienza un proceso recursio' ;e procede a crear el su&ár&oliz.uierdo" cuyo ta!a>o está li!itado por los ndices !)B y d$r ' a si#uiente

posición en el recorrido en preorden es la raz de este su&ár&ol' [ueda esto)

El su&ár&ol b tiene un su&ár&ol dereco" .ue no tiene nin#n descendiente" tal y

co!o indican los ndices !)B y d$r ' ;e a o&tenido el su&ár&ol iz.uierdo co!pleto de

la raz a" puesto .ue b no tiene su&ár&ol iz.uierdo)

D$%,u;% %$u!r on%tru&;ndo%$ $( %u*r*o( d$r$o # ,#rt!r d$ (# r#2) a.

Page 130: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 130/143

TEMA

GRAOS

Algorítmica y Estructura de DatosPágina 005

Universidad Privada TELESUP

Page 131: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 131/143

Universidad Privada

Algorítmica y Estructura de Página

T"ma6/

GRA

OS

DE&INICIONES ,7SICAS"

n grafo es la representación por !edio de con$untos de relaciones ar&itrarias entre

o&$etos' E<isten dos tipos de #raos se#n la relación entre los o&$etos sea unoca

o &iunoca' os pri!eros or!an los #raos diri#idos o d#raos y los se#undos los#raos no diri#idos o si!ple!ente #raos' En la !ayor parte de los al#orit!os se

ace reerencia a la ter!olo#a &ásica .ue se propone a continuación' ica

ter!inolo#aK no es estándar y puede lle#ar a ariar en los distintos te<tos .ue

e<isten en la !ateria'

n gra*o dirigido o d+gra*o consiste de un con$unto de %rtices / y un con$unto de

arcos ' os %rtices se deno!inan nodos o puntosK los arcos ta!&i%n se conocen

co!o aristas o lneas diri#idas .ue representan .ue entre un par de %rtices e<iste

una relación unoca a& pero no &a' e !odo .ue los arcos se representan

co!n!ente por !edio de pares ordenados a"&" donde se dice .ue a es la

ca&eza y & la cola del arco y a !enudo se representa ta!&i%n por !edio de una

leca" tal co!o se !uestra en la i#ura 1'

# *

F!ur# 1 8r#o d!r!!do

G ={V  , A} dondeV = {v1 

, v2,, 

vn } 

"

 A = {a1 , a

2,, a

n} 

yai=(v 

 j, vk ) tal .ue

v j, v

k∈V

' En dico #rao se entiende .ue(v

i , v 

 j) ≠ (v 

 j, v

i) 

y en !ucos casos

Page 132: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 132/143

Universidad Privada

Algorítmica y Estructura de Página

solo e<iste uno de los pares de %rtices'

Page 133: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 133/143

n !rtice .ue solo tiene arcos saliendo de %l se deno!ina fuente y un %rtice

.ue solo tiene arcos diri#idos acia %l se deno!ina sumidero' ica

no!enclatura es i!portante cuando los d#raos se usan para resoler 

pro&le!as de lu$os'

n gra*o no dirigido, o gra*o" al i#ual .ue un d#rao consiste de un con$unto

de %rtices / y un con$unto de arcos ' a dierencia consiste en .ue la

e<istencia de a& presupone .ue &a ta!&i%n e<iste y ade!ás .ue son i#uales'

e este !odo es indistinto a&lar del arco a"& o &"a" ta!poco tiene sentido

a&lar de la ca&eza o la cola del arco' os #raos representan co!o lo indica la

i#ura 2" donde los crculos representan los %rtices y las lneas representan

los

arcos'

# *

F!ur# 8r#o no d!r!!do

G ={V  , A} onde V = {v1 , v

2,, v

n } "

 A = {a1 , a

2,, a

n} 

y

ai=(v 

 j, v

k

)

tal

.ue v j, v

k∈V ' En dico #rao se

entiende .ue (v , 

v

) ⇔ 

(v

, v )  y

ade!ás (v , 

v

) = 

(v

, v )" donde

a!&os pares de %rtices representanel !is!o arco'

E<isten ade!ás #raos en donde los arcos tienen asociado al#n alor en cuyo

caso a&la!os de #raos ponderados y se representan los arcos co!o tripletas'

;i#ue e<istiendo la inor!ación de los %rtices unidos por dico arco ade!ás de

la inor!ación del peso de dico arco' s pues" el arco se representa co!o

a = (v , 

v

, w) dondevi, v 

 j

son el ori#en y destino y w es el peso

i

i j j

i i j j

i j

Page 134: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 134/143

respectia!ente'

Page 135: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 135/143

n nodo * se dice .ue es #d&#$nt$ al nodo # si e<iste el arco a" &" tó!ese en

cuenta .ue para un #rao no diri#ido necesaria!ente # es ta!&i%n adyacente a

*' Esto no ocurre en los #raos diri#idos donde la e<istencia de a " & no

i!plica .ue &" a ta!&i%n e<iste' Este concepto es de particular i!portancia

dado .ue los #raos suelen representarse en la co!putadora por !edio de

listas o !atrices de adyacencias'

n arco a"& !n!d$ en el nodo &" de i#ual !odo

en #rao no diri#ido dico arco ta!&i%n incide en

el nodo a de&ido a .ue ta!&i%n e<iste &" a' El

n!ero de arcos .ue inciden en un nodo le

otor#a el r#do a dico nodo' El nodo con !ayor 

#rado en el #rao le indica el #rado de dico

#rao' Ca!&i%n se acostu!&ra representar a un

#rao por !edio de listas o !atrices de

incidencias'

MÉTODOS DE RE!RESENTACI'N EN COM!UTADORA

E<isten arias or!as de representar un #rao en la co!putadora y cada una

tiene sus enta$as y desenta$as' ,ostrare!os las !ás co!unes y la or!a de

i!ple!entarlas'

a ,r!+$r# or+# es por !edio de una !atriz de adyacencias" con este !%todo

se tiene una !atriz de ta!a>o nxn" donde n es el n!ero de %rtices o nodos en

el #rao' na or!a si!ple de er la inor!ación #uardada en dica !atriz es

.ue los ren#lones de las !is!as representan el ori#en y las colu!nas el destinode cada arista o arco en el #rao'

;i el #rao es no ponderado se acostu!&ra poner un cero en el ren#lón i"

colu!na $" de la !atriz cuando no e<iste dico arco" y un uno cuando dico arco

e<iste en el #rao' En el caso de #raos ponderados" se acostu!&ra poner una

&andera nor!al!ente el alor de ininito en las posiciones donde no e<iste un

arco y el peso correspondiente en las posiciones donde si e<iste'

Page 136: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 136/143

Universidad Privada

1

3

6 4

F!ur# 3 8r#o no ,ond$r#do & %u +#tr!) d$ #d&#$n!#

e&e notarse .ue para un #rao no diri#ido la !atriz de adyacencia es si!%trica y .ue

la dia#onal principal contiene ceros' Esto puede lle#ar a aproecarse para aorrar 

tie!po en al#unos al#orit!os'

a representación por !edio de !atriz se preiere para al#orit!os donde el n!ero de

arcos es #rande en proporción al n!ero de %rtices' ;i sucediera lo contrario se

preiere la representación por !edio de listas de adyacencia'

3 4

6 3

4 1

F!ur# 4 L!%t# d$ #d&#$n!# ,#r# $( r#o d$ (# !ur# 3

A#%ORITMO DE =AR S/A##

Es el al#orit!o !ás eiciente" per!ite calcular las potencias de la !atriz de

adyacencia " y per!ite encontrar la !atriz su!atoria A'

1 3 4 6

1 0 1 0 0 1

1 0 1 1 1

3 0 1 0 1 0

4 0 1 1 0 1

6 1 1 0 1 0

1

6 ;

6

4

Page 137: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 137/143

=ara un #rao diri#ido F con ! nodos /H L 1" 2" 3" V'" !Q se lla!a la !atriz de

ca!inos = de la si#uiente !anera)

P!5/ M 1 %! $'!%t$ un #+!no %!+,($ d$ ! #  5 Bu$ no u%# otro% nodo% #,#rt$ d$

,o%!*($+$nt$ 1 3 V. +

P!5/ M 0 $% otro #%o

garsall o&sero .ue =Ri"$H1" (uando )

1. E'!%t$ un #+!no %!+,($ d$ ! #  5 P-1!5/M1

. E'!%t$ un #+!no %!+,($ d$ ! # & otro #+!no %!+,($ d$ #

! P-1!/M1 & P-15/M1

3. Lo% $($+$nto% d$ (# +#tr!) P %$ o*t!$n$ d$ (# %!u!$nt$ +#n$r#:

P!5/MP-1!5/ o P-1!/ & P-15/

Pro$d!+!$nto #r%#((

Para i# a m Kac"rPara # a m Kac"r

Si Ai?6 "&to&c"sPi?B6

Els"Pi?B#

i& sii& Para

i& Para

Para # a m Kac"rPara i # a m Kac"rPara # a m Kac"r

Pi?B Pi?B o Pi?B y P?B i&Para

i& Parai& Para

i& Proc"!imi"&to

Page 138: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 138/143

,# +E T'%A* %E OMEN&A&A*

 D$!n!!"n d$( r*o(

tt , :  KKK . # ( o r !t +! # . n $ t # r t! ($ % . , , H !dM 1 @

 E%trutur# FIFO

tt,: KKK. &ou tu*$ . o+ K# t HMnF)[F [Z AoI

-# A TI.I&A&E* / E0E% I IO*

1. Escri&ir el pseudocódi#o .ue eectu% la &s.ueda de un dato y a

continuación eli!ine el dato del nodo anterior en una lista enlazada'

  Ena esta actiidad a tra%s de “Lista ena-ada! '

2. ;e considera una cola rente a una entanilla en la cual al lle#ar a la !is!a

no puede ser atendido" se le reinte#ra a la cola a la posición h 10" si ay

!ás de 10 personas o al inal de la !is!a" en caso contrario' ise>ar un

procedi!iento de CE(*+ lo .ue de&e suceder cuando un cliente es

atendido' E*FE;+ uelta a la cola y otro de *FE;+ inicial en la

cola'

  Ena esta actiidad a tra%s de “Coa! '

Page 139: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 139/143

1#

A'TOE.A+'A I4N

1. L# $%trutur# d$ d#to% (!%t# %!+,($ $%:#$ na estructura unidi!ensional con nodos' %$ na lista enlazada de nodos" donde cada nodo tiene un nico ca!po de

enlace'&$ o tiene ele!entos de enlace al si#uiente ele!ento''$ o tiene nodo de inalización'($ os ele!entos se enlazan uno por cada ele!ento'

. Un# (!%t# do*($+$nt$ $n(#)#d# $%:

#$ na lista enlazada de nodos" donde cada nodo tiene un par de ca!pos deenlace' %$ Es un con$unto de una lista si!ple en or!a de do&le enlace'&$ El lti!o ele!ento de la lista es nulo y se enlaza con el pri!ero''$  .uello donde no ay ele!entos de enlace en los nodos'($ (uando solo e<iste el pri!er enlace de los nodos'

3. Un# (!%t# d$ $n(#$ !ru(#r $%:#$ El ca!po de enlace del lti!o nodo de una lista de enlace si!ple .ue

contiene un enlace nulo' %$ El ca!po de enlace del pri!er y lti!o ele!ento en a!&as direcciones en

las listas do&le!ente enlazadas'&$ (uando no ay un lti!o ele!ento o nodo .ue apunte al pri!er ele!ento'$ (uando la estructura de datos lista enlazada si!ple" el nodo inal de la

lista" el .ue en su ca!po de enlace tena null" apunta al pri!er nodo de lalista

($ El lti!o ele!ento de la lista contiene el ele!ento null

4. E( t!,o d$ d#to #*%tr#to d$ t!,o ,!(# o LIFO $%:#$ na lista donde el lti!o ele!ento en in#resar" es el lti!o ele!ento en

salir' %$ (uando no ay lu#ar para poder sacar un ele!ento de la lista'

&$ (uando sie!pre los ele!entos están do&le!ente enlazados'$ El pri!er ele!ento in#resado" es lti!o en salir de la lista'($ na lista a&ierta .ue per!ite insertar y eli!inar nodos en uno de los

e<tre!os de la lista

6. Un t!,o d$ d#to #*%tr#to d$ t!,o o(# o FIFO orr$%,ond$ #:#$ Ele!entos de una lista circular' %$ istas de datos do&le!ente enlazadas'&$ na lista de ele!entos en la .ue se insertan ele!entos por un e<tre!o y

se eli!inan ele!entos por el e<tre!o opuesto'$ na estructura en or!a recursia

($ na estructura con un solo ele!ento o acio'

Page 140: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 140/143

7. L# d$!n!!"n d$ un r*o(:#$ na estructura de datos" .ue deine de or!a iteratia' %$ na estructura no aca o un ele!ento de inor!ación nodo''&$ Xay un n!ero ininito de estructuras tipo ár&ol" dis$untos" lla!ados

su&ár&oles'

'$ na estructura de datos no secuencial'($ n ár&ol es un #rao acclico" cone<o y no diri#ido' Es decir" es un #rao

no diri#ido en el .ue e<iste e<acta!ente un ca!ino entre todo par denodos'

@. E( t!,o d$ r$orr!do %o*r$ r*o($% *!n#r!o% ,u$d$ %$r:#$ ecorrido en preorden e inorden' %$ ecorrido en preorden y postorden'&$ ecorrido en preorden e inorden''$ ecorrido en proundidad y recorrido en ancura o a niel'($ ecorrido preorden" postorden e inorden'

?. Un r$orr!do $n ,r$ord$n %!n!!#:

#$ /isitar el nodo actual" despu%s isitar el su&ár&ol iz.uierdo y lue#o isitar elsu&ár&ol dereco'

 %$ /isitar el su&ár&ol iz.uierdo" el nodo actual" despu%s isitar el su&ár&oldereco'

&$ /isitar el su&ár&ol dereco" despu%s el dereco del nodo actual'$ /isitar el su&ár&ol iz.uierdo" despu%s el nodo actual y lue#o el su&ár&ol

dereco($ /isitar pri!ero el su&ár&ol iz.uierdo" despu%s el su&ár&ol dereco" y por 

lti!o el nodo actual'

. L# d$!n!!"n d$ r#o:#$ o es la representación por !edio de con$untos de relaciones ar&itrarias

entre arios o&$etos' %$ n con$unto de %rtices sin relación deter!inada&$ n con$unto de ele!entos" nodos y %rtices relacionados entre los

ele!entos''$ n con$unto de %rtices y ele!entos sin relación deter!inada'($ n con$unto de nodos'

10. Un d2r#o o r#o no d!r!!do $%:#$ n con$unto de ele!entos" nodos y un con$unto de arcos relacionados' %$ n con$unto de %rtices y ele!entos con una relación deter!inada'&$ n con$unto de arcos sin relación con los nodos''$ n estructura de datos estática($ (uando no ay representación de d#rao'

Page 141: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 141/143

2# %E*'MEN

UU NI NIDDAADD DDEE AAPPR R EE N NDDIIZZAAJJEE II))::

as estructuras de datos es una colección de datos .ue pueden ser caracterizados

por su or#anización y las operaciones .ue se deinen de ella' En #eneral el al#orit!o

y la estructura de datos .ue !anipulará estarán !uy relacionados' ;e#n su

co!porta!iento durante la e$ecución del pro#ra!a distin#ui!os estructura de datos

diná!icas" su ta!a>o en !e!oria es aria&le' Este tipo de estructura se diide en)

ineales) son a.uellas estructuras donde los datos se a l!acenan en zonas sucesias

o adyacentes" es decir una detrás de otra' E$e!plo) listas enlazadas" pilas" colas' Y

las no lineales" a.u cada ele!ento puede tener dierentes ?si#uientes@ ele!entos"

teniendo el concepto de &iurcación" ya no ay linealidadK e$e!plos) ár&oles" #raos'

as listas son estructuras de datos secuenciales de 0 o !ás ele!entos de un tipo

dado al!acenados en !e!oria' ;on estructuras lineales" donde cada ele!ento de la

lista" e<cepto el pri!ero" tiene un nico predecesor y cada ele!ento de la lista"

e<cepto el lti!o" tiene un nico sucesor'

a pila es una estructura lineal" es una lista o secuencia inita de ele!entos de al#n

con$unto donde las inserciones y eli!inaciones se realizan por un solo e<tre!o de la

lista" lla!ada ci!a o tope'

na cola es una lista lineal en la cual las eli!inaciones se realizan solo por un

e<tre!o lla!ado rente y las inserciones se realizan por los e<tre!os lla!ados inal'

E$e!plos de cola de la ida diaria" se en en los cines" en los &ancos" los estadios"

etc'" la i!presión de !ltiples tra&a$os .ue tienen .ue esperar de acuerdo a su orden

de lle#ada'

os ár&oles representan estructuras no lineales y diná!icas' ;e dice diná!ica

puesto .ue la estructura del ár&ol puede ariar durante la e$ecución del pro#ra!a' o

lineales por.ue a cada ele!ento del ár&ol puede se#uirle arios ele!entos' n ár&ol

es una estructura $erár.uica aplicada so&re una colección de ele!entos u o&$etos

lla!ados nodos" uno de los cuales se lla!a raz'

Page 142: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 142/143

5+O*A%IO

1. =IFURCACIÓN: es una caracterstica .ue per!ite a una colección de

arcios desarrollarse en dos o !ás rutas de acceso dier#entes'

. FIFO: es el acróni!o in#l%s de F!r%t In F!r%t Out pri!ero en entrar" pri!ero

en salir'

3. LIFO: es el acróni!o in#l%s de L#%t In F!r%t Out lti!o en entrar" pri!ero en

salir'

6'ENTE* &E IN6O%MA I(N

FUENTES ELECTORNICAS:  <undamentos de Programacin y Estructura de Datos

tt , :  KKK . % r !* d . o + d o ?0 3 0 ? 7 u n d # + $ n to % -d $ -,ro r # + # !o n -

# ( o r !t + o % -& -$ % tru tur # -d $ -d # to%

  Listas y Pilas

tt , :  KKK .s l i ! " s Ka r " . n $ t ) # + # n t # (! % t# % -& -,! ( # %

  +rafo Definiciones

tt , :  + # t$ r !# % . !. u * # . # r 7 1 0 @ r # o % Q d $ !n ! !o n $ % . , d  

  Estrucutra de Datos y Algoritmica de Datos

tt , :  KKK . ,ro r # + # !o n . o + # r t! u (o $ % tru tur # % Q d $ Q d # to % Q &Q # ( o r !t + o%

 Q$ n Q 5 # # Q 3 0

  Algoritmica y Estruicutra de Datos

Q tt *$ % r l* %U t & % E ! %A r Ma t " r ia s Al g o r it m o s

FUENTES =I=LIO8RAFICAS:

  LAFORE Ro*$rt ata ;tructures U l#orit!s in Baa gaite Froup =ress' 1988 &y

Ce gaite Froup" *nc' ;' 2005'

  DALE < LILL< l#orit!os P Estructura de atos H =ro#ra!as' Ediciones (astillo'

ata ;tructures and l#orit!s' ;cientiic !ercian" 2005

  DEITEL [. 9. < DEITEL P. J Fua de =ro#ra!ación ;per Baa 2 . 2006

  JO<ANES A8UILAR Lu!% 2006 Gunda!entos de pro#ra!ación) al#orit!os

y estructuras de datos) ,adrid) ,cFraJ-Xill' 714 p'

  Ro*$rt P#nt!o%o S!(# 2007 Gunda!entos de =ro#ra!ación) l#orit!os y

ia#ra!as de Glu$o ;e#unda Edición

Page 143: AED-SI-02 Libro de Algoritmo y Estructura de Datos

7/23/2019 AED-SI-02 Libro de Algoritmo y Estructura de Datos

http://slidepdf.com/reader/full/aed-si-02-libro-de-algoritmo-y-estructura-de-datos 143/143

  +A.E* &E +A A'TOE.A+'A I(N

UNIDAD DEAPRENDIZAJE 1

1. #/

. $/

3. */

4. /

6. */

7. */

@. /?. /

. $/

10. #/

UNIDAD DE

APRENDIZAJE 3

1 */

UNIDAD DEAPRENDIZAJE

1. */

. $/

3. /

4. /

6. d/

7. $/

@. #/

?. #/

. /

10. d/

UNIDAD DE

APRENDIZAJE 4

1. */