Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle...

53
Estructura de Datos Centro Universitario UAEM Valle de México Ph. D. Victor Manuel Landassuri Moreno [email protected] [email protected] Estructura )po Pila - Victor M. Landassuri M. Unidad II. Estructuras de Datos Lineales - Pilas Licenciatura en Ingeniería en Computación Fecha de cración – julio 2016 – semestre imparKdo 2016B 1

Transcript of Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle...

Page 1: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

EstructuradeDatos

CentroUniversitarioUAEMValledeMéxico

[email protected]

[email protected]

Estructura)poPila-VictorM.LandassuriM.

UnidadII.EstructurasdeDatosLineales-Pilas

LicenciaturaenIngenieríaenComputaciónFechadecración–julio2016–semestreimparKdo2016B

1

Page 2: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

MAPA CURRICULAR DE LA LICENCIATURA DE INGENIERÍA EN COMPUTACIÓN 2004 CRÉDITOS TOTALES: 430-450

TRA

TAM

IEN

TO D

E LA

INFO

RMA

CIÓ

NRE

DES

A

RQUI

TEC

TURA

DE

CO

MPU

TAD

ORA

SM

ATE

TICA

S SO

FTW

ARE

DE

BASE

EN

TORN

O S

OC

IAL 2

04

SOCIOLOGÍA

ECUACIONES DIFERENCIALES

408

SOCIEDAD E INGENIERÍA

2 0 4

LECTURA Y REDACCIÓN

0 2 2

LEGISLACIÓN INFORMÁTICA

2 0 4

AUDITORIA INFORMÁTICA

2 2 6

ADMINISTRACIÓN DE PROYECTOS

INFORMÁTICOS 2 2 6

FORMACIÓN DE LÍDERES

1 2 4

INFERENCIA ESTADÍSTICA

2 1 5

CÁLCULO NUMÉRICO

3 0 6

VARIABLE COMPLEJA

3 0 6

SIMULACIÓN 1 2 4

ANÁLISIS DE FOURIER

2 0 4

QUÍMICA GENERAL 3 1 7

TIPOS Y CONFIGURACIONES

2 1 5

INSTALACIONES Y EQUIPOS

2 1 5

AUDITORIA DE REDES 1 2 4

SERVICIOS DE INTERNET

1 2 4

INTERCONEXIÓN DE REDES1 2 4

MINERÍA DE DATOS 2 2 6

SISTEMAS GESTORES DE

BASES DE DATOS

135

317

BASES DE DATOS AVANZADAS

226

FUNDAMENTOS DE BASES DE

DATOS

ENSAMBLADORES 317

419

COMPILADORES SISTEMAS OPERATIVOS

419

TIPOS DE SISTEMAS

OPERATIVOS

419

ADMINISTRACIÓN Y SEGURIDAD DE

SISTEMAS OPERATIVOS

306

237

INSTALACIÓN, CONFIGURACIÓN Y COMUNICACIÓN DE

SISTEMAS OPERATIVOS

SEGURIDAD EN REDES

419

ANÁLISIS Y DISEÑO DE REDES

419

ADMINISTRACIÓN DE REDES

328

MODELOS DE REDES

317

PROTOCÓLOS DE RED

419

328

TRANSMISIÓN DE DATOS

METROLOGÍA 124

4.509

FÍSICA BÁSICA 328

ELECTRICIDAD Y MAGNETISMO

AUTÓMATAS Y LENGUAJES FORMALES

306

CIRCUITOS ELÉCTRICOS

419

328

ELECTRÓNICA ANALÓGICA

339

LÓGICA SECUENCIAL Y

COMBINATORIA

328

ELECTRÓNICA DIGITAL

SISTEMAS DIGITALES

339

ARQUITECTURA DE

COMPUTADORAS

328

306

CÁLCULO 3CÁLCULO 14.509

GEOMETRÍA ANALÍTICA

408

CÁLCULO 24.509

INVESTIGACIÓN DE

OPERACIONES

317

306

PROBABILIDAD Y ESTADÍSTICA ÁLGEBRA LINEAL

