Наименование алгоритмического антипаттерна - PullRequest
4 голосов
/ 18 июня 2010

У меня возникают проблемы с тем, чтобы вспомнить имя выполнения чего-либо с квадратичной сложностью, когда это можно решить линейно.

Например, используя функцию get-by-index для перебора связанного списка вместо простого использованияnext-element является типичным случаем этого антипаттерна.

Я думаю, что это был «что-то художник», как метафора парня, который рисует дорогу, но не несет с собой ведро с краскойи должен возвращаться к исходной точке каждый раз, когда ему нужно пополнить кисть.

Приветствия.

1 Ответ

8 голосов
/ 18 июня 2010

Вы, вероятно, думаете о Алгоритме художника Шлемеля .

Есть классическая шутка на тему, которую Джоэл Спольски включил в свою Назад к основам статья несколько лет назад:

Шлемиэль устраивается на работу уличным художником, рисуя пунктирные линии по середине дороги.В первый день он выносит банку с краской на дорогу и заканчивает 300 ярдов дороги."Это очень хорошо!"говорит его босс, "ты быстрый работник!"и платит ему копейку.

На следующий день Шлемиель делает всего 150 ярдов.«Ну, это не так хорошо, как вчера, но ты все еще быстрый работник. 150 ярдов - это респектабельно», - и платит ему копейку.

На следующий день Шлемил рисует 30 ярдов дороги."Только 30!"кричит своему боссу.«Это неприемлемо! В первый день вы проделали в десять раз больше работы! Что происходит?»

«Я ничего не могу поделать», - говорит Шлемиэль.«Каждый день я все дальше и дальше отдаляюсь от банки с краской!»

PS Не путайте это с Алгоритмом художника , который является реальным методом длясоставление изображений.

...