Электронная библиотека » Али Альмоссави » » онлайн чтение - страница 2


  • Текст добавлен: 5 сентября 2018, 10:00


Автор книги: Али Альмоссави


Жанр: Самосовершенствование, Дом и Семья


Возрастные ограничения: +12

сообщить о неприемлемом содержимом

Текущая страница: 2 (всего у книги 6 страниц) [доступный отрывок для чтения: 2 страниц]

Шрифт:
- 100% +
3
Поход за продуктами

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

Есть такой комедийный скетч с двумя Ронни[15]15
  «Два Ронни» – популярный в 1970-е годы британский комедийный сериал с актерами Ронни Баркетом и Ронни Корбеттом (прим. ред.).


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

Запомните эту сценку.[16]16
  Ее можно посмотреть здесь: bookofbadchoices.com/links/ronnies. Интересующая нас последовательность событий происходит ближе к середине ролика (прим. автора).


[Закрыть]
Мы еще вернемся к ней. Но сначала давайте посмотрим, как Ян может решить, насколько часто ему ходить в магазин.

ЦЕЛЬ: СОВЕРШАТЬ КАК МОЖНО МЕНЬШЕ ВЫЛАЗОК В МАГАЗИН В ТЕЧЕНИЕ НЕДЕЛИ.

МЕТОД 1: ОБНАРУЖИТЬ, ЧТО КАКОЙ-ТО ПРОДУКТ ЗАКАНЧИВАЕТСЯ И ОТПРАВИТЬСЯ ЗА НИМ В МАГАЗИН.

МЕТОД 2: СОСТАВЛЯТЬ СПИСОК ЗАКОНЧИВШИХСЯ ПРОДУКТОВ. ПОЙТИ В МАГАЗИН, КОГДА СПИСОК ДОСТИГНЕТ ОПРЕДЕЛЕННЫХ РАЗМЕРОВ ИЛИ КОГДА ЗАКОНЧИТСЯ КАКОЙ-НИБУДЬ ЖИЗНЕННО ВАЖНЫЙ ПРОДУКТ, НАПРИМЕР ШОКОЛАДНЫЕ БАТОНЧИКИ «КИТ-КАТ».[17]17
  Здесь может быть реклама любого другого продукта (прим. автора).


[Закрыть]

Вот уже знакомый нам график, где можно посмотреть и сравнить эффективность этих двух методов.



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

Внимательный исследователь может сделать еще одно наблюдение, и оно имеет отношение к походу Яна в продуктовый магазин. Давайте поговорим об этом.

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

Структура, которая, на мой взгляд, заслуживает внимания, известна под именем стек. Стек выводит на первый план качество предмета, который находится сверху, независимо от того, сколько позиций расположено ниже. Так, увидев в кафе стопку газет, вы возьмете просматривать только верхнюю, потому что знаете, что она свежая, а вас интересуют самые последние новости. Точно так же и со стеками: нас интересует то, что находится на самом верху.

В случае с Яном его когнитивный стек состоит из продуктов, которые закончились у него дома. Когда в верхней позиции оказывается «Кит-Кат», Ян решает пойти в магазин и очистить верх стека. Таким образом он постоянно убирает верхние элементы, пока весь стек не очистится. Закончившийся «Кит-Кат» становится триггером для начала очистки стека. До наступления этого момента Ян может спокойно добавлять другие позиции в список и заниматься своими делами.

Наше воспоминание о скетче в исполнении двух Ронни тоже здесь к месту. Оно позволяет владельцу магазина построить воображаемый стек, возможно, по одному для каждого ряда полок, чтобы не лазать вверх и вниз по лестнице много раз. Если бы клиент прочитал весь список нужных товаров, владелец построил бы свои стеки, исходя из расположения полок, создавая позиции для стека каждого ряда.


В 1946 году Алан Тюринг опубликовал научную статью, где представил концепцию стека, используя термин «закапывание». Как отмечает Эндрю Ходжес, автор биографии Тюринга, идея оказалась новостью для фон Неймана. Вот небольшая выдержка из работы Тюринга:

«Как производится закапывание и откапывание? Есть много способов. Один – вести список таких заметок в одной или нескольких стандартных линиях задержки (1024), где самая недавняя запись становится последней. Положение самой недавней записи хранится в фиксированном временном хранилище, и эта ссылка изменяется каждый раз, когда зависимая позиция начинается или заканчивается».

