AlgoMOOC 01.01 Algoritmi quotidiani
-
Upload
alessandro-bogliolo -
Category
Education
-
view
10.229 -
download
0
Embed Size (px)
Transcript of AlgoMOOC 01.01 Algoritmi quotidiani

Algoritmi quotidiani01.01
alessandro bogliolo
http://codemooc.org/algoritmi/


Sai metterle in ordine crescente?

Sai dirmi come hai fatto?

Sai metterli in ordine di altezza?

Sai dirmi come hai fatto?

Quale carta hai mosso per prima?








Quante mosse hai fatto?

I COMPUTER NON HANNO VISIONE
D’INSIEME

VEDONO AL PIU’ DUE COSE ALLA VOLTA

Come scegli la carta iniziale?

10
10 2 1 8 5 6 8

10
10 2 1 8 5 6 8
0 1 2 3 4 5 6
1

10
10 2 1 8 5 6 8
0 1 2 3 4 5 6
2
2

2
10 2 1 8 5 6 8
0 1 2 3 4 5 6
1
3

10 2 1 8 5 6 8
0 1 2 3 4 5 6
1
4

10 2 1 8 5 6 8
0 1 2 3 4 5 6
1
5

10 2 1 8 5 6 8
0 1 2 3 4 5 6
1
6

10 2 1 8 5 6 8
0 1 2 3 4 5 6
1
7
E adesso?

10
10 2 1 8 5 6 8
0 1 2 3 4 5 6
10

10
10 2 1 8 5 6 8
0 1 2 3 4 5 6
2
201

2
10 2 1 8 5 6 8
0 1 2 3 4 5 6
1
312

10 2 1 8 5 6 8
0 1 2 3 4 5 6
1
42

10 2 1 8 5 6 8
0 1 2 3 4 5 6
1
52

10 2 1 8 5 6 8
0 1 2 3 4 5 6
1
62

10 2 1 8 5 6 8
0 1 2 3 4 5 6
1
7
E adesso?
2

10 2 1 8 5 6 8
0 1 2 3 4 5 6
1
72
101

10 2 1 8 5 6 8
0 1 2 3 4 5 6
2
7+61
101

10 2 1 8 5 6 8
0 1 2 3 4 5 6
5
7+6+54
101 105

10 2 1 8 5 6 8
0 1 2 3 4 5 6
6
7+6+5+45
101 105 86

10 2 1 8 5 6 8
0 1 2 3 4 5 6
8
7+6+5+4+35
101 105 86 108

10 2 1 8 5 6 8
0 1 2 3 4 5 6
8
7+6+5+4+3+26
101 105 86 108 108

10 2 1 8 5 6 8
0 1 2 3 4 5 6
7+6+5+4+3+2
101 105 86 108 108

SELE
CTI
ON
SO
RT
var array = [10,2,1,8,5,6,8];var posizione;var minimo;
for (i=0; i < array.length-1; i++) {minimo = array[i];posizione = i;for (j=i+1; j < array.length; j++) {
if (array[j] < minimo) {posizione = j;minimo = array[j];
}}array[posizione] = array[i];array[i] = minimo;
}
JavaScript

SELE
CTI
ON
SO
RT
var array = [10,2,1,8,5,6,8];var posizione;var minimo;
for (i=0; i < array.length-1; i++) {minimo = array[i];posizione = i;for (j=i+1; j < array.length; j++) {
if (array[j] < minimo) {posizione = j;minimo = array[j];
}}array[posizione] = array[i];array[i] = minimo;
}
E’ corretto?

SELE
CTI
ON
SO
RT
var array = [10,2,1,8,5,6,8];var posizione;var minimo;
for (i=0; i < array.length-1; i++) {minimo = array[i];posizione = i;for (j=i+1; j < array.length; j++) {
if (array[j] < minimo) {posizione = j;minimo = array[j];
}}array[posizione] = array[i];array[i] = minimo;
}
Qual è la sua complessità?

E’ l’unico modo per ordinare un array?