Хакни рутину. Как алгоритмы помогают справляться с беспорядком, не тупить в супермаркете и жить проще - [15]
9
Как починить ожерелье?
Джо – независимая ремесленница. Она продает свои поделки на рынке в Нью-Мехико, или на Индейском рынке, как его часто называют на рекламных плакатах. Много лет она страдает от ревматоидного артрита, поэтому ей все труднее зарабатывать на жизнь. Ее работа связана с ручным трудом: она изготавливает на заказ ожерелья с именами. Прилавок Джо расположен рядом со входом на рынок, и она убеждает каждого посетителя, что лучший подарок, который можно купить на рынке, это ожерелье с именем любимого человека или своим собственным.
Маленькая девочка поддалась на ее уговоры. «Меня зовут Жаклин», – говорит она. Джо приступает к работе, нанизывая бусины на простой кусок шпагата, к которому на концах приклеивается застежка. Она отдает законченную вещь девочке, но та мотает головой. Ей не нравится ожерелье. «Простите, но в моем имени две буквы «к». Разве вы не знали, что детям теперь модно давать оригинальные имена?» Бедная Джо!
В главе 1 мы говорили о массивах как о способе хранить группы элементов, которые могут быть быстро просмотрены в линейном времени. А в главе 3 мы узнали, что есть алгоритмы для выполнения заданий, на которые уходит постоянное количество времени независимо от величины задания. Сейчас мы поговорим об алгоритме, который концентрируется на возможности добавлять и удалять элементы в любых точках и за постоянное время. Для начала давайте рассмотрим два способа, при помощи которых Джо может исправить ожерелье Жаклин.
ЦЕЛЬ: ДОБАВИТЬ ШАРИК С ПРОПУЩЕННОЙ БУКВОЙ НА ОЖЕРЕЛЬЕ.
МЕТОД 1: РАССТЕГНУТЬ ОЖЕРЕЛЬЕ, УДАЛИТЬ ВСЕ БУСИНЫ, ПОКА НЕ ДОБЕРЕШЬСЯ ДО БУКВЫ «К» ИЛИ «Л». ДОБАВИТЬ ПРОПУЩЕННУЮ БУКВУ, НАНИЗАТЬ ОСТАЛЬНЫЕ БУСИНЫ.
МЕТОД 2: РАЗРЕЗАТЬ ОЖЕРЕЛЬЕ МЕЖДУ БУКВАМИ «К» И «Л». ВСТАВИТЬ БУКУ «К» НА ЛЮБОЙ ИЗ ОТРЕЗКОВ. СКРЕПИТЬ ШПАГАТ КЛЕЕМ.
У массивов есть недостатки – элементы, которые появляются рядом друг с другом, так же рядом и хранятся в памяти. Если возникает необходимость вставить новый элемент между двумя другими, мы не можем сделать это просто так: нам придется сдвинуть все элементы, расположенные после этой точки, чтобы освободить место для нового. Так поступают в соответствии с методом 1. Джо нужно по очереди удалить бусины с любого конца ожерелья, пока она не доберется до места, где должна стоять дополнительная бусина. Потом она нанизывает ее на шпагат и ставит на место все остальные. Процесс займет вдвое больше времени, если имя заказчика будет длиннее в два раза.[38]
Новизна метода 2 состоит в том, что кусок шпагата может быть разрезан в любой точке и затем связан или склеен. Это важное свойство шпагата, потому что – и в этом мы сейчас убедимся – оно позволяет нам устранить главный недостаток массивов, в которых добавление или удаление элемента означает высокие трудозатраты. До определенного момента метод 1 может оказаться лучшим: чего стоит удаление одной-двух бусин по сравнению с разрезанием шпагата и связыванием двух концов? Но вряд ли его преимущество сохранится, если в ожерелье окажется больше бусин.
В информатике существует структура, которая проявляет именно это свойство, и вот как она выглядит:
У нас есть группа элементов, но мы больше не ограничены необходимостью хранить их рядом друг с другом. Вместо этого каждый элемент в группе просто указывает на другой, стоящий рядом с ним. Эта связь, или же ссылкамежду каждой парой элементов, очень похожа на шпагат Джо. И теперь, если мы хотим добавить элемент, нам не нужно больше освобождать для него место. Мы можем просто видоизменить соответствующие ссылки. То же самое относится и к удалению элементов.
Эта структура, разработанная еще в 50-е годы, известна под названием связный список. Она стала основой для многих приложений в вычислительной технике из-за ее эффективности при вставке и удалении элементов из группы в заданной точке. Например, в главе 8 мы упомянули, что принтер может ставить задания в очередь, хранить их в списке и решать, поместить ли менее объемные задания перед другими. Эффективным способом для этого будет создание очереди с использованием связного списка.
По-прежнему следует помнить, что мы концентрируемся на фундаментальных операциях. Есть и другие операции, такие как поиск элемента, который мы хотим добавить после нового. В большинстве случаев время, затраченное на поиск этого элемента как в массиве, так и в списке, будет одинаковым.
Другое приложение – текстовый редактор. Он выбирает, представить ли текст в документе через сохранение его в виде строк в связном списке. Тогда, передвигая строчки или добавляя новые между уже имеющимися, программа просто меняет ссылки на строки, а не физически передвигает их в памяти. Деталь, которая восхищает нас больше всего, – ссылки идут один раз, от каждого пункта к следующему.
В некоторых случаях, как в примере с текстовым редактором, строка выигрывает не только от знания того, какая строчка идет за ней, но и от того, какая стоит перед нею. Когда курсор находится на конкретной строке и мы двигаем его наверх, наш редактор следует по ссылке к предыдущей строке, а не возвращается к началу связного списка (известного как
В монографии представлено широкое осмысление такого многогранного явления, как потребительская культура. Поскольку исследуемый тип культуры накладывает серьезный отпечаток на различные сферы бытия современного человека и общества, автор для целостного описания и объяснения особенностей потребительских тенденций обратился к данным философии, культурологии, политологии, истории, социологии, экологии, глобалистики и др. Опираясь на такой богатый (и необходимый для глубокого раскрытия темы) охват, монография раскрывает особенности потребительских тенденций в сферах образования, экологии, экономики, политики, искусства, образа жизни, быта.Монография адресована философам, социологам, культурологам, политологам, всем, кто интересуется проблематикой консьюмеризма.
Трудно отыскать современного жителя планеты, который не знает, как джедаи желают друг другу удачи. С фразой «Да пребудет с тобой сила!» мы осознаем, насколько широкое распространение получила сага. И вышло это не случайно. В легендарном кино зритель наблюдает целый калейдоскоп событий, вечную борьбу добра и зла и долгожданный триумф добра. И, как ни странно, каждый из нас находит себя в истории «Звездных войн», невольно проводя параллели с тем или иным персонажем. С книгой, которую вы сейчас держите в руках, вам предстоит совершить увлекательное путешествие в тайны глубинного подсознания, вспомнить самые яркие моменты звездной саги и разобраться во всем, что до сих пор оставалось загадкой.
Связи решают все! Если вы до сих пор не можете справиться с какой-то сложной задачей, значит, у вас просто нет связей, которые могут в этом помочь. А следовательно, пора расширять свою сеть контактов! Из этой книги вы узнаете, где и как лучше заводить деловые знакомства, как устанавливать полезные связи на различных мероприятиях, как поддерживать и развивать бизнес-контакты. Книга обязательна для бизнесменов, руководителей, а также для всех, кто хочет добиться успеха с помощью полезных связей.
Эта книга о том, как перестать зависеть от чужого мнения и, оставаясь самим собой, владеть языком тела и сохранять уверенность в себе, что бы ни случилось. Она о том, как установить подлинную, глубокую связь с другими людьми, ощутить себя всесильным и начать радоваться жизни в полной мере.«Помните, что мы стремимся не к власти над другими, а к власти над собой, то есть свободе от чужой власти». Эми Кадди.
Мы все критиковали свою страну – СССР. Критиковали, как дети критикуют действия своих родителей.После того, как на место бывших социалистических систем пришли капиталистические, люди вкусили эти «прелести». И сейчас многое ранее далекое стало до ужаса близко. До этого нам не с чем было сравнивать. Мы выросли под спокойным крылом позднего социализма и думали, что «где-то там» лучше. Мы думали, как перестроить здание, а снесли фундамент, основу.И вот сейчас мы, люди, пожившие в разных системах, представляем бесценный опыт для мировой мысли устройства лучшего общества.Я думаю, что спор о социализме не окончен.
Учитывая мнение читателей предыдущих двух книг из предполагаемой серии "Практическая психология для всех", автор ставит цель — помочь людям осознать и изменить неудачные, малоэффективные модели поведения, дать им средства психологического анализа и саморегуляции, научить их, как сделать свою собственную жизнь и жизнь своих близких счастливой, на примере разных судеб четырех женщин.Книга доступна и интересна для всех, кто стремится к благополучию, успеху и процветанию и ищет средства достижения этого.
Вы когда-нибудь испытывали жгучие приступы зависти к блогерам, знакомым, друзьям или даже близким? С развитием социальных сетей, созданием «личных брендов» и видимости идеальной жизни зависть превратилась в эпидемию, которая разрушает нас и наши контакты с людьми. Но поверьте – это можно исправить! Люси Шеридан, первый в мире консультант о преодолении зависти, доступно и позитивно рассказывает о том, как справиться с пагубной одержимостью чужим мнением, перестать вести мысленное соперничество с другими и расстраиваться из-за людей, которые в чем-то успешнее вас.
Наверное, для вас не станет открытием, что «каждый из нас уникален». Ведь это утверждение давно закрепилось в вашем сознании. Настолько крепко, что вы зачастую забываете о нем либо не воспринимаете его всерьез. Перед вами книга, которая заставит вас поверить в себя! Автор убежден, что для этого потребуется всего 6 минут в день. Разного рода упражнения помогут читателю разобраться в себе и очистить свое сознание от всего лишнего; научат самоуважению и поднимут самооценку. Единственное условие, которое необходимо соблюдать, – постоянство.
Синдром самозванца – относительно новое, но весьма распространенное явление, которому подвержены как молодые, так и пожилые мужчины и женщины, всемирно известные личности, карьеристы и обычные люди, считающие себя плохими партнерами, родителями или друзьями. К сожалению, все мы в тот или иной период времени перестаем верить в собственные силы и компетентность, что, в свою очередь, сказывается на нашей учебе, работе или отношениях. Эта книга – первый шаг в борьбе с низкой самооценкой. Представленные в ней результаты научных исследований, тесты и примеры из психологической практики помогут осознать причины неуверенности в себе, а конкретные методики и эффективные советы позволят избавиться от нее навсегда.
У каждого есть Предназначение. Не следовать ему – самое большое преступление. Отсутствие четкого понимания своего пути делает людей несчастными и бедными. Александр Рей – практикующий психолог и просто счастливый человек. Он написал книгу-тренинг «Предназначение» для того, чтобы без пустых теорий и рассуждений помочь вам осознать свою миссию и немедленно приступить к ее осуществлению.