estructura de datos.. pilas. características: –lifo (last in first out). –parte siempre en 0....

Post on 25-Jan-2016

225 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Estructura de Datos.

Pilas.

• Características:– LIFO (Last in first Out).– Parte Siempre en 0.

• Necesito:– Ultimo (Top)

•Diagrama PUSH.

Datos Top

0

2

3

4

5

6

7

1

0

• Primero Guardo El Dato

dato• Y luego actualizo el último

1

•Diagrama POP.

Datos Top

0

2

3

4

5

6

7

1

3

•Sólo debo decir que el último ahora está antes

dato

(para efectos de recorrido el dato borrado ya no existirá)

2

dato

dato

•Diagrama BUSCAR.

DatosTop

0

2

3

4

5

6

7

15

•Recorro hasta Top 0 hasta que encuentr el elemento

dato1

•Pregunto si es igual a buscado, sino sigo el recorrido

dato2

dato3 buscado

dato3dato4

dato5

=buscado??

•Hasta que lo encuentro o el final.

Colas.

• Características:– FIFO (First in first Out).– El inicio no es siempre el mismo.

• Necesito:– Inicio– Final (Top)

•Diagrama PUSH.

Datos Inicio

0

2

3

4

5

6

7

1

0

• Primero Guardo El Dato

dato• Y luego actualizo el final de la cola

1

Final

01

•Diagrama POP.

Datos

0

2

3

4

5

6

7

1

•Sólo debo decir que el primero ahora está una posicion después

dato

(para efectos de recorrido el dato borrado ya no existirá)

dato

dato

Inicio

01

Final

3

•Diagrama BUSCAR.

DatosTop

0

2

3

4

5

6

7

15

•Recorro hasta Top o hasta que encuentr el elemento

dato1

•Pregunto si es igual a buscado, sino sigo el recorrido

dato2

dato3 buscado

dato3dato4

dato5

=buscado??

•Hasta que lo encuentro o el final.

Lista Enlazada Simple.

• Características:– Push y Pop donde sea– Trabaja con punteros.

• Necesito:– Inicio– Final– Blancos

•Diagrama PUSH.

Datos Inicio

0

2

3

4

5

6

7

1

100

•Blancos apunta al primer vacío e Inicio apunta a ningún lado

dato•Al insertar guardo el dato en

el primer vacío (si lo hay)Final

100

Blancos

0

Puntero

1

6

5

4

3

2

0

7

•Copio la posicion del primer vacío al final

•De ser necesario apunto inicio a la lista, sino apunto al

que corresponda

0

0

•Y actualizo el primer Blancos

•Aviso que el dato es el último

100

1

•Diagrama POP.

Datos

0

2

3

4

5

6

7

1

•Sólo debo decir que el primero ahora está una posicion después

dato

(para efectos de recorrido el dato borrado ya no existirá)

dato

dato

Inicio

01

Final

3

•Diagrama BUSCAR.

DatosTop

0

2

3

4

5

6

7

15

•Recorro hasta Top o hasta que encuentro el elemento

dato1

•Pregunto si es igual a buscado, sino sigo el recorrido

dato2

dato3 buscado

dato3dato4

dato5

=buscado??

•Hasta que lo encuentro o el final.

Listas Circulares.

• Características:– Pueden Ser Fifo o Lifo.– Es similar a listas simples pero el último

apunta al primero.

• Necesito:– Inicio– Blancos

•Diagrama PUSH.

Datos Inicio

0

2

3

4

5

6

7

1

100•Blancos apunta al primer vacío e Inicio apunta a ningún lado

dato

•Al insertar guardo el dato en el primer vacío (si lo hay)

Blancos

0

Puntero

1

6

5

4

3

2

0

7

•De ser necesario apunto inicio a la lista, sino apunto al

que corresponda

0

•Y actualizo el primer Blancos

•Aviso que el dato es el último

100

1

•El último apunta al primero (eso lo hace circular), lo demás es igual a la lista enlazada simple.

•Diagrama POP FIFO.

Datos

0

2

3

4

5

6

7

1

•Para borrar el primero sólo avanzo Inicio

dato

(para efectos de recorrido el dato borrado ya no existirá)

dato

dato

Inicio

00

2

3

4

5

6

7

1

Puntero

1

6

5

100

3

2

0

7

Blancas

4dato

1

•Diagrama POP LIFO.

Datos

0

2

3

4

5

6

7

1

•Para borrar el último lo apunto al primer Blancas

dato

•Por último marco el último como último

dato

dato

Inicio

00

2

3

4

5

6

7

1

Puntero

1

6

5

100

3

2

0

7

Blancas

4dato

1

•Ahora digo que ese puesto está libre, retrocedo Blancas

43

100

•Diagrama BUSCAR.

Inicio

0

•Recorro hasta el ultimo o hasta que encuentro el elemento

•Pregunto si es igual a buscado, sino sigo el recorrido

buscado

dato3

=buscado??

•Hasta que lo encuentro o el final.

Datos

0

2

3

4

5

6

7

1

dato1

dato2

dato3

0

2

3

4

5

6

7

1

Puntero

1

6

5

100

3

2

0

7

dato4

Listas Enlazadas Dobles.

• Características:– No tiene orden de inserción o borrado.– Trabaja con punteros

• Necesito:– Inicio– Blancos– Último

•Diagrama PUSH.Datos

Inicio

0

2

3

4

5

6

7

1

Blancos

•(Insertaré al final) Primero guardo el datoAnt

dato1

dato2

dato3

Sig

1

6

5

100

3

2

0

7

dato4

Insertar

100

100

100

0

4 dato5

2

1

5

6

7

dato5

•Deberé buscar el último lleno

= lleno??

•Y lo apunto al primer Blancos

4 •Y el ultimo lo apunto al anterior

3•Ahora digo que el último es el último

100

•Actualizo el primer Blancos

5

•Y, por último, digo que es el primer vacío en la tabla

100

•Diagrama POP el primero.•Para borrar el primero avanzo inicio

Datos

Inicio

0

2

3

4

5

6

7

1

Blancos

Ant

dato1

dato2

dato3

Sig

1

6

3

2

0

7

dato4

100

100

100

0

2

1

6

7

dato5

4

100

5

3

1

•Digo que el segundo ahora es el primero

= lleno??

100

•Busco el último lleno y lo apunto al recién borrado

0

•El recién borrado lo apunto, como anterior, al último

7

•El recién borrado lo apunto a nada (último Blancos)

100

•Diagrama POP cualquiera.•El último Blanco lo linkeo al que se va a borrar

•El siguiente al que se borrará lo señalo al anterior

1

•El anterior al que se va a borrar apunta al que viene del que se va a borrar

Datos

Inicio

0

2

3

4

5

6

7

1

Blancos

Ant

dato1

dato2

dato3

Sig

1

6

3

2

0

7

dato4

100

100

100

0

2

1

6

7

dato5

4

100

5

3

Pos a borrar3

3

4

2•El borrado lo linkeo, anterior, al último Blancos

7

•Y lo señalo como último de Blancos

100

•Diagrama BUSCAR.Datos

Inicio

0

2

3

4

5

6

7

1

Blancos

Ant

dato1

dato2

dato3

Sig

1

6

3

2

0

7

dato4

Buscado

100

100

0

Dato3

2

1

6

7

dato5

4

3 100

5

100

•Recorro hasta el ultimo o hasta que encuentro el elemento

•Pregunto si es igual a buscado, sino sigo el recorrido

=buscado??

•Hasta que lo encuentro o el final.

top related