• No se han encontrado resultados

clase3-Ordenacion-Parte1

N/A
N/A
Protected

Academic year: 2020

Share "clase3-Ordenacion-Parte1"

Copied!
88
0
0

Texto completo

(1)

MÉTODOS DE

ORDENACIÓN

CLASE N°3

CLASE N°3

Leissi M. Castañeda León

(2)

Que veremos hoy?

1. Introducción

2. Ordenación Interna

Ordenación por intercambio directo (Burbuja)

Ordenación por el método de intercambio directo con señal Ordenación por el método de la sacudida (shaker sort)

Ordenación por el método de la sacudida (shaker sort) Ordenación por inserción directa

Ordenación por el método de inserción binaria Ordenación por selección directa

Ordenación por el método de Shell Ordenación por el método QuickSort

Ordenación por el método HeapSort (montículo)

3. Ordenación Externa

(3)

Introducción

ORDENAR significa reagrupar o reorganizar un conjunto

de datos u objetos en un secuencia específica.

Los procesos de ordenación y búsqueda son frecuentes

en nuestra vida. Vivimos en un mundo desarrollado, automatizado, acelerado, donde la información

automatizado, acelerado, donde la información representa un elemento de vital importancia.

Los objetos ordenado aparecen por doquier: Directorio

telefónico, registros de pacientes de un hospital,

(4)

Introducción

¿Cuándo es conviente usar un método de

ordenación?

Rpta: Cuando se requiere hacer una cantidad

considerable de búsquedas y es importante el factor tiempo.

tiempo.

Imagine que ocurriría si se deseara encontrar un libro en

una biblioteca con más de 100 000 volúmenes y éstos estuvieran desordenados o registrados en el orden en el que fueron reciibidos.

(5)

Ordenación

Formalmente se define ordenación de la siguiente

manera:

Sea A una lista de N elementos:

A1, A2, A3,..., AN

Ordenar significa permutar estos elementos de tal forma

que los mismos queden de acuerdo con una distribución preestablecida.

(6)

Ordenación

En el procesamiento de datos, a los métodos de

ordenación se les clasifica en dos grandes categorías, según donde hayan sido almacenados:

Ordenación de arreglos Ordenación de archivos Ordenación de archivos

La primera categoría se denomina también ordenación

interna (dado que los elementos del arreglo se

encuentran en memoria principal) y la segunda

ordenación externa (dado que los elementos se

encuentra en archivos almacenados en dispositivos de almacenamiento secundario, como: discos, cintas, etc.)

(7)

Analogía con la vida real:

Se podría decir que para la máquina:

Ordenación Interna: representa lo que para un humano

significa ordenar un conjunto de cartas que se

encuentran todas visibles y extendidas sobre la mesa. encuentran todas visibles y extendidas sobre la mesa.

Ordenación Externa: representa lo que para un humano

(8)

2. Ordenación Interna

(9)

Ordenación Interna

Se explicarán con arreglos unidimensionales, pero su

uso puede extenderse a otros tipos de arreglos y estructuras de datos.

Dentro de la ordenación interna los métodos se

clasifican en dos tipos: clasifican en dos tipos:

Métodos directos: tienen la característica de que su

implementación es relativamente sencilla y de fácil comprensión, aunque son ineficientes cuando N (el número de elementos del arreglo) es medio o grande.

Métodos logarítmicos: son más complejos que los directos. Su

(10)

Ordenación Interna

Notar que la eficiencia entre los distintos métodos va

estar dada por el tiempo de ejecución (depende del número de comparaciones y movimientos).

Los métodos directos más conocidos son:

Los métodos directos más conocidos son:

Ordenación por intercambio Ordenación por inserción Ordenación por selección

(11)

2.1. Ordenación por

intercambio directo

(12)

Ordenación por intercambio directo

(Burbuja)

Es el más utilizado entre los estudiantes principiantes de

computación por su fácil comprensión y programación.