306

ÁLGEBRA SUPERIOR

408

226

INGLÉS C1215

COMUNICACIÓN Y RELACIONES

HUMANAS INGLÉS C2

226

215

ADMINISTRACIÓN ECONOMÍA 204

306

ADMINISTRACIÓN DE RECURSOS

INFORMÁTICOS

METODOLOGÍA DE LA

INVESTIGACIÓN

215

ÉTICA 2 0 4

113

LENGUAJE ENSAMBLADOR

Page 3: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

MAPA CURRICULAR DE LA LICENCIATURA DE INGENIERÍA EN COMPUTACIÓN 2004 CRÉDITOS TOTALES: 430 - 450

INTE

RAC

CIÓ

N H

OM

BRE –

QUI

NA

PRO

GRA

MA

CIÓ

N E

ING

ENIE

RÍA

DE

SOFT

WA

RE

ORGANIZACIÓN DE ARCHIVOS

328

LENGUAJE DE PROGRAMACIÓN

ORIENTADO A OBJETOS 2 1 5

ANÁLISIS DE SISTEMAS

328

LENGUAJE DE PROGRAMACIÓN

VISUAL 2 1 5

ESTÁNDARES DE CALIDAD

2 2 6

328

PROGRAMACIÓN PARALELA Y DISTRIBUIDA

DISEÑO DE SISTEMAS

328

ANÁLISIS DE LENGUAJES DE PROGRAMACIÓN

2 2 6

LENGUAJE DE PROGRAMACIÓN ESTRUCTURADO

2 1 5

MÉTRICAS DE SOFTWARE

2 2 6

PROGRAMACIÓN AVANZADA

339

PROGRAMACIÓN ORIENTADA A

OBJETOS

328

306

TEORÍA DE SISTEMAS

ESTRUCTURAS DE DATOS

328

PROGRAMACIÓN ESTRUCTURADA

339

MULTIMEDIA 2 2 6

FUNDAMENTOS DE ROBÓTICA

215

DESARROLLO MULTIMEDIA

1 2 4

TRATAMIENTO DE IMÁGENES

215

215

INTERACCIÓN HOMBRE-MAQUINA

ROBÓTICA AVANZADA

1 2 4

REDES NEURONALES1 2 4

215

SISTEMAS EXPERTOS

VISIÓN ARTIFICIAL 2 0 4 GRAFICACIÓN

215

ALGORITMOS GENÉTICOS

1 2 4 LÓGICA

215

8 Á

REA

S

CUR

RIC

ULA

RES

HT Horas TeóricasHP Horas PrácticasCR Créditos

12 LÍNEAS DE SERIACIÓN

SIMBOLOGÍA

TOTAL DEL NÚCLEO SUSTANTIVO39 UA PARA CUBRIR

282 CRÉDITOS

TOTAL DEL NÚCLEO BÁSICO

17 A 18 UA PARA CUBRIR109 A 114 CRÉDITOS

NÚCLEO INTEGRAL OBLIGATORIAS

CURSAR Y ACREDITAR 3 UA

5 HT 7 HP

17 CR

113 HT 56 HP282 CR

NÚCLEO SUSTANTIVO OBLIGATORIAS

CURSAR Y ACREDITAR 39 UA

NÚCLEO BÁSICO OPTATIVAS:ACREDITAR 1 (CUALQUIERA) ó 2 UA (1 DE 2 CR +1 DE 5 CR ó 4CR) PARA CUBRIR DE

2 A 7 CRÉDITOS

NÚCLEO BÁSICO OBLIGATORIAS

CURSAR Y ACREDITAR16 UA

49.5 HT 8 HP

107 CR

TOTAL DEL NÚCLEO INTEGRAL

8 A 10 PARA CUBRIR DE 39 A 54 CRÉDITOS

ACREDITAR LAS UA DE LA LÍNEA DE ACENTUACIÓN ELEGIDA PARA CUBRIR DE 22 A 37 CRÉDITOS.

NÚCLEO INTEGRAL OPTATIVAS: LÍNEA DE ACENTUACIÓN DESARROLLO

