Как оценить эффективность моего алгоритма?
Изучаю Java, решаю задачи. Для одной задачи возможно несколько вариантов решения. Подскажите, как оценить эффективность моего алгоритма? Единственное, что я придумал - оценка затраченного времени и вывод его в консоль:
long startTime = System.currentTimeMillis();
//какой-то код
System.out.println((System.currentTimeMillis() - startTime));
Возможно, как-то можно еще оценить эффективность алгоритма (например, потребление памяти)? И нужно ли? И на что еще обращать внимание при написании алгоритмов?