Skip to content
Snippets Groups Projects
Commit 43707fbf authored by Martin Vatshelle's avatar Martin Vatshelle
Browse files

Runtime analysis done in lecture

parent 1ab07640
No related branches found
No related tags found
No related merge requests found
package h21;
import java.util.Arrays;
import java.util.HashMap;
public class Products {
public static int countProducts(int[] a) {
int total = 0;
for(int i=0; i<a.length; i++) {
for(int j=i; j<a.length; j++) {
int prod = a[i]*a[j];
for(int k=0; k<a.length; k++) {
if(a[k]==prod)
total++;
}
}
}
return total;
}
//TODO: improve this
public static int countProducts2(int[] a) {
int total = 0;
for(int i=0; i<a.length; i++) {
for(int j=i; j<a.length; j++) {
int prod = a[i]*a[j];
for(int k=0; k<a.length; k++) {
if(a[k]==prod)
total++;
}
}
}
return total;
}
}
package h21;
public class RuntimeAnalysis {
public static int numPairs(int n) {
int count = 0; //1*O(1)
for(int i=0; i<n; i++) { //n iterasjoner
for(int j=i+1; j<n; j++) { //O(n) iterasjoner
count++; //O(n^2) * O(1)
}
}
return count;
}
public static void printProducts(int n) {
int a=0; //O(1)
int b=n; //O(1)
while(a<=b) { //O(n) iterasjoner
if(a*b==n) {
System.out.println(a+"*"+b+"="+a*b); //O(1)
a++; //O(1)
b--; //O(1)
}
else if(a*b>n)
b--; //O(1)
else if(a*b<n)
a++; //O(1)
}
}
public static void printProducts2(int n) {
int a=1; //O(1)
int b=n; //O(1)
while(a<=b) { //O(sqrt(n))
if(a*b==n) {
System.out.println(a+"*"+b+"="+a*b); //O(1)
a++; //O(1)
b--; //O(1)
}
else {
if(a*b>n)
b=n/a; //O(1)
else if(a*b<n)
a++; //O(1)
}
}
}
public static String loopDeLoop(int n) {
String lyrics = ""; //O(1)
for(int i=0; i<n; i++) { //n iterasjoner
lyrics += "Loop de loop, flip flop.\n"; //O(lyrics.length)= O(n)
lyrics += "Flying in an aeroplane.\n";
}
return lyrics;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment