AlgoMOOC 01.01 Algoritmi quotidiani
-
Upload
alessandro-bogliolo -
Category
Education
-
view
10.232 -
download
0
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?