Этот поразительный текст рассказывает о том, как концепции, которые мы сегодня считаем интуитивными, вообще появились на свет. Они стали очевидными, только когда кто-то изучил различные проблемы, пытаясь найти их решение. Возможно, вам захочется прочитать об эффекте Флинна – он назван по имени Джима Флинна, предположившего, что человек становится умнее отчасти благодаря тому, что его интуитивное мышление зреет и становится более изощренным и сложным. У людей, рождающихся сегодня, в мозг уже встроена способность к интуиции, более совершенная, чем та, что была у их предков.

Поэтому бывает смешно читать старые тексты и трактаты – они показывают нам, как далеко мы продвинулись. Помню, я открыл однажды «Руководство по хорошим манерам для детей» авторства Дезидериуса Эразмуса, изданную в 1530 году, и нашел такой совет: «Не давайте соплям скапливаться в носу, так поступают только неряхи. Еще Сократа критиковали за этот порок». Для человека из XXI столетия это правило выглядит само собой разумеющимся, но в контексте того времени оно блистало новизной.

Разговор Тюринга о вспомогательных операциях напоминает еще одну жизненную ситуацию, где стеки были бы полезны. Представьте, что на следующее утро к дому Яна подъезжает почтальон и не смотрит ему в глаза. По щекам почтальона катятся слезы, а губы дрожат от обиды.

«Простите, не сделал ли я чего-то такого, что обидело вас?» – спрашивает Ян.



«Ну, вообще-то сделали. Так и есть», – сказал почтальон, отводя взгляд.

Как же Яну вспомнить, каким образом он обидел почтальона? Ему нужно изучить верхние пункты из нужного стека воспоминаний – стека под названием «почтальон». Причина наверняка кроется в их последнем общении.

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

Можно надеяться, что Ян сумеет разобраться в своем стеке, чтобы внести поправки в манеру общения с почтальоном, и научится лучше определять, когда ему идти за продуктами.


4
Выход из лабиринта

Как-то раз один портной, грек по имени Иоаннис, заблудился в собственной мастерской. Мастерская пользовалась большой популярностью среди афинян, а сам Иоаннис имел репутацию скряги и скопидома. Ситуация осложнялась тем, что помещение располагалось на обширном участке земли, постепенно занимая его, по мере того как Иоаннис в течение 30 лет строил новые проходы и ставил стеллажи для удовлетворения своей страсти к накопительству. И вот он попался: сидит в созданном им же самим лабиринте, заваленном хламом, а вокруг выстроились полки с бесконечными рядами ниток, одежды и разломанных швейных машин. Как же Иоаннису найти путь обратно? Или ему суждено погибнуть здесь?


Есть еще одна греческая история. Когда родился Минотавр, полубык-получеловек, великий архитектор Дедал построил лабиринт, куда было заточено это злое и коварное существо.

«Оказавшись внутри, он бродил по извилистым тропинкам, но так никогда и не нашел выхода. В это место периодически отправлялись молодые афиняне, которых отдавали на съедение Минотавру. И не было у них никакой возможности спастись».

К счастью для Тесея, который тоже должен был стать жертвой Минотавра, дочь царя Ариадна влюбилась в него и разработала план его побега.

Она послала за Дедалом и велела ему показать выход из лабиринта. Тесею она обещала спасение, если он возьмет ее в Афины и там женится на ней. Ариадна дала ему ключ, полученный от Дедала, и клубок пряжи, который Тесей должен был прикрепить к двери и разматывать нить по мере продвижения. Так он и сделал и, конечно же, когда понадобилось, смог проделать путь в обратном направлении. Он смело прошел по лабиринту, нашел Минотавра спящим, убил его и вышел наружу».

Запомните эту историю. Мы скоро вернемся к ней снова. А пока давайте опишем три метода, которые Иоаннис мог бы использовать, чтобы найти выход из мастерской.

ЦЕЛЬ: ВЕРНУТЬСЯ К ВЫХОДУ

МЕТОД 1: ИДТИ ПО ПРОХОДАМ. СВОРАЧИВАТЬ НАУГАД, ПОКА НЕ НАЙДЕШЬ ВЫХОД.

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

МЕТОД 3: ВЗЯТЬ С ПОЛКИ КАТУШКУ С НИТКАМИ И РАЗМАТЫВАТЬ ЕЕ ПО МЕРЕ ДВИЖЕНИЯ ПО ПРОХОДУ. ЕСЛИ ПОПАДЕШЬ В ТУПИК ИЛИ НАТКНЕШЬСЯ НА СВОЮ ЖЕ НИТКУ, ТО ПОВЕРНУТЬ НАЗАД И ПОЙТИ ПО ДРУГОМУ ПРОХОДУ.