Se podría señalar que es quizás el método más

ineficiente. ineficiente.

2 formas:

Llevando los elementos menores a la izquierda: Burbuja Menor Llevando los elementos mayores a la derecha: Burbuja Mayor

Al final de las (n-1) pasadas, los elementos del arreglo

estarán ordenados

(13)

Ejemplo:

Ordenar:

A: 15 67 08 16 44 27 12 35

(14)

Burbuja Menor:

primera pasada

15 67 08 16 44 27 12 35

15 67 08 16 44 27 12 35

>

(15)

Burbuja Menor:

primera pasada

15 67 08 16 44 27 12 35

15 67 08 16 44 27 12 35

15 67 08 16 44 12 27 35

(16)

Burbuja Menor:

primera pasada

15 67 08 16 44 27 12 35

15 67 08 16 44 27 12 35

15 67 08 16 44 12 27 35

>

16

(17)

Burbuja Menor:

primera pasada

15 67 08 16 44 27 12 35

15 67 08 16 44 27 12 35

15 67 08 16 44 12 27 35

15 67 08 16 12 44 27 35

15 67 08 12 16 44 27 35

(18)

Burbuja Menor:

primera pasada

15 67 08 16 44 27 12 35

15 67 08 16 44 27 12 35

15 67 08 16 44 12 27 35

18

15 67 08 16 12 44 27 35

15 67 08 12 16 44 27 35

15 67 08 12 16 44 27 35

(19)

Burbuja Menor:

primera pasada

15 67 08 16 44 27 12 35

15 67 08 16 44 27 12 35

15 67 08 16 44 12 27 35

15 67 08 16 12 44 27 35

15 67 08 12 16 44 27 35

15 67 08 12 16 44 27 35

(20)

Burbuja Menor:

primera pasada

15 67 08 16 44 27 12 35

15 67 08 16 44 27 12 35

15 67 08 16 44 12 27 35

20

15 67 08 16 12 44 27 35

15 67 08 12 16 44 27 35

15 67 08 12 16 44 27 35

15 08 67 12 16 44 27 35

08 15 67 12 16 44 27 35

(21)

Burbuja Menor:

primera pasada

(22)

Burbuja Menor:

segunda pasada

08 15 67 12 16 44 27 35

08 15 67 12 16 44 27 35

>

(23)

Burbuja Menor:

segunda pasada

08 15 67 12 16 44 27 35

08 15 67 12 16 44 27 35

08 15 67 12 16 27 44 35

(24)

Burbuja Menor:

segunda pasada

08 15 67 12 16 44 27 35

08 15 67 12 16 44 27 35

08 15 67 12 16 27 44 35

08 15 67 12 16 27 44 35

>

24

(25)

Burbuja Menor:

segunda pasada

08 15 67 12 16 44 27 35

08 15 67 12 16 44 27 35

08 15 67 12 16 27 44 35

08 15 67 12 16 27 44 35

08 15 67 12 16 27 44 35

08 15 67 12 16 27 44 35

(26)

Burbuja Menor:

segunda pasada

08 15 67 12 16 44 27 35

08 15 67 12 16 44 27 35

08 15 67 12 16 27 44 35

08 15 67 12 16 27 44 35

26

08 15 67 12 16 27 44 35

08 15 67 12 16 27 44 35

08 15 12 67 16 27 44 35

(27)

Burbuja Menor:

segunda pasada

08 15 67 12 16 44 27 35

08 15 67 12 16 44 27 35

08 15 67 12 16 27 44 35

08 15 67 12 16 27 44 35

08 15 67 12 16 27 44 35

08 15 67 12 16 27 44 35

08 15 12 67 16 27 44 35

08 12 15 67 16 27 44 35

(28)

Burbuja Menor:

todas las pasadas

A:

1era:

2da:

3ra:

15 67 08 16 44 27 12 35

08 12 15 67 16 27 44 35

08 15 67 12 16 44 27 35

