Что лучше выбрать, чем удобнее читать и чем проще, тем быстрее программирование?

Решая домашнее задание по информатике в университете, я всегда нахожу разные способы решения одной и той же проблемы.
Один способ — самый быстрый (время выполнения), но самый длинный и более сложный.
А другой способ легче реализовать, он не хватает времени выполнения, его легко понять и так далее.

В качестве мини-примера мы должны создать программу на C ++, которая выводит строку из N элементов, в которой каждый элемент имеет одинаковые смежные элементы, отличающиеся от середины.

Ex.
6 Elements: *_*_*_
7 Elements: *_*_*_*

Первое решение является самым простым:

#include <iostream>
using namespace std;

int main(void){
int a;
cin >> a;
for (int i=1; i<=a; i++)
{
if (i%2 != 0)
{
cout << "*";
}
else
{
cout << " ";
}
}
return 0;
}

А второй немного сложнее реализовать, но быстрее выполнить (меньше условных проверок):

#include <iostream>
using namespace std;

int main(void){
int a;
cin >> a;
if (a%2 == 1)
{
for (int i=1; i<=a; i=i+2)
{
cout << "*";
cout << " ";
}
}
else
{
for (int i=1; i<a; i=i+2)
{
cout << "*";
cout << " ";
}
cout << " ";
}
return 0;
}

Мой вопрос заключается в том, на чем я должен сосредоточиться? Чистый код, простота реализации / развертывания и лучшая читаемость или лучший алгоритм, более быстрое выполнение и сильная логика, или просто попытаться как можно лучше смешать все эти 2, потому что всегда есть расхождение между этими двумя способами решения проблем?

0

Решение

Вы должен попробуйте написать читаемый, легко отлаживаемый код для простоты понимания.

Всякий раз, когда вы сталкиваетесь с частями кода, где он может быть сильно оптимизирован, чтобы получить гораздо более высокую производительность (либо путем изменения архитектуры кода или / и путем реализации сборки в вашем коде), вы можете добавить в закомментированный раздел лучшую альтернативу производительности этого , Даже если вы выберете лучшую альтернативу производительности, у вас всегда будет другая, которая может поддержать вас, чтобы понять ее.

Кроме того, придерживайтесь лучших альтернатив производительности, когда вы можете увидеть огромный выигрыш, делая это, а не каждый раз.

Имейте в виду, что эти улучшения лучше только реализовано в случае узкие места производительности или в системах, где энергоэффективность это важно.

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]