--- comments: true icon: material/rocket-launch-outline --- # Введение Несколько лет назад я поделился на LeetCode серией решений задач "剑指 Offer", что получило много поддержки и одобрения от читателей. В процессе общения с читателями самым частым вопросом был "как начать изучать алгоритмы". Постепенно я заинтересовался этим вопросом. Слепое решение задач кажется самым популярным методом — простым, прямым и эффективным. Однако решение задач похоже на игру в "сапёра": люди с сильными способностями к самообучению могут успешно обезвредить все мины одну за другой, в то время как те, у кого недостаточно базовых знаний, могут получить множество ударов и отступить под натиском неудач. Чтение учебников также является распространённой практикой, но для тех, кто ищет работу, дипломная работа, рассылка резюме, подготовка к письменным и устным экзаменам уже отнимают большую часть энергии, и изучение толстых книг часто становится сложной задачей. Если вы также сталкиваетесь с подобными трудностями, то вам повезло, что эта книга "нашла" вас. Эта книга — мой ответ на этот вопрос, и даже если это не оптимальное решение, то, по крайней мере, это активная попытка. Хотя эта книга не поможет вам сразу получить оффер, она поможет вам исследовать "карту знаний" структур данных и алгоритмов, познакомит вас с формой, размером и расположением различных "мин", научит вас различным "методам разминирования". Обладая этими навыками, я верю, что вы сможете более уверенно решать задачи и читать литературу, постепенно выстраивая полную систему знаний. Я полностью согласен со словами профессора Фейнмана: "Knowledge isn't free. You have to pay attention." В этом смысле эта книга не совсем "бесплатна". Чтобы не подвести ваше драгоценное "внимание", уделённое этой книге, я приложу все усилия и максимум "внимания" для создания этой книги. Я осознаю свои ограниченные знания и опыт, и хотя содержание книги прошло определённую шлифовку, в нём наверняка всё ещё есть много ошибок. Прошу всех преподавателей и студентов критиковать и исправлять. { class="cover-image" }