Метод 1 имитирует путь мыши в лабиринте. Никаких продвинутых умственных способностей для него не требуется – просто беспорядочное хождение от одной точки до другой, пока по случайности не наткнешься на кусок сыра. Иногда его так и называют – метод беспорядочной мыши. Как вы можете догадаться, результат достигается крайне медленно.

Метод 2 немного интереснее, хотя тоже довольно прост. Здесь Иоаннис идет по стене, держась за нее рукой, и находит дорогу к выходу. Почему это срабатывает? Потому что, если развернуть стены лабиринта, получится прямая линия, и, шагая вдоль нее, когда-нибудь достигнешь конца.[18]18
  Иллюстрации, приведенные ниже, навеяны рисунками Джемиса Бака. См. ссылки в конце книги (прим. автора).


[Закрыть]

Хоть метод 2 и быстрее метода 1, его проблема в том, что в лабиринте могут быть так называемые островки или петли – внутренние стены, которые не соединены с внешними. В 1820 году граф Стэнхоуп построил в Чевенинге (Кент) первый садовый лабиринт с такими петлями. Его целью было создать лабиринт, из которого нельзя выйти по методу 2.



Таким образом, в некоторых лабиринтах этот метод, известный как стенохождение или правило правой руки,[19]19
  Вариант – правило левой руки, когда человек следует по стене, держась за нее левой рукой (прим. автора).


[Закрыть]
может подвести человека и не привести к желаемому результату.

Краткое отступление. Интересно, что Чарльз Дарвин почти двадцать лет изучал все возможные контраргументы к своей теории эволюции, прежде чем опубликовал «Происхождение видов». Исследование такого масштаба сродни хождению по лабиринту, где развилки тропинок соответствуют предположениям,[20]20
  Аргумент состоит из ряда положений, называемых тезисами. Каждый из них либо правдив, либо ложен (прим. автора).


[Закрыть]
где тупики означают, что аргумент не выдерживает критики, а выход – понимание, что вывод верен. Оказалось, что этот когнитивный подход к аргументам и контраргументам также работает, если применять его для поиска выхода из реального лабиринта. И это в точности то, что мы видим в методе 3 и в истории о нити Ариадны.



При помощи этого метода Иоаннес ведет обратный учет, который помогает ему тянуть нить: когда он попадает в тупик, он может вернуться и пойти по другому пути.[21]21
  Он также может отмечать места пересечения ходов куском мела или оставлять там лоскутки ткани.


[Закрыть]
Возможность вернуться к месту пересечения ходов и попробовать более удачный путь гарантирует, что Иоаннес рано или поздно найдет дорогу обратно. Эта стратегия нахождения выхода из лабиринта называется алгоритм Тремо, ей мы обязаны французскому математику Эдуарду Лукасу и его книге «Математические рекреации», изданной в 1882 году.

Недавние исследования доказывают, что другие существа (например, муравьи) тоже могут использовать что-то типа метода обратного отслеживания для нахождения пути, если тропинка обрывается. Этот способ быстрее метода 1 и помогает выбраться из замкнутых петель в отличие от метода 2.

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


В мире есть десятки настоящих лабиринтов, некоторые простираются на многие мили, и там усвоенные нами уроки можно применить на практике. Но вышеперечисленные методы могут пригодиться и в других ситуациях. В более общем виде идея прохода от одной точки до другой в замкнутом пространстве, похожем на лабиринт, выглядит так. Это сеть или график как альтернативный способ описания лабиринта, где проходы – края, а пересечения – вершины, находятся в ядре многих приложений, которыми мы пользуемся и полагаемся на них каждый день. Приложение, которое знает, как соединены дороги – OpenStreetMap, например, – может подсказать кратчайший путь от вашего дома до пляжа. Веб-сайт, который знает, как связаны люди, места и вещи – скажем, Google’s Knowledge Grap, – дает лучшие результаты поиска: интернет-сайт, который знает, кто ваши друзья – Facebook или LinkedIn, например, – может догадаться, с кем еще вы знакомы, а программа, которая знает, как соединены ее компоненты и модули – скажем, Firefox, – предвидит, где вероятнее всего проявятся дефекты в будущем, основываясь на паттернах и плотности соединений.

