Готовимся к кодовым вызовам [закрыто]


15

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

Итак, как подготовиться к таким вызовам (особенно сложность времени и пространства O (x)). Что я должен прочитать, чтобы подготовиться к такой задаче?


Я изучаю Haskell в последнее время частично , чтобы заставить мой мозг искажать (он будет заставлять это) специально , чтобы помочь стать более гибкими в придумывая решения. Тем не менее, я также читаю Руководство по проектированию алгоритмов (существует бесплатный онлайн-файл pdf) и копию «Искусство компьютерного программирования» Том 1 «Основные алгоритмы» от Кнута (которая также является серьезным источником головной боли) для этой же цели. ,
Джимми Хоффа

Ответы:


3

как подготовиться к таким вызовам (особенно сложность времени и пространства O (x)). Что я должен прочитать, чтобы подготовиться к такой задаче?

По готовимся конечно! Это вопрос практики и ускорения в тех областях, в которых вы чувствовали недостаток. Слава Богу, в интернете есть неплохие ресурсы, чтобы покрыть информационные недостатки, и Google - ваш друг.

Что касается ссылок, я бы посоветовал нескольким веб-сайтам, у которых есть вопросы для программистов. По этим типам вопросов вы можете определить свои недостатки и изучить их.

Ресурсы посмотреть:


7

Единственное, что вы можете сделать, чтобы подготовиться к таким испытаниям, - это практика. Практикуйтесь много . Есть много хороших ресурсов для помощи программистам, таких как topcoder, codegolf, вундеркинды для гиков, программирование Praxies, CodeKata, Project Euler и т. Д.

Если у вас есть проблемы со структурами данных, было бы лучше, чтобы вы освежили свой алгоритм и концепции структуры данных. Лучшее место для этого - это Википедия, но вы также можете поискать курсы по альтернативным данным на nptel, coursera и т. Д.


Я больше искал такие ресурсы, как книги, но некоторые из ваших ссылок были новыми и информативными.
Даниэль Фат

1
@DanielFath: чтение об этом помогает, но решение проблем - это искусство, которое нужно практиковать, если ты хочешь стать хорошим в этом. В мире написания программного обеспечения существует множество проблем, с которыми вы будете сталкиваться неоднократно. Опыт их решения позволяет вам находить новые варианты и быстро применять хорошее решение.
Blrfl

Я согласен с практикой во многом, я просто выражаю желание более конкретных ресурсов, чтобы считать вопрос решенным. Я проголосовал за ответы (черт возьми, я проголосовал за все из них).
Даниэль Фат

4

Полуофициальные сообщения в блоге о наборе Google рекомендуют эту книгу: Руководство по разработке алгоритмов .

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.