Добрый день! Я понимаю что подобные вопросы задаются тут ежедневно по миллиону раз и моя ситуация ничуть не уникальна, но все же рискну задать вопрос. Оборону от летящих тапок я уже построил)
Тем не менее к теме. Я работал около 1,5 года в компании, специализирующейся на microsoft dynamics CRM. Работа была странной, проектов было мало, а те что были - скучные. Для себя решил уйти в мобильную разработку под iOS (о чем я тут уже спрашивал), ну и собственно подкопив денег на еду и прочее - уволился, дабы разобраться уже наконец с курсовыми в университете и начать "новую" жизнь. Вчера я сидел и изучал алгоритмы - О-символику, рост функций. Элементарные структуры данных вроде стека, очереди списка я уже знаю. В процессе чтения литературы, просмотров видео и решений задач встал резонный вопрос - а стоит ли тратить сейчас на это бОльшую часть времени? Нет, я конечно понимаю что алгоритмы это суперважно, но так ли важно изучать рост функций и анализ алгоритмов прямо сейчас? Или стоит углубиться в objective-c - написать пару приложений и найти работу? А алгоритмы оставить на "выходные/вечер"? Дискретную математику я подтянул - множества, графы и остальные подразделы дискретки я изучал, пока работал в CRM. Параллельно читаю Макконнела и банду четырех. Подскажи пожалуйста, куда мне вложить все силы именно сейчас.
HaruAtari: От нервов можно попить ромашку. А вообще у меня вполне конкретный вопрос и меня это сейчас очень сильно волнует. Я не хочу потратить сейчас кучу времени не совсем в ту область. Конкретно таких ситуаций как у меня - нет. Я же не прошу нагуглить за меня материал. Всего лишь спросил совета более опытных людей - стоит ли СЕЙЧАС тратить время на алгоритмы.
а стоит ли тратить сейчас на это бОльшую часть времени?
Если вы идете в iOS разработку то нет. Ну то есть как, почитайте конечно, но не концентрируйте на этом внимание на данном этапе. Работа с большими объемами данных на клиенте это относительно редкий кейс (особенно для начинающего) а на малых данных в этом нет смысла.
Хватит простого понимания почему сортировать большие массивы вставками лучше чем пузырьком, а так же как работают основные структуры данных (стэк, список, очередь, хэш-таблица) и когда их лучше применять.
Вкладывай в изучение языка/платформы. Алгоритмы по выходным/вечерам в процессе работы. Алгоритмы, безусловно, важно, но не так часто их применяются в приложениях (зависит, конечно, от приложения), но в общей массе.
А может сплясать от печки? =) Какая конкретная цель? Вы хотите устроиться в компанию с интересными проектами? Ну так выберете какую-то конкретную, посмотрите, а лучше спросите у самой компании, кто им нужен, какие навыки требуются, что делать и вперед, тренироваться.