Даже роботы-пылесосы служат хорошим примером. Не все они одинаковы. Уровень сложности зависит от того, как много пространства они способны охватить. Самые простые пылесосы бродят беспорядочными линиями или кругами, в то время как более продвинутые сначала составляют карту комнаты, определяя, где находятся стены, углы и повороты, а потом ездят взад-вперед по принципу решетки. Иными словами, когда робот знает, как лучше всего добраться с одного конца комнаты в другой, это приближает его цель, а результат – более чистая комната.[22]22
  В марте 2016 года в номере американского кулинарного журнала Cook's Illustrated сравнение разных подходов было проиллюстрировано фотографиями работающих роботов-пылесосов, сделанными с длинной выдержкой.


[Закрыть]

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



5
Сортировка почты

Чарли Магна не успевает закончить свои почтовые дела. Сейчас уже середина дня, июль, Кейптаун. Температура 45 °C. К тому же рассеянный и неуклюжий Чарли выронил коробку с отсортированными письмами и перемешал пачки, которые нужно доставить 33 адресатам в его округе. Но и это не все: у почтальона повышенная чувствительность к солнечному свету, а он забыл кепку и солнцезащитные очки дома. Стоя на коленях на раскаленной гальке, он собирает конверты и пытается разложить их в нужном порядке, чтобы закончить работу, прежде чем на коже появятся волдыри.

Подсказка: подумайте, как можно разбить одну большую проблему на несколько маленьких.

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

Давайте посмотрим, как Чарли может справиться со своей неожиданной поблемой.

ЦЕЛЬ: СНОВА РАЗЛОЖИТЬ РАССЫПАННЫЕ ПАЧКИ КОНВЕРТОВ В НУЖНОМ ПОРЯДКЕ

МЕТОД 1: ПОЛОЖИТЬ ОДНУ ПАЧКУ НА ЗЕМЛЮ ПЕРЕД СОБОЙ. ВЗЯТЬ ВТОРУЮ ПАЧКУ, И, ЕСЛИ МЕСТО ЖИТЕЛЬСТВА АДРЕСАТА БЛИЗКО К ПЕРВОМУ, ПОМЕСТИТЬ ЕЕ СЛЕВА. И ТАК ДАЛЕЕ, ПОКА САМЫЕ БЛИЗКИЕ АДРЕСА НЕ ОКАЖУТСЯ СЛЕВА ОТ ЛИНИИ, А САМЫЕ ДАЛЕКИЕ – СПРАВА.

МЕТОД 2: РАЗЛОЖИТЕ ПАЧКИ КОНВЕРТОВ В РЯД ПЕРЕД СОБОЙ. РАЗДЕЛИТЕ ИХ ТАК, ЧТОБЫ СПРАВА И СЛЕВА ОКАЗАЛОСЬ ОДИНАКОВОЕ КОЛИЧЕСТВО КОНВЕРТОВ. ЗАТЕМ РАЗДЕЛИТЕ КАЖДУЮ ГРУППУ ПОПОЛАМ. КЛАДИТЕ БЛИЗКИЙ АДРЕС СЛЕВА, А ДАЛЕКИЙ – СПРАВА. ЗАТЕМ ДЕЛАЙТЕ ЭТО ДЛЯ КАЖДОЙ ПАРЫ ПАР И ТАК ДАЛЕЕ.

Вот как эти два метода выглядят на графике:



В реальной жизни при сортировке каких-либо вещей вручную, как это делает Чарли, допустимы некоторые вариации метода 1, которые он скорее всего использовал бы. Как мы видели из прежних сравнительных графиков, общее правило таково: для сортировки нескольких вещей годится любой метод. И только когда предметов много, один из методов может оказаться намного лучше другого. Хотя метод 2 не всегда имеет практическую корреляцию в реальной жизни, по крайней мере при сортировке, мы обсудим общий подход в концептуальных терминах.[23]23
  Не все можно объяснить на примерах, да и не всегда это нужно (прим. автора).


[Закрыть]

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



Подход Чарли в методе 1 – характерная черта алгоритма с квадратичным временем.[24]24
  Он называется квадратичным, потому что время, которое требуется для сортировки конвертов, повышается на порядок n2 с увеличением их количества – скажем, 100 секунд для 10 конвертов, 10 000 секунд для 100 конвертов и так далее (прим. автора).


[Закрыть]
Каждый раз, когда у вас есть набор предметов (независимо от того, одинаковые ли они или разные) и вы перебираете их все в поисках одного, у вас есть алгоритм с квадратичным временем. Другие примеры подобного алгоритма – примерка нескольких рубашек с целью выбрать подходящую к вашим брюкам или сравнение списка покупок с продуктами на полке в магазине.