DE SOFTWARE DE APLICACIÓN

NÚCLEO INTEGRAL OPTATIVAS: LÍNEA DE ACENTUACIÓN INTERACCIÓN

HOMBRE-MAQUINA E INTELIGENCIA COMPUTACIONAL

NÚCLEO INTEGRAL OPTATIVAS: LÍNEA DE ACENTUACIÓN REDES Y

COMUNICACIONES

NÚCLEO INTEGRAL OPTATIVAS: LÍNEA DE ACENTUACIÓN ADMINISTRACIÓN

DE PROYECTOS INFORMÁTICOS

TOTAL DEL PLAN DE ESTUDIOS

UA OBLIGATORIAS 58UA OPTATIVAS 6 A 9 UA A ACREDITAR 64 A 67

CRÉDITOS 430-450

Page 4: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

2

•  VisiónglobaldelaUnidaddeAprendizaje(UDA)

•  Descripcióndelaunidaddeaprendizaje

•  Unidad2.EstructurasdeDatosLineales–Pilas

•  Ejercicios

•  Resumen

•  GuiónExplica)vo

•  BibliograIa

ÍndicedeContenidos

Estructura)poPila-VictorM.LandassuriM.

Page 5: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

3Estructura)poPila-VictorM.LandassuriM.

Page 6: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

Descripcióndela

unidaddeaprendizaje

Estructura)poPila-VictorM.LandassuriM. 4

Page 7: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

Estructura)poPila-VictorM.LandassuriM.

IdenKficacióndelCurso

HorasdeTeoría:3hrs.

HorasdePrácKca:2hrs.

LicenciaturaenIngenieríaenComputación

Créditos:8

UnidaddeAprendizajeAntecedente:ProgramaciónEstructurada

UnidaddeAprendizajeConsecuente:OrganizacióndeArchivos

5EstructuradeDatosLineales-VictorM.LandassuriM.

Page 8: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

Presentación

Elestudiodelasestructurasdedatos,sindudaes uno de losmás importantes dentro de lascarreras relacionadas con la Computación, yaque en el conocimiento eficiente de lasestructuras de datos suele ser imprescindibleen la formación de los alumnos debido a latrascendenciaqueunaprendizajeteórico-prác)code lasmisma supondrá en sucarrera.

6Estructura)poPila-VictorM.LandassuriM.

Page 9: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

Lineamientos

DelProfesor

•  CumplirenKempoycontenidoelprogramade

launidaddeaprendizaje•  Establecertoleranciaparaeliniciodeclases•  Proponeryrespetarformasdeevaluación•  Generarensusalumnosunavisiónintegradora

delaunidaddeaprendizaje•  Respetarelnúmerodehorasteóricasy

pracKcasdelaunidaddeaprendizaje

•  CadasesióndeberáconcluirconunaseriedeejerciciosderepasoquepermiKránreafirmarlosconocimientosdelcurso

•  Preferentementelasfechasdeexámenesyentregadelproyectofinaldeberánestablecersedesdeelprincipio

DelAlumno

•  Contarconel80%deasistenciaparapresentarexamenordinario

•  Contarconel60%deasistenciaparapresentarexamenextraordinario

•  Contarconel30%deasistenciaparapresentarexamenaKtulodesuficiencia

•  UKlizarunlenguajeestructuradoparalaelaboracióndeprogramas

•  TenersenKdoderesponsabilidadenlostrabajosclaseyextraclase

•  EntregarenKempoyformalostrabajosclaseyextraclase

•  TenersenKdodeinterrogaciónyparKcipacióndentrodelsalóndeclases

•  Elalumnodeberáentregartodasycadaunadelasseriesdeejercicios.

7Estructura)poPila-VictorM.LandassuriM.

Page 10: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

Propósito

Que el alumno idenKfique las herramientasteóricasfundamentalesparalarepresentaciónyman ipu l a c i ón de i n fo rmac ión en l acomputadora haciendo énfasis en el Kpo dedatosdinámicos.

