+ All Categories
Home > Technology > G te c sesion4a-bigdatasystemsanalytics

G te c sesion4a-bigdatasystemsanalytics

Date post: 17-Jul-2015
Category:
Upload: grupo-g-tec
View: 59 times
Download: 0 times
Share this document with a friend
Popular Tags:
39
Victoria López @victoriademates www.tecnologiaUCM.es Universidad Complutense de Madrid 4a
Transcript

Victoria López

@victoriademates

www.tecnologiaUCM.es

Universidad Complutense de Madrid

4a

2

4a

3

4a

4

5

6

7

8

AlmacenajeDataWarehouse

TransformaciónETL

ConsultaReporting, etc.

14

http://www.tylervigen.com/

15

http://www.tylervigen.com/

16

http://www.tylervigen.com/

17

18

19

20

21

22

23

24

25

26

28

Tony Hoare, Doctor Honoris Causa por la Universidad Complutense de Madrid, 2013

La idea: dividir escogiendo un ‘pivote’, poner los pequeños a un lado y los grandes al

otro lado del pivote

Creado por Tony Hoare en 1961 cuando era solo un estudiante

Caso Base: Si la longitud de la lista es 0 ó 1, entonces ya está ordenada. Caso General:

1. Seleccionar un pivote (el último elemento) y colocarlo en su sitio definitivo de forma que los menores queden antes y los mayores después aunque desordenados.2. Llamar recursivamente con input la sublista anterior y la posterior aplicando el mismo procedimiento3. No hace falta mezclar porque las dos sub-listas ya estarán ordenadas y serán contiguas.

Procedimiento ‘divide’ de Quick-Sort:

6 – 13 – 5 – 1 – 0 – 9 – 15 – 8 – 2 – 7

6 – 13 – 5 – 1 – 0 – 9 – 15 – 8 – 2 – 76 – 13 – 5 – 1 – 0 – 9 – 15 – 8 – 2 - 76 – 13 – 5 – 1 – 0 – 9 – 15 – 2 – 7 – 8

6 – 13 – 5 – 1 – 0 – 9 – 2 – 7 – 8 – 15

6 – 13 – 5 – 1 – 0 – 2 – 7 – 9 – 8 – 15

6 – 13 – 5 – 1 – 0 – 2 – 7 – 9 – 8 – 15

6 – 13 – 5 – 1 – 0 – 2 – 7 – 9 – 8 – 15

6 – 13 – 5 – 1 – 0 – 2 – 7 – 9 – 8 – 15

6 – 5 – 1 – 0 – 2 – 7 – 13 – 9 – 8 – 15

6 – 5 – 1 – 0 – 2 – 7 – 13 – 9 – 8 – 15

6 – 5 – 1 – 0 – 2 – 7 – 13 – 9 – 8 – 15

Completidad de ‘divide’ o(n)Complejidad de Quick-Sorto(nlogn)

Reflexión:

Cómo paralelizar un algoritmo óptimo de ordenación

Diferencias entre Merge-Sort y Quick-Sort

Función factorial

Alternativa iterativa:

Int Factorial (int n)int f=1;{For (i=1; i<=n; i++) {f=f*i}Return f}

--Varias instrucciones--Variables auxiliares--Más código, menos fiable

Alternativa recursiva 1:

Int Factorial (int n){If n=0 return 1Else return n*Factorial(n-1)}

-- Una única instrucción--No existen variables locales--Menos código, más fiable

Alternativa recursiva 2:

Int Factorial (int n, m){If n=0 return mElse return Factorial(n-1, n*m)}

-- Programación Funcional Final--No deja calculos pendientes

33

34

35

36

37

Victoria López

@victoriademates

www.tecnologiaUCM.es

Universidad Complutense de Madrid


Recommended