08 12 15 16 67 27 35 44

4ta:

5ta:

6ta:

7ma:

28

08 12 15 16 27 67 35 44

08 12 15 16 27 35 67 44

08 12 15 16 27 35 44 67

(29)

Burbuja Menor: Algoritmo

void burbuja_menor(int A[], int N) {

int aux=0,i=0,j=0; for(i=1;i<N;i++)

for(j=N-1;j>=i;j--)

if(A[j-1]>A[j]) if(A[j-1]>A[j]) {

aux=A[j-1]; A[j-1]=A[j]; A[j]=aux; }

(30)

Ejemplo:

Ordenar:

A: 15 67 08 16 44 27 12 35

(31)

Ejemplo:

Ordenar:

A: 15 67 08 16 44 27 12 35

(32)

Burbuja Mayor:

primera pasada

15 67 08 16 44 27 12 35

15 67 08 16 44 27 12 35

>

(33)

Burbuja Mayor:

primera pasada

15 67 08 16 44 27 12 35

15 67 08 16 44 27 12 35

>

(34)

Burbuja Mayor:

primera pasada

15 67 08 16 44 27 12 35

15 67 08 16 44 27 12 35

>

15 08 67 16 44 27 12 35

15 08 16 67 44 27 12 35

34

(35)

Burbuja Mayor:

primera pasada

15 67 08 16 44 27 12 35

15 67 08 16 44 27 12 35

15 08 67 16 44 27 12 35

15 08 16 67 44 27 12 35

>

15 08 16 67 44 27 12 35

(36)

Burbuja Mayor:

primera pasada

15 67 08 16 44 27 12 35

15 67 08 16 44 27 12 35

15 08 67 16 44 27 12 35

15 08 16 67 44 27 12 35

36

>

15 08 16 67 44 27 12 35

15 08 16 44 67 27 12 35

(37)

Burbuja Mayor:

primera pasada

15 67 08 16 44 27 12 35

15 67 08 16 44 27 12 35

15 08 67 16 44 27 12 35

15 08 16 67 44 27 12 35

>

15 08 16 67 44 27 12 35

15 08 16 44 67 27 12 35

15 08 16 44 27 67 12 35

(38)

Burbuja Mayor:

primera pasada

15 67 08 16 44 27 12 35

15 67 08 16 44 27 12 35

15 08 67 16 44 27 12 35

15 08 16 67 44 27 12 35

38

>

15 08 16 67 44 27 12 35

15 08 16 44 67 27 12 35

15 08 16 44 27 67 12 35

15 08 16 44 27 12 67 35

(39)

Burbuja Mayor:

primera pasada

(40)

Burbuja Mayor:

todas las pasadas

A:

1era:

2da:

3ra:

15 67 08 16 44 27 12 35

15 08 16 44 27 12 35 67

08 15 16 27 12 35 44 67

08 15 16 12 27 35 44 67

4ta:

5ta:

6ta:

7ma:

40

08 15 12 16 27 35 44 67

08 12 15 16 27 35 44 67

08 12 15 16 27 35 44 67

(41)

Burbuja Mayor: Algoritmo

void burbuja_mayor(int A[], int N) {

int aux=0,i=0,j=0; for(i=N-1;i>0;i--)

for(j=0;j<i;j++)

if(A[j]>A[j+1]) if(A[j]>A[j+1]) {

(42)

2.2. Ordenación por

intercambio directo con

señal

(43)

Ordenación por intercambio directo

con señal

Es una modificación del método burbuja ya mencionado.

Idea central: utilizar una marca o señal para indicar que

no se ha producido ningún intercambio en una pasada. Es decir se va a comprobar si el arreglo está

Es decir se va a comprobar si el arreglo está

(44)

Burbuja con Señal: Algoritmo

(45)

2.3. Ordenación por el

método de la sacudida

(46)

Ordenación por el método de la

sacudida (shaker sort)

Es una optimización del método de la burbuja.

Idea Básica: mezclar las dos formas en que se puede

realizar el método de la burbuja.

En cada pasada tiene dos etapas: burbuja menor y En cada pasada tiene dos etapas: burbuja menor y

burbuja mayor.

Las sucesivas pasadas trabajan con los elementos del

arreglo comprendidos entre las posiciones almacenadas en variables auxiliares.

Termina cuando en una etapa no se producen

intercambios, o cuando el contenido del extremo izquierdo es mayor que el del derecho.

(47)

Ejemplo:

Ordenar:

A: 15 67 08 16 44 27 12 35

(48)

Shaker sort:

primera pasada

A:

Primera etapa (burbuja menor: de derecha a izquierda)

A[7] > A[8] (12 > 35) no hay intercambio A[6] > A[7] (27 > 12) si hay intercambio A[5] > A[6] (44 > 12) si hay intercambio

15 67 08 16 44 27 12 35

A[5] > A[6] (44 > 12) si hay intercambio A[4] > A[5] (16 > 12) si hay intercambio A[3] > A[4] (08 > 12) no hay intercambio A[2] > A[3] (67 > 08) si hay intercambio A[1] > A[2] (15 > 08) si hay intercambio

Luego de la primera etapa de la primera pasada queda:

48

08 15 67 12 16 44 27 35

(49)

Shaker sort:

primera pasada

A:

Segunda etapa (burbuja mayor: de izquierda a derecha)

A[2] > A[3] (15 > 67) no hay intercambio A[3] > A[4] (67 > 12) si hay intercambio

A[4] > A[5] (67 > 16) si hay intercambio

08 15 67 12 16 44 27 35

A[4] > A[5] (67 > 16) si hay intercambio A[5] > A[6] (67 > 44) si hay intercambio A[6] > A[7] (67 > 27) si hay intercambio A[7] > A[8] (67 > 35) si hay intercambio

Luego de la segunda etapa de la primera pasada queda:

(50)

Shaker sort:

segunda pasada

A:

Primera etapa (burbuja menor: de derecha a izquierda)

A[6] > A[7] (27 > 35) no hay intercambio A[5] > A[6] (44 > 27) si hay intercambio

08 15 12 16 44 27 35 67

A[4] > A[5] (16 > 27) no hay intercambio A[3] > A[4] (12 > 16) no hay intercambio A[2] > A[3] (15 > 12) si hay intercambio

Luego de la primera etapa de la segunda pasada queda:

50

08 12 15 16 27 44 35 67

(51)

Shaker sort:

segunda pasada

A:

Primera etapa (burbuja menor: de derecha a izquierda)

A[6] > A[7] (27 > 35) no hay intercambio A[5] > A[6] (44 > 27) si hay intercambio

08 15 12 16 44 27 35 67

A[4] > A[5] (16 > 27) no hay intercambio A[3] > A[4] (12 > 16) no hay intercambio A[2] > A[3] (15 > 12) si hay intercambio

Luego de la primera etapa de la segunda pasada queda:

(52)

Shaker sort:

segunda pasada

A:

Segunda etapa (burbuja mayor: de izquierda a derecha)

A[3] > A[4] (15 > 16) no hay intercambio

A[4] > A[5] (16 > 27) no hay intercambio

08 12 15 16 27 44 35 67

A[4] > A[5] (16 > 27) no hay intercambio A[5] > A[6] (27 > 44) no hay intercambio A[6] > A[7] (44 > 35) si hay intercambio

Luego de la segunda etapa de la segunda pasada

queda:

52

08 12 15 16 27 35 44 67

(53)

Shaker sort:

tercera pasada

Al realizar la primera etapa de la tercera pasada se

(54)

Algoritmo Shaker sort

void sacudida(int A[], int N) {

(55)

2.4. Ordenación por

inserción directa

(56)

Ordenación por Inserción Directa

Lo utilizan generalmente los jugadores de cartas cuando

las ordenan.

Se conoce también como

el método de la baraja.

Idea central: insertar un elemento del arreglo en su

parte izquierda, ya que se encuentra ordenada. Este proceso se repite desde el 2do hasta el n-ésimo

elemento.

(57)

Ejemplo:

Ordenar:

A: 15 67 08 16 44 27 12 35

(58)

Las comparaciones que se realizan

son:

A:

Primera pasada

A[2] < A[1] (67<15) no hay intercambio

15 67 08 16 44 27 12 35

A[2] < A[1] (67<15) no hay intercambio

Segunda pasada

A[3] < A[2] (08<67) si hay intercambio

A[2] < A[1] (08<15) si hay intercambio

58

15 67 08 16 44 27 12 35

(59)

A:

Tercera pasada

A[4] < A[3] (16<67) si hay intercambio

A[3] < A[2] (16<15) no hay intercambio

08 15 67 16 44 27 12 35

A[3] < A[2] (16<15) no hay intercambio

Observe que una vez que se encontró la posición

(60)

4ta pasada:

5ta pasada:

08 15 16 44 67 27 12 35

08 15 16 27 44 67 12 35

6ta pasada:

7ma pasada:

60

08 12 15 16 27 44 67 35

(61)

Algoritmo Inserción directa

void insercion_directa(int A[], int N) {

int i=0,aux=0,k=0; for(i=1;i<=N-1;i++) {

aux=A[i]; k=i-1; k=i-1;

while((k>=0)&&(aux<A[k])) {

A[k+1]=A[k]; k=k-1;

}

(62)

Número de comparaciones

Arreglo ordenado:

Arreglo con orden inverso:

1

min

=

n

C

( )

1

2 2

max

n

n

n

C

=

=

Arreglo en forma aleatoria (comparaciones promedio):

62

2

2

max

C

=

=

4

)

2

(

2

2

)

(

)

1

(

2 2

+

=

+

=

n

n

n

n

(63)

Número de movimientos

Arreglo ordenado:

Arreglo con orden inverso:

0

min

=

M

( )

1

*

)

1

(

...

3

2

1

2

n

n

n

n

n

M

=

+

+

+

+

=

=

Arreglo en forma aleatoria (movimientos promedio):

( )

2

2

1

*

)

1

(

...

3

2

1

max

n

n

n

n

n

M

=

+

+

+

+

=

=

(64)

Así, por ejemplo:

Si se tiene que ordenar un arreglo de 500 elementos:

Arreglo ordenado:

499 comparaciones 0 movimientos

Arreglo en forma aleatoria (comparaciones promedio): Arreglo en forma aleatoria (comparaciones promedio):

62 624 comparaciones 62 375 movimientos

Arreglo con orden inverso:

124 750 comparaciones 124 750 movimientos

(65)

2.5. Ordenación por

inserción binaria

(66)

Método de Inserción binaria

Es una “mejora” del método de inserción directa.

La mejora consiste en realizar una búsqueda binaria en

lugar de una búsqueda secuencial, para insertar un elemento en la parte izquierda del arreglo, que ya se elemento en la parte izquierda del arreglo, que ya se encuentra ordenado.

El proceso se repite desde el 2do hasta el n-ésimo

elemento.

(67)

Ejemplo:

Ordenar:

A: 15 67 08 16 44 27 12 35

(68)

Las comparaciones que se realizan

son:

A:

Primera pasada

A[2] < A[1] (67<15) no hay intercambio

15 67 08 16 44 27 12 35

A[2] < A[1] (67<15) no hay intercambio

Segunda pasada

A[3] < A[1] (08<15) si hay intercambio

68

15 67 08 16 44 27 12 35

(69)

A:

Tercera pasada

A[4] < A[2] (16<15) no hay intercambio

A[4] < A[3] (16<67) si hay intercambio

08 15 16 67 44 27 12 35

08 15 67 16 44 27 12 35

Cuarta pasada

A[5] < A[2] (44<15) no hay intercambio

A[5] < A[3] (44<16) no hay intercambio

A[5] < A[4] (44<67) si hay intercambio

(70)

A:

Quinta pasada

A[6] < A[3] (27<16) no hay intercambio

A[6] < A[4] (27<44) si hay intercambio

08 15 16 44 67 27 12 35

08 15 16 27 44 67 12 35

Sexta pasada

A[7] < A[3] (12<16) si hay intercambio

A[7] < A[1] (12<08) no hay intercambio

A[7] < A[2] (12<15) si hay intercambio

70

08 15 16 27 44 67 12 35

(71)

A:

Séptima pasada

A[8] < A[4] (35<16) no hay intercambio

A[8] < A[6] (35<44) si hay intercambio

A[8] < A[5] (35<27) no hay intercambio

08 12 15 16 27 44 67 35

A[8] < A[5] (35<27) no hay intercambio

(72)

Observaciones

El método efectúa el menor número de comparaciones

cuando el arreglo está totalmente desordenado.

El máximo cuando está ordenado (efecto negativo).

En una búsqueda secuencial se necesitan K

comparaciones, entonces en una binaria la mitad. Por lo comparaciones, entonces en una binaria la mitad. Por lo tanto el número de comparaciones promedio es:

72

4

)

(

4

)

1

(

*

2

2

)

1

(

*

2

)

1

(

...

2

3

2

2

2

1

n

n

n

2

n

n

n

n

C



=

=

(73)

Algoritmo Inserción Binaria

(74)

2.6. Ordenación por

selección directa

(75)

Ordenación por Selección directa

Es más eficiente que los mencionados anteriormente.

Su comportamiento es mejor, programación fácil y

comprensible, pero no se recomienda cuando el número de elementos del arreglo es mediano o grande.

Idea Básica: consiste en buscar el menor elemento del

arreglo y colocarlo en la primera posición. Luego se

(76)

Se basa en los siguientes principios:

1. Seleccionar el menor elemento del arreglo.

2. Intercambiar dicho elemento con el primero.

Repetir los pasos anteriores con los (n-1), (n-2)

3. Repetir los pasos anteriores con los (n-1), (n-2)

elementos, y así sucesivamente hasta que sólo se quede el elemento mayor.

(77)

Ejemplo:

Ordenar:

A: 15 67 08 16 44 27 12 35

(78)

Las comparaciones que se realizan son:

A:

Primera pasada:

MENOR ← A[1] (15)

(MENOR < A[2]) (15 < 67) si se cumple la condición (MENOR < A[3]) (15 < 08) no se cumple la condición

15 67 08 16 44 27 12 35

(MENOR < A[3]) (15 < 08) no se cumple la condición

MENOR A[1] (8)

(MENOR < A[4]) (08 < 16) si se cumple la condición (MENOR < A[5]) (08 < 44) si se cumple la condición (MENOR < A[6]) (08 < 27) si se cumple la condición (MENOR < A[7]) (08 < 12) si se cumple la condición (MENOR < A[8]) (08 < 35) si se cumple la condición

78

08 67 15 16 44 27 12 35

(79)

A:

Segunda pasada:

MENOR ← A[2] (67)

(MENOR < A[3]) (67 < 15) no se cumple la condición

MENOR A[3] (15)

(MENOR < A[4]) (15 < 16) si se cumple la condición

08 67 15 16 44 27 12 35

(MENOR < A[4]) (15 < 16) si se cumple la condición (MENOR < A[5]) (15 < 44) si se cumple la condición (MENOR < A[6]) (15 < 27) si se cumple la condición (MENOR < A[7]) (15 < 12) no se cumple la condición

MENOR A[7] (12)

(80)

A:

3ra pasada:

4ta pasada:

08 12 15 16 44 27 67 35

08 12 15 16 44 27 67 35

08 12 15 16 44 27 67 35

5ta pasada:

6ta pasada:

7ma pasada:

80

08 12 15 16 27 44 67 35

08 12 15 16 27 35 67 44

(81)

Numero de comparaciones y

movimientos

Comparaciones:

2

)

(

2

)

1

(

*

1

2

...

)

2

(

)

1

(

2

n

n

n

n

n

n

C

=

+

+

+

+

=

=

(82)

Algoritmo de Selección directa

void seleccion_directa(int A[],int N) {

(83)

2.7. Ordenación por el

método de Shell

(84)

Método Shell

Es una versión mejorada del método de inserción

directa.

Autor: Donald L. Shell, quien lo propuso en 1959.

También se lo conoce como inserción con

incrementos decrecientes. incrementos decrecientes.

Shell propone que las comparaciones entre elementos

se efectúen con saltos de mayor tamaño, pero con

incrementos decrecientes; así los elementos quedarán ordenado más rápidamente.

(85)

Veamos el siguiente caso:

Consideremos un arreglo de 16 elementos:

A: 15 67 08 16 44 27 12 35 56 21 13 28 60 36 07 10

Se dividirán los elemento en 8 grupos, considerando los elementos

que se encuentran a 8 posiciones de distancia entre sí y se

ordenarán por separado. Quedarán: (A[1],A[9]), (A[2],A[10]) , etc.

Después se dividirán los elementos del arreglo en cuatro grupos,

teniendo en cuenta los elementos que se encuentran a 4 posiciones de distancia entre sí y se los ordenará por separado. Quedarán:

(A[1],A[5],A[9],A[13]), (A[2],A[6],A[10],A[14]), etc.

Ahora de dividirán en 2 grupos. Quedarán:

(86)

Veamos:

Primera pasada

A: 15 67 08 16 44 27 12 35 56 21 13 28 60 36 07 10

A: 15 21 08 16 44 27 07 10 56 67 13 28 60 36 12 35 A: 15 21 08 16 44 27 07 10 56 67 13 28 60 36 12 35

Segunda pasada

A: 15 21 08 16 44 27 07 10 56 67 13 28 60 36 12 35

A: 15 21 07 10 44 27 08 16 56 36 12 28 60 67 13 35

(87)

Tercera pasada

A: 15 21 07 10 44 27 08 16 56 36 12 28 60 67 13 35

A: 07 10 08 16 12 21 13 27 15 28 44 35 56 36 60 67

Cuarta pasada

(88)

Algoritmo de Shell

Referencias

Documento similar

capital otras Consejerías de la Junta de Andalucía217.413,00 04De Fomento, Infraestructuras y Ordenación del Territorio217.413,00 99De Fomento, Infraestructuras y Ordenación

La Ley de Sanidad Animal impone el control de la aplica- ción de productos de la indus- t ^ia fannacrutica para preservar la sanidad dcl ganado, pero que puedc ❑ presentar

«(...) corresponde al Estado, en virtud de su competen- cia de ordenación general de la economía, establecer las directrices globales de ordenación y regulación del mercado

ordenación del territorio son, así, posibilidades abiertas en diversa medida a las CCAA para incidir en unos casos con competencia exclusiva (ordenación del territorio,

Una vez que la modificación puntual del PGMO de Cartagena haya sido aprobada, el Plan Especial de Reforma Interior (PERI) se presenta como la figura de planeamiento adecuada para

A este tipo de comunidades co- rreponden la Comunidad de la Anti- gua Villa y Tierra de Laguardia en Sierra Cantabria, el monte Sotos y Vargas, propiedad de Salvatierra y de

La Comunidad Autónoma de Castilla-La Mancha, realmente activa este año en el ámbito del urbanismo y de la ordenación del territorio, ha promulgado tres normas de

Se podría decir que el MESIR aúna la riqueza analítica e intuitiva de la analogía térmico-eléctrica con la potencia de los métodos numéricos actuales, dando como