8Estructura)poPila-VictorM.LandassuriM.

Page 11: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

Competenciasgenéricas

9

Desarrol lar programas anal izando ydiseñandosolucionesaproblemas realesdelentorno a través del uso de herramientaslógicas

Estructura)poPila-VictorM.LandassuriM.

Page 12: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

Estructura)poPila-VictorM.LandassuriM.

Ámbitodedesempeño

Empresas públicas y privadas del sectorindustrial,educaKvo,comercialydeservicios.

10

Page 13: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

Estructura

11

• ReconocerymanejarlasvariablesdinámicasUnidad1.

• AplicarlasprincipalesestructurasdedatoslinealesUnidad2.

• AplicarlaestructuradedatosdeárbolUnidad3.

• AplicarlaestructuradedatosdegrafoUnidad4.

Estructura)poPila-VictorM.LandassuriM.

Page 14: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

Estructura)poPila-VictorM.LandassuriM.

Estructuraporunidad

•  Unidad1.Reconocerymanejarlasvariablesdinámicas– Estructurasdedatos:Definición,Tipos.– Abstracción:Definición.TAD.– VariablesDinámicas:Apuntadores,Operacionesbásicas.

12

Page 15: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

Estructuraporunidad

•  Unidad2.Aplicarlasprincipalesestructurasdedatoslineales–  Pilas:Representación.Operaciones(Inserción,Eliminación,Pila Llena, Pila Vacía). Tratamiento de expresionesaritmé)cas:notacióninfija,prefija,posfija.aplicaciones

–  Colas: Representación. Operaciones (Inserción,Eliminación, Cola Llena, Cola Vacía). Cola circular.Aplicaciones.

–  Listas. Representación. Operaciones (Inserción,Eliminación, Recorrido, Búsqueda). Listas doblementeligadas.Aplicaciones

13Estructura)poPila-VictorM.LandassuriM.

Page 16: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

Estructuraporunidad

•  Unidad3.Aplicarlaestructuradedatosdeárbol– R e c u r s i v i d a d D i r e c t a : D e fi n i c i ó n .Funcionamiento– Árboles:Usos.Caracterís)cas.– ÁrbolesbinariosdeExpresiones:Caracterís)cas.Evaluacióndeexpresionesaritmé)cas.– Árboles Binarios de Búsqueda: Caracterís)cas.Operaciones(Inserción,eliminación,búsqueda)

14Estructura)poPila-VictorM.LandassuriM.

Page 17: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

Estructuraporunidad

•  Unidad4.Aplicarlaestructuradedatosdegrafo– Grafos: Caracterís)cas. Tipos. Representaciónyconstrucción.OperacionesLibreríaestándar,interfazconelsistemaopera)vo– GrafosDirigidos:Algoritmosparalaobtencióndelcaminomáscorto.– Grafos No dirigidos: Algoritmos para laobtencióndecostomínimo

15Estructura)poPila-VictorM.LandassuriM.

Page 18: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

ProcedimientosdeEvaluación

16

Lacalificaciónordinariaseob)enecomolasumadelTrabajosemestralyelProyectofinal.ParatenerderechoapresentarelProyectofinalsedebeobtenerunpromediomínimode6.0/10.0eneltrabajosemestral.Trabajosemestral:•  Programasproductoyac)vidadesclaseyextraclase 30%•  Exámenesparcialesescritos 20%•  ProyectoFinal 50%SepodráexentarelProyectofinalsiempreycuandosetengaunmínimode80%deasistencias,seapruebenlosexámenesparcialesyelpromediodelTrabajosemestralseadealmenos8.0/10.0ExtraordinariayaTítulodeSuficiencia:•  Examenescrito 60%•  Proyecto 40%

Estructura)poPila-VictorM.LandassuriM.

Page 19: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

17

Unidad2.

EstructurasdeDatosLineales-Pilas

Estructura)poPila-VictorM.LandassuriM.

Page 20: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

18

•  Breverepasodearreglosylistas•  Pilas•  Aplicaciones•  Implementación– Pilasconarreglosestá)cos– Pilasconarreglosdinámicos– Pilasconlistasenlazadas

