Читаем Хакни рутину. Как алгоритмы помогают справляться с беспорядком, не тупить в супермаркете и жить проще полностью

Это допущение требует нескольких оговорок.

Например, бывают случаи, в которых второстепенные члены оказывают серьезное влияние на функцию. Вспомните Джо и ее ожерелье из главы 9. Мы сконцентрировались на добавлении бусин и рассматривали первый метод как линейно-временной, а второй – как постоянно-временной и при этом более привлекательный. Мы по умолчанию признавали, что склеивание свободных концов шпагата было простым заданием – но если клею нужно пять минут, чтобы схватиться? Повлияет ли это на выбор Джо? Такие постоянные величины наиболее заметны, когда мы имеем дело с малым числом элементов и должны учитывать их наличие.

Две другие нотации, которые дополняют большую тету и оперируют при тех же условиях, – большая омега 

и большая о. Большая омега устанавливает нижнюю границу функции для достаточно большого значения n, то есть она говорит, что наша функция может расти не медленней, чем ее нижняя граница. Большая о определяет верхнюю границу функции для достаточно большого значения n, то есть говорит о том, что наша функция может расти не быстрее, чем верхняя граница. Конечно, в действительности функция может расти медленней, чем верхний предел и, таким образом, быть более привлекательной, но большое о – пессимист и воплощение закона Сода.[41]

Когда мы говорим о скорости роста алгоритма, мы имеем в виду его действенность в худшем случае, когда он тесно связан, по оценке большой теты. Заметьте, что любой уровень скрытности, двуличия, обмана, который мы допускаем в этой книге, порождает компромисс. Важно знать, что в реальности больше нюансов, чем в теории, – об этом можно прочитать в источниках, перечисленных в конце книги. Что касается Людвика, то различия в двух алгоритмах очевидны, что делает решение его проблемы достаточно легким.

11

Заполни полки

Терри учится на втором курсе престижного вуза Medlock High в Беверли-Хиллз (Калифорния). Он наказан (оставлен после занятий) за затеянную на лекции по социологии провокационную дискуссию на тему «Не во всем должны быть авокадо и капуста». В качестве воспитательной меры куратор отправил Терри в школьную библиотеку и велел выставить книги на только что купленную полку. Старая полка недавно обрушилась, и около 250 книг оказалось на полу. Все, что нужно сделать второкурснику-бунтарю, – выстроить книги на полке в алфавитном порядке по фамилиям авторов. Терри собирается вечером сходить в кино с друзьями и не хочет застрять в университете до полуночи. Ему удастся все сделать, но нельзя терять ни минуты.

ЦЕЛЬ: ВЫСТАВИТЬ ВСЕ КНИГИ НА ПОЛКУ В АЛФАВИТНОМ ПОРЯДКЕ.

МЕТОД 1: ВЗЯТЬ КНИГУ И ПОСТАВИТЬ ЕЕ НА ПОЛКУ. ВЗЯТЬ ДРУГУЮ И ПОСТАВИТЬ ЕЕ ПЕРЕД ИЛИ ПОСЛЕ ПЕРВОЙ, В ЗАВИСИМОСТИ ОТ ФАМИЛИИ АВТОРА. И ТАК ДАЛЕЕ.

МЕТОД 2: 

ИСПОЛЬЗОВАТЬ КНИЖНЫЕ ДЕРЖАТЕЛИ, ЧТОБЫ ОСТАВЛЯТЬ МЕСТО ПОСЛЕ КАЖДОЙ БУКВЫ АЛФАВИТА, ЗАТЕМ СТАВИТЬ КНИГИ, ПЕРЕМЕЩАЯ ДЕРЖАТЕЛИ ПО МЕРЕ НАДОБНОСТИ.

Давайте вначале решим, как Терри может поступить с заданием. Мы видели в главе 15, что подходы к сортировке, которые строятся на сравнении смежных элементов и определении, какой из них больше, а какой меньше, занимают квадратичное время. Мы говорили, что примеры такого подхода на практике включают в себя сортировку вставкой, сортировку выбором и пузырьковую сортировку и что все они работают, используя образец с минимальными различиями. Метод 1 Терри – это тот же подход, что и метод 1 Чарли из главы 5.

Здесь интересно, что усовершенствованный метод Терри не останавливается на алгоритме разбивания, как в случае с Чарли. Он модифицирует оригинальный алгоритм квадратичного времени. Это происходит при внедрении относительно простой инновации. Если мы возьмем такой алгоритм, как сортировка вставкой, мы обнаружим, что самым медленным действием будет помещение элемента на правильное место. Каждый раз после того, как мы делаем это, приходится менять расположение всех последующих элементов, передвигая их один за другим.

Что происходит при применении метода 2 Терри? Он заранее учитывает эти сдвиги, создавая пустые пространства по всей длине полки через равные промежутки. Найдя нужное место для вставляемой книги, Терри, вероятнее всего, передвинет лишь несколько других книг. Чем больше и шире эти свободные пространства, тем меньше книг ему придется сдвигать каждый раз.

Перейти на страницу:

Все книги серии Психология. Сам себе коуч

Рестарт. Как вырваться из «дня сурка» и начать жить
Рестарт. Как вырваться из «дня сурка» и начать жить

Порой наша жизнь начинает напоминать «день сурка», вновь и вновь проигрывающий все тот же сценарий «дом–работа–дом». Если вы устали каждый день проводить без смысла и радости, делать то, что вам совсем не хочется, эта книга для вас! По мнению Татьяны Ананьевой, признанного эксперта в области HR и маркетинга, консультанта ведущих компаний страны, в основе счастливой и гармоничной жизни лежит принцип осознанности и четкое понимание своих желаний. В легкой и доступной форме она рассказывает, как научиться управлять своей жизнью и обрести внутренний баланс и равновесие, стать счастливее в работе и в жизни.Из этой книги вы узнаете:[ul]Как найти свою мечту и реализовать ее;Почему нам так трудно избавиться от шаблонов и что с этим делать;Как научиться делать шаг к цели каждый день;Чем отличается подход к работе у разных поколений;Как избежать типичных ошибок в планировании.[/ul]

Татьяна Евгеньевна Ананьева

Карьера, кадры / Психология / Образование и наука

Похожие книги

Вперед в прошлое!
Вперед в прошлое!

Мир накрылся ядерным взрывом, и я вместе с ним.По идее я должен был погибнуть, но вдруг очнулся… Где?Темно перед глазами! Не видно ничего. Оп — видно! Я в собственном теле. Мне снова четырнадцать, на дворе начало девяностых. В холодильнике — маргарин «рама» и суп из сизых макарон, в телевизоре — «Санта-Барбара», сестра собирается ступить на скользкую дорожку, мать выгнали с работы за свой счет, а отец, который теперь младше меня-настоящего на восемь лет, завел другую семью.Отныне глава семьи — я, и все у нас будет замечательно. Потому что возраст — мое преимущество: в это лихое время выгодно, когда тебя недооценивает враг. А еще я стал замечать, что некоторые люди поддаются моему влиянию.Вот это номер! Так можно не только о своей семье, обо всем мире позаботиться и предотвратить глобальную катастрофу!От автора:Дорогой читатель! Это очень нудная книга, она написана, чтобы разрушить стереотипы и порвать шаблоны. Тут нет ни одной настоящей перестрелки, феерического мордобоя и приключений Большого Члена во влажных мангровых джунглях многих континентов.Как же так можно? Что же тогда останется?..У автора всего-навсего есть машина времени. Прокатимся?

Вадим Зеланд , Денис Ратманов

Самиздат, сетевая литература / Самосовершенствование / Попаданцы / Эзотерика