Sto studiando le strutture dati e ho colpito un po 'un blocco stradale. La parte superiore è Big oh notation ed è semplicemente confusa. Mentre riesco a trovare il limite superiore per i loop più semplici, quando si tratta di cose più complicate, mi sento un po 'perso.
Ho questo programma di array stack Java che sto usando come pratica e speravo che qualcuno qui potesse mostrarmi come trovare il limite superiore.
Codice:
import jeliot.io.*;
public class IStack {
private int maxSize;
private long[] stackArray;
private int top;
public IStack(int s) {
maxSize = s;
stackArray = new long[maxSize];
top = -1;
}
public void push(long j) {
stackArray[++top] = j;
}
public long pop() {
return stackArray[top--];
}
public long peek() {
return stackArray[top];
}
public boolean isEmpty() {
return (top == -1);
}
public boolean isFull() {
return (top == maxSize - 1);
}
public static void main(String[] args) {
IStack NStack = new IStack(5);
NStack.push(0);
NStack.push(1);
NStack.push(2);
NStack.push(3);
NStack.push(4);
while (!NStack.isEmpty()) {
long value = NStack.pop();
System.out.print("value: " + value);
System.out.print(" ");
}
System.out.println("");
}
}