•  Ejercicios

Contenido

Estructura)poPila-VictorM.LandassuriM.

Page 21: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

19

•  Losarreglos)eneneloperadordeaccesoaleatorio

[]•  Loquesignificaquepodemosrecuperar

omodificarcualquierelementodeelenunsoloacceso

•  Obien,sinrecorrertodosloselementosanterioresalelementodeinterés–  Cadaelementoesaccesadodirectamenteenun

)empoconstante

Arreglos

Estructura)poPila-VictorM.LandassuriM.

Page 22: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

20

•  Unejemplocomúndeaccesoaleatorioesunlibro– Cadapáginadeunlibroesindependientedelaotra

•  Así,elaccesoaleatorioesimportanteendiversosalgoritmos,porejemploen– Labúsquedabinaria

Arreglos

Estructura)poPila-VictorM.LandassuriM.

Page 23: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

21

•  Enotroejemplo– Laslistasligadassonotro)podeestructuradedatos

– Cadaelementopuedeseraccesadoenunordendeterminado

– Esdecir,quedanbienpararepresentar:•  unroyodepapel•  unacinta

– Todosloselementosanteriores)enenqueserrecorridosparallegaralelementodeinteres

Listasligadas

Estructura)poPila-VictorM.LandassuriM.

Page 24: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

22

•  Estejuegodediaposi)vascon)eneuncasodeestructurasdedatossecuenciales.

•  Llamadasdeaccesolimitado

•  Paranuestrocaso,veremoslaestructuradedatos)poPila

Listasligadas

Estructura)poPila-VictorM.LandassuriM.

Page 25: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

23

•  Esuncontenedordeobjetos•  Insertadosyremovidosdeacuerdo– Úl)moenllegar–Primeroensalir– LIFO(Leastinput–FirstOutput)

•  Enlacabeza(partemásalta)delapilasolosepermitendosoperaciones– Push– Pop

Pilas

Estructura)poPila-VictorM.LandassuriM.

Page 26: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

24

•  Push–  Insertaelementoeneltopedelapila

•  Pop– Remueveunelementodeltopedelapila

•  Ejemplo:– Librosapilados,ounoencimadelotro– Puedesagregarunlibroencima,yre)rarunodeencima

Pilas

Estructura)poPila-VictorM.LandassuriM.

Page 27: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

25

Pilas

Estructura)poPila-VictorM.LandassuriM.

Pila(Stack)

Page 28: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

26

•  Unapilaesunaestructuradedatosrecursiva– Lapilaestavacíao– Consistedeuntopeyelrestodelapila

•  Aplicaciones– Reservarunapalabra– Operacióndeshacer– Backtraking– Procesamientodelenguaje,...

Pilas

Estructura)poPila-VictorM.LandassuriM.

Page 29: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

27

•  Reservarunapalabra:–  Insertasunapalabraenlapila–letraporletra– Luegolassacassegúnseanecesario

•  Deshacer(undo):– Seman)eneunhistorialdetodosloscambioseneltexto

– Cadacambioseapila– PorejemploenMSWord– Siquieresregresaralestadoanterior,¿teimaginarasquepasaesesaestructura?

Aplicaciones

Estructura)poPila-VictorM.LandassuriM.

Page 30: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

28

•  Aplicaciónenloslaberintos– ¿Comoencuentrasuncaminodelinicioalfinal?

•  Unavezquellegasauncaminomuerto– Te)enesqueregresar(Backtrak)– Tienesqueregresarvariospasoshastaqueencuentresotrocaminopotencialmenteú)l

Backtraking

Estructura)poPila-VictorM.LandassuriM.

Page 31: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

29

Backtraking

Estructura)poPila-VictorM.LandassuriM.

Page 32: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

30

Backtraking

Estructura)poPila-VictorM.LandassuriM.

Sellegaauncaminomuerto

Page 33: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

31

Backtraking

Estructura)poPila-VictorM.LandassuriM.

Empezamosaregresarenesospasosdados

Page 34: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

32

Backtraking

Estructura)poPila-VictorM.LandassuriM.

Empezamosaregresarenesospasosdados

Page 35: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

33

Backtraking

Estructura)poPila-VictorM.LandassuriM.

Empezamosaregresarenesospasosdados

Page 36: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

34

Backtraking

Estructura)poPila-VictorM.LandassuriM.

Empezamosaregresarenesospasosdados

Page 37: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

35

Backtraking

Estructura)poPila-VictorM.LandassuriM.

Alsacarlosnecesariosdelapila,seencuentraotraruta,entoncesempezamosarecorrerla,introduciendodenuevacuentaesospasosenlapila

AvanzarsignificaPushRetrocedersignificaPop

Page 38: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

36

•  Laspilassonu)lizadaspara:– Parámetros

– Variablesinternas

– Revisordesintaxisparamacheodeparéntesis

– Enlasfuncionesrecursivas

ProcesamientodeLenguaje

Estructura)poPila-VictorM.LandassuriM.

Page 39: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

37

ImplementacióndePilas

Estructura)poPila-VictorM.LandassuriM.

Page 40: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

38

•  Existendiversasformasdeimplementarunaestructurade)poPila:– Conarreglosestá)cos– ArreglosDinámicos– Listasligadas

•  Empecemosconlosarreglos

Implementación

Estructura)poPila-VictorM.LandassuriM.

Page 41: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

39

•  Elementos:– Arregloconuntamaño>1– Unavariable“top”quehacereferenciaaltope– unavariable“capacity”quehacereferenciaalacapacidadmáximasoportadaporlapila•  Recuerdaqueesteesunarregloestá)co

– Topiniciaen-1•  Terminaencapacity–1

– Sedicequelapilaestavacíasitop=-1•  yllenacunadotop=capacity-1

PilasusandoarreglosestáKcos

Estructura)poPila-VictorM.LandassuriM.

Page 42: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

40

•  Elementos:– Eltamañopermanececonstante– Sitop=capacity•  Exis)ríaundesbordamiento,dandounerrordesegmentaciónocausandoqueelprogramasedetengaabruptamente.•  Recuerdaquesiestasusandoapuntadoresparauntamañofijodepila,esposiblequeestenomarqueunerror–  Encasodeexis)rmasinformacióndeusarioadelantedelarreglo

•  Peropodríasestaracarreandounerrorsindatecuenta

PilasusandoarreglosestáKcos

Estructura)poPila-VictorM.LandassuriM.

Page 43: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

41

PilasusandoarreglosestáKcos

Estructura)poPila-VictorM.LandassuriM.

14 32 3 2

012345

top capacity

Page 44: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

42

•  Elementos:– Losmismosquelosanteriores,sinembargoahoraelarregloseasumequeesapuntador•  Porejemplo:usandomallococallocparadarmemoria

–  yusandoreallocparahacerlomásgrandeopequeño.

– Cuandotop=capacity•  Sepuederedimensionarelarregleconmásespacio

–  Porejemploconeldobledeespacioactual

Pilasusandoarreglosdinámicos

Estructura)poPila-VictorM.LandassuriM.

Page 45: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

43

•  Laslistasligadasdanlamejorimplementación– Desdeunpuntodeeficiencia– Elprimerelemento)enesuapuntadornext=NULL– Cadaquellegaunnuevoelementosesolicitamemoria

Pilasusandolistasligadas

Estructura)poPila-VictorM.LandassuriM.

"↓1   "↓2   "↓3   "↓%  NULL

Nodotop

*next

Page 46: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

44

•  Conlosconocimientosactualesque)enesdearreglosrealizaelsiguienteejercicio:– Crearunapiladetamañofijode5elementos– Crea3funciones:•  push–insertaelementoenlapila•  pop–sacaelementodelapila•  altura–regresaalalturadelapila

– Enestemomentonoverifiqueseldesbordamientodelapila,ytusfuncionespuedenu)lizarpasoporreferencia.

PrimerejerciciodePilas-1

Estructura)poPila-VictorM.LandassuriM.