В информационных технологиях многие простые способы сортировки данных протекают в квадратичном времени. Подобно методу 1 Чарли, они все работают путем сравнивания смежных пунктов и перемещения их в зависимости от того, какой больше, а какой меньше. Все подходы, построенные на принципе сравнения прилегающих точек, в среднем происходят в квадратичном времени (n2). Иначе говоря, если n – количество конвертов, мы можем описать функцию, которая располагает эти конверты в нужном порядке с помощью сравнения, как «ограниченные n2», то есть в среднем (это ключевое слово!) мы не можем это сделать быстрее. Существует также сортировка методом вставок, методом выделения и пузырьковым методом.

Когда я впервые услышал о сортировке, будучи 16-летним школьником, я сперва не понял, что может быть лучше метода с квадратичным временем. График показывает, что метод 2 значительно быстрее, чем метод 1, поэтому стоит сортировать элементы в субквадратичном времени.

Общий подход к субквадратичному способу сортировки подразумевает такие методы, как разделение и присваивание, то есть разбивание группы предметов на более мелкие группы и сортировку этих групп.[25]25
  Процесс также включает в себя концепцию под названием «рекурсия», которую мы не будем рассматривать в этой книге, но с которой стоит ознакомиться (прим. автора).


[Закрыть]
Разделение группы пополам есть логарифмический метод, как мы видели ранее, а помещение предметов в одну группу снова – линейный, так как мы берем один предмет один раз. Этот подход к сортировке называют линейно-логарифмическим, и можно представить, что он гораздо быстрее, чем метод с квадратичным временем и немного медленнее, чем метод с линейным временем.[26]26
  Вспомните, что логарифмы растут медленно (прим. автора).


[Закрыть]
Его можно называть лог-линейным, или просто n log n, – этот порядок складывается из времени, затрачиваемого на разделение группы (log n) и на компоновку предметов заново (n). При умножении они дают n log n. Слово «линейно-логарифмический» образовано из двух: «линейный» и «логарифмический». Это создает концепцию, более сложную, чем составляющие ее части, – совсем как с Джедвардом.[27]27
  Джедвард (Jedward) – ирландский поп-дуэт братьев-близнецов Джона и Эдварда Граймсов (оба род. 1991) (прим. ред.).


[Закрыть]

Два хорошо известных линейно-логарифмических алгоритма – сортировка слиянием, изобретенная Джоном фон Нейманом в 1945 году, и быстрая сортировка, придуманная Тони Хоаром в 1959 году. Метод 2 для Чарли сходен с сортировкой слиянием. Этап разделения соответствует раскладыванию пачек конвертов на отдельные кучки. А этап обратного слияния – сравнению и совмещению этих пачек. На последнем этапе в первый раз у нас остается набор двух упорядоченных групп. Во второй раз мы получаем уже четыре упорядоченные группы. В случае с Чарли процесс будет выглядеть так:



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



И все же метод 2 – лучший выбор исходя из увеличения скорости, которого он позволяет достичь. Преимущество Чарли в том, что у него всего 33 пачки конвертов для сортировки. Любой метод спасет его от недельных страданий из-за обожженной кожи. Если бы у него было больше конвертов, то скоростной метод 2 оказался бы более предпочтителен, и Чарли, несомненно, извлек бы пользу от знания, как быстрее сортировать почту. Ну, а пока он заканчивает свой рабочий день.



ЗАВЕРШАЯ РАЗВОЗКУ ПОЧТЫ, ЧАРЛИ СЧАСТЛИВ КАК НИКОГДА: СЕГОДНЯ ОН УЗНАЛ КОЕ-ЧТО НОВОЕ. «ВЕЗДЕ ЕСТЬ МЕСТО ДЛЯ ОТКРЫТИЙ, – ГОВОРИТ ОН СЕБЕ, – ДАЖЕ ТАМ, ГДЕ НЕ ОЖИДАЕШЬ».


ПОЛЬЗУЙТЕСЬ НА ЗДОРОВЬЕ. ТОНИ ХОАР. ИЗОБРЕТАТЕЛЬ МЕТОДА БЫСТРОЙ СОРТИРОВКИ

Внимание! Это не конец книги.

Если начало книги вам понравилось, то полную версию можно приобрести у нашего партнёра - распространителя легального контента. Поддержите автора!

Страницы книги >> Предыдущая | 1 2
  • 0 Оценок: 0

Правообладателям!

Данное произведение размещено по согласованию с ООО "ЛитРес" (20% исходного текста). Если размещение книги нарушает чьи-либо права, то сообщите об этом.

Читателям!

Оплатили, но не знаете что делать дальше?


Популярные книги за неделю


Рекомендации