Как оценить эффективность моего алгоритма?

Рейтинг: 1Ответов: 1Опубликовано: 28.03.2023

Изучаю Java, решаю задачи. Для одной задачи возможно несколько вариантов решения. Подскажите, как оценить эффективность моего алгоритма? Единственное, что я придумал - оценка затраченного времени и вывод его в консоль:

    long startTime = System.currentTimeMillis();
    //какой-то код
    System.out.println((System.currentTimeMillis() - startTime));

Возможно, как-то можно еще оценить эффективность алгоритма (например, потребление памяти)? И нужно ли? И на что еще обращать внимание при написании алгоритмов?

Ответы

▲ 1Принят

Сформулируйте задачу, которую решаете и алгоритм, который хочется оценить, так будет понятнее, что можно порекомендовать. Небольшое замечание по поводу приведенного вами кода для оценки времени выполнения алгоритма. Перед замерами лучше делать "прогрев". Например, если оценивается время выполнения сортировки, то перед основным замером - прогоните сортировку несколько раз, а только потом замеряйте время выполнения алгоритма. Рекомендую почитать: Эванс, Гоф, Ньюланд: Java. Оптимизация программ.