Page 47: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

45

•  Porejemplo,puedesusarunforpara–  Ingresar3elementosalapila–  Imprimeantesydespuésdeelloeltamañodelapila– Alterminar

•  Sacadoselementosdelapila•  Vuelveaimprimireltamañodelapila

•  Habiendoterminado,creaunacopiadetuprogramaymodiIcaloparaingresar100elementosenlapila,conuntamañodepilade5– Observaelerrorgeneradoycoméntalocontuscompañeros

PrimerejerciciodePilas-1

Estructura)poPila-VictorM.LandassuriM.

Page 48: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

46

•  Teniendoelejercicioanterior– Realizaunavalidaciónparaevitarquelapilanollegueasilímite

– Sigueu)lizandoarreglosestá)cos

•  Cuandotermineselejercicio,estaremoslistosparausararreglosdinámicos

Ejercicio-2

Estructura)poPila-VictorM.LandassuriM.

Page 49: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

47

•  Repe)relmismoejercicioperoahorausandoarreglosdinámicos

•  Modificalafunciónpush,paraquecunadolleguesaltope,duplicaseltamañodelapila

•  ComentacontuscompañerosquetanfácilodiIcileselejercicio– ¿Creesqueesmejoreste)podetécnicasparaproblemasdelavidareal?

Ejercicio-3

Estructura)poPila-VictorM.LandassuriM.

Page 50: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

48

Resumen

•  Este juego de diaposi)vas presentó el conceptodeestructuradedatos)poPila.

•  Se describio como hacer una pila está)ca ydinámica,usandoarreglosolistasenlazadas.

•  Asímismo,realizastevariosejerciciosponiendoapruebalosconocimientospreviosdelamatería.

•  Ahora sabes comoprogramarlas y los problemasenqueaplicaestaestructuradedatos.

Estructura)poPila-VictorM.LandassuriM.

Page 51: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

Estructura)poPila-VictorM.LandassuriM. 49

•  EstasdiaposiKvassedebendeleerenelordenqueaparecen.

•  Debes de haber revisado a detalle el bloque dediaposiKvas de memoria dinámica, así como el delistas simplemente y doblemente enlazadas parainiciarconestejuegodediaposiKvas

•  Posteriormente, puedes revisar las estructuras dedatosKpocolas.

GuionExplicaKvo

Page 52: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

50

BibliograiaBásica

•  Aguilar, Joyanes Luis, Programación en C++, Algoritmos,estructurasdedatosyobjetos,Ed.McGrawHill,2002.

•  Weiss. Allen Mark, Estructuras de datos y Algoritmos,Addison-WesleyIberoamericana,S.A.,1995.

•  A.,Euán Jorge I., B. Cordero Luis G., Estructura de datos,UNAM,1984.

•  Cairó, Osvaldo y Guarda), Silvia. Estructura de datos. Ed.McGrawHill,2006.

•  Criado, Ma. Asunción. Programación de lenguajesestructurados.AlfaOmegaRa-Ma,2006.

•  López, Leobardo. Programación estructurada. Un enfoquealgorítmico.AlfaOmega,2004.

Estructura)poPila-VictorM.LandassuriM.

Page 53: Centro Universitario UAEM Valle de México · Estructura de Datos Centro Universitario UAEM Valle de México ... – Variables Dinámicas: Apuntadores, Operaciones básicas. 12 ...

51

BibliograiaComplementaria

•  Drozdeck,Adam. Estrcuturas de datos y algor)mos en Java.Ed.Thomson,2007.

•  Joyanes, Luis M. Fernández, L. Sánchez, I. Zahonero.EstructurasdedatosenC.Ed.McGrawHill,2005.

•  Koffman,Elliotywolfang,Paul.EstrcuturadedatosconC++.Objetos,abstraccionesydiseño.Ed.McGrawHill,2008.

•  Nyhoff, Larry. TADs, Estructuras de datos y resolución deproblemasenC++.Ed.Pearson-Pren)ceHall,2006.

Estructura)poPila-VictorM.LandassuriM.