Deprecated: Function eregi() is deprecated in /home/codingr/sites/codingrus.ru/maincore.php on line 12
Deprecated: Function eregi() is deprecated in /home/codingr/sites/codingrus.ru/maincore.php on line 25
Deprecated: Function eregi() is deprecated in /home/codingr/sites/codingrus.ru/maincore.php on line 25
Deprecated: Function eregi() is deprecated in /home/codingr/sites/codingrus.ru/maincore.php on line 26
Deprecated: Function eregi() is deprecated in /home/codingr/sites/codingrus.ru/maincore.php on line 26
Deprecated: Function eregi() is deprecated in /home/codingr/sites/codingrus.ru/maincore.php on line 27
Deprecated: Function eregi() is deprecated in /home/codingr/sites/codingrus.ru/maincore.php on line 27
Deprecated: Function eregi() is deprecated in /home/codingr/sites/codingrus.ru/maincore.php on line 28
Deprecated: Function eregi() is deprecated in /home/codingr/sites/codingrus.ru/maincore.php on line 28
Deprecated: Function eregi() is deprecated in /home/codingr/sites/codingrus.ru/maincore.php on line 29
Deprecated: Function eregi() is deprecated in /home/codingr/sites/codingrus.ru/maincore.php on line 25
Deprecated: Function eregi() is deprecated in /home/codingr/sites/codingrus.ru/maincore.php on line 25
Deprecated: Function eregi() is deprecated in /home/codingr/sites/codingrus.ru/maincore.php on line 26
Deprecated: Function eregi() is deprecated in /home/codingr/sites/codingrus.ru/maincore.php on line 26
Deprecated: Function eregi() is deprecated in /home/codingr/sites/codingrus.ru/maincore.php on line 27
Deprecated: Function eregi() is deprecated in /home/codingr/sites/codingrus.ru/maincore.php on line 27
Deprecated: Function eregi() is deprecated in /home/codingr/sites/codingrus.ru/maincore.php on line 28
Deprecated: Function eregi() is deprecated in /home/codingr/sites/codingrus.ru/maincore.php on line 28
Deprecated: Function eregi() is deprecated in /home/codingr/sites/codingrus.ru/maincore.php on line 29
.:: CodingRUS ::. программирование по-русски на Delphi, C++, PHP, Prolog, GPSS
• Массивы Кернигана
Прислано vovan666 на April 17 2013 00:05:41
в разделе 10.3 и сортировка с помощью кучи в разделе 14.4 основаны на методе совместного использования (overlaying) структур, позволяющего уменьшить объем, занимаемый данными, путем совместного их хранения в одной области памяти.
• Хотя иногда при упаковке и приходится жертвовать временем ради памяти, упакованные данные иногда обрабатываются быстрее, чем неупакованные.
• Интерпретаторы. Объем кода программы часто может быть уменьшен с помощью интерпретаторов, позволяющих компактно представить последовательности часто используемых операторов.
• В разделе 3.2 интерпретатор используется для составления формальных писем, а в разделе 10.4 интерпретатор используется для простой графической программы.
Циклы
• Выносите код из циклов. Вместо того чтобы выполнять некоторую операцию в теле цикла каждый раз при его проходе, лучше вызвать ее один раз вне цикла.
• В разделе 11.1 оператор присваивания значения переменной t выносится из основного цикла программы isort2.
• Совмещение проверок. Внутренний цикл должен содержать минимально возможное количество проверок, а лучше всего только одну. Программист должен стараться уменьшить количество условий завершения цикла их объединением.
• Маркерные элементы являются наиболее часто встречающимся примером применения этого правила. Маркерный элемент помещается на границе данных в структуре, чтобы уменьшить стоимость проверки на достижение этой границы. В разделе 9.2 маркерный элемент используется при последовательном поиске в массиве. В главе 13 маркеры применяются для написания ясного и эффективного кода для массивов, связанных списков, корзин и двоичных деревьев поиска. В решении 14.4 маркер ставится на одном из концов кучи.
• Раскрытие цикла. Раскрытие цикла позволяет избавиться от затрат на изменение значения индексов, помогает избежать остановов конвейера, уменьшает количество ветвлений и увеличивает параллелизм на уровне инструкций.
• Раскрытие цикла последовательного поиска в разделе 9.2 уменьшает время его выполнения примерно на 50%, а раскрытие цикла двоичного поиска в разделе 9.3 уменьшает время его выполнения на величину от 35 до 65%.