Salve, sono alle prese con questo esame e ho qualche difficoltà nel calcolo dei costi computazionali degli algoritmi.
Si considerino i seguenti metodi:
Si richiede quanto segue:codice:public static int metodo3(int n) { return metodo2(metodo1(n)); } public static int metodo2(int[] a) { for (int i=0; i<=a.length / 2; i++) { for (int j=i; j<a.length; j++) { if (a[j] < a[i]) { int aux = a[j]; a[j] = a[i]; a[i] = aux; } } } return a[a.length/2]; } public static int[] metodo1(int n) { LinkedList<Integer> in = new LinkedList<Integer>(); while (n>0) { in.add(n % 10); //resto della divisione intera n = n / 10; } Iterator<Integer> iterator = in.iterator(); int i = 0; int[] val = new int[in.size()]; while (iterator.hasNext()) { val[in.size() - i - 1] = iterator.next(); i++; } return val; }
1. Determinare il costo computazionale di metodo1 in funzione del valore n e in funzione della dimensione dell'input.
2. Determinare il costo computazionale di metodo2 in funzione del valore n e in funzione della dimensione dell'input.
3. Determinare il costo computazionale di metodo3 in funzione del valore n e in funzione della dimensione dell'input.
Qualcuno saprebbe aiutarmi? Grazie mille![]()

Rispondi quotando

