Посоветуйте книги по алгоритмам для C#
Всем привет.
Ребята подскажите, хорошие книги по алгоритмам и структурам данных для начинающих в C#. Желательно на русском языке, с англ пока не очень))
Спасибо.
Всем привет.
Ребята подскажите, хорошие книги по алгоритмам и структурам данных для начинающих в C#. Желательно на русском языке, с англ пока не очень))
Спасибо.
Загугли товарища Сэджвика. Две книги есть у него — с примерами на С++ и на Джаве. Обе есть в переводе. Пишет он на редкость хорошо, излагает сложные материи буквально на пальцах.
А то что не те языки — так тебе будет только в плюс переложить примеры с одного объектного языка на другой. Лучше в голове отпечатаются.
PS На «Кодерка» не обращай внимания, это местный форумной неадекват.
Спасибо, я просто для начала хочу немного в голове структурировать эту тему, не углубляется прям до конца, потому что я так и язык забуду))) это уже когда будет там уровень мидла наверное, и задачи сложнее, тогда больше этому удилять время)
Спасибо, я просто для начала хочу немного в голове структурировать эту тему,
Ты почитай сначала, прежде чем такие выводы делать.
В любом случае — язык вторичен, главное, чтобы в голове все укладывалась в правильном порядке. Сэджвик один из немногих который умеет это делать.
я так и язык забуду
Что ты забудешь? Везде одинаковые форы, ифы, функции и присваивания. На уровне разворота строки и пузырьковой сортировки ты вобще не увидишь разницы
Эти адекваты тебе насоветуют. :) Просидишь вечным июнем в рогах и копытах за «спасибо» до пенсии. Зато без английского.
С другой стороны, не будешь адекватам конкуренцию на рынке создавать — и то хлеб. А то у них самих, английский в стиле «моя твоя не понимай», того и глядишь попросят...
Так я ж не говорю забить на англ)) просто учить не все сразу) я думаю это правильное мнение)
Ну как говорят, сколько людей столько и мнений.
Не хочешь всё сразу — учи английский, в начале.
Аксиома тут такая: c aнглийским (без алгоритмов) у тебя есть шансы устроиться кодерком в что-либо стоящее (где смогут платить). Без английского шансов нет, хоть алгоритмами обчитайся...
программирование > английский > алгоритмы
с джунов английский не требуют, как и алгоритмы
Как раз джунам и задают такие вопросы про поиск в глубину на бумажке итд
В чому взагалі проблема? Кнут і Кормен є у перекладі. Для шарпу нема окремих алгоритмів, вони можуть бути у окремих галузях знань, а база всюди одна.
Я уже знаю что нет отдельных алгоритмов для шарпа, я просто спросил какие книги и авторы рассказыать максимально просто и понятно для человека который входит в ИТ.
А какая цель? Для человека, который входид в IT достаточно понимать, что все алгоритмы реализованы в стандартных контейнерах C#. Ну и дальше надо уметь этим пользоваться...
Якщо принципово російською і з прикладами на C# то:
itvdn.com/...d-data-structures-renewed
Але курс платний і не дуже об’ємний.
На сторінці курсу (див. вище) є посилання «Скачать материалы»
C# и всякие там алгоритмы без английского — это время, выброшенное на ветер.
Лучше уж, это время с болъшей пользой потратить — посторожить чего или там поразгружать...
Не согласен)
Я думаю, что на позицию джуна, можно с минимальным пробовать англ. конечно это в плюс не пойдёт на собеседовании, но, если с желанием и горящими глазами, то будет успех! И понятное дело, что учить и учить.
Или на собеседованиях требуют что б англ был «як пісня лине, як ластівочка щебета»??)!
И понятное дело, что учить и учить.
А как учить? Eсли у вас, вместо самого элементарного (чтение технической литературы на английском) — «Желательно на русском языке, с англ пока не очень».
С таким учением — в «рога и копыта», джуном забесплатно. И так, насовсем. В общем, сторожить — всяко денежнее будет....
Я прекрасно понимаю, что вся лучшая литература и сайты на англ языке, где можно найти всю информацию по решению многих вопросов. Но, выучить и понять можно на русском.
А первая работа уже дело случая.
Главное желание, и терпение!
Терпением и труд — все перетрут!
Отож. Потому, не ограничивайте себя языком ордынских дикарей. А пользуйтесть возможностью убивать сразу
Если заниматься не так, а расставлять приоритеты — тогда забить на C# и алгоритмы и прокачивать английский.
С другой стороны, алгоритмы на c# и на английском — называется «заниматься всем подряд одновременно» лишь у тех, кто со слабым мозгом. Что таким делать в ИТ?
Если заниматься не так, а расставлять приоритеты — тогда забить на C# и алгоритмы и прокачивать английский.
и пойти учителем английского в школу в конце :)
С другой стороны, алгоритмы на c# и на английском — называется «заниматься всем подряд одновременно» лишь у тех, кто со слабым мозгом. Что таким делать в ИТ?
это 3 разные задачи, а образованные люди знают что человек не способен одновременно выполнять эффективно даже две задачи, в которых необходима сосредоточенность, обучение практически невозможно в таком случае — кратковременная память вайпается и практически ничего не перейдет в долговременную
и пойти учителем английского в школу в конце :)
Всё толку больше будет, чем недо-кодерком без английского, работающим за «спасибо» в рогах и копытах.
образованные люди знают что человек не способен одновременно выполнять эффективно даже две задачи
Освоение алгоритмов, c практикой на c# и всё это на английском — это не 3, а 1 задача.
А потом, если мозг такой недоразвитый, что не справится с 3 разными (т.е. реально разными) задачами — что делать в ИТ? Там такой некрепкий мозг окончательно выжмут за первые же полгода — после чего, будет чел ходить по улицам с мягким мозгом и улыбаться...
Освоение алгоритмов, c практикой на c# и всё это на английском — это не 3, а 1 задача.
сразу видно что кто-то только английский учил =)
это 3 разные задачи, а образованные люди знают
Чувак «эти 3 разные задачи» и есть та самая работа на которую чувак якобы собирается подписаться.
да, все нужно, но последовательно, а не параллельно, а если знаний во всех 3х задачах нет, то выглядит вообще малореально параллельно ими заниматься
Эти слова мне больше нравятся)
Я почти так и делаю)
Язык немного освоил, готовлюсь в собеседованию, поэтому и алгоритмы хочу хоть немного разобрать, а англ каждый день слушаю аудио/видео. Просто на курсы пока не получается ходить, но обязательно пойду.
Если хочешь действительно выучить и запомнить на долго, то надо практика хорошая
Практикуй сразу на leetcode.com и www.hackerrank.com/dashboard
Там тебе и видосик и текст простенький собьяснением нужной структуры и алгоритма и задача сразу с тестами чтобы не присунул что попало и все это легко делается на C#.
А если просто почитать книгу то скукота смертная эти алгоритмы особенно если они написаны на хрен знает каком псевдо языке, у меня этих книг вагон и мальнькая тележка, а вот зацепило только когда начал задачки делать.
Спасибо за ссылки! Еще есть www.codewars.com , только там нет объяснений структур и алгоритмов, но интересно потом смотреть на лучшие (оптимальные) решения других юзеров
Запрос звучит несколько странно. Абсолютное большинство хороших книг по алгоритмам и структурам данных содержат в себе псевдокод, да даже если написано на чем-то другом, отличие одного языка от другого будет в мелочах, которые изучаются за два дня.
В общем возникает вопрос — зачем? Если на галеру, то джуну хватит статей на хабре по структурам данных/простейшим сортировкам и то, алгоритмы разве что для прохождения собеса. Если под стажировку в мелкософт, то нет особого смысла задалбывать структуры данных, если с английским не очень. Если для какого-то абстрактного самообразования, то опять таки без английского это будет бесполезно.
Говоря о хороших книгах — по структурам можно выборочно почитать первый том Кнута, не вдаваясь в глубокие дебри плюс по структурам данных по-моему дает представление книга по подготовке к экзамену
В привязке к C# можно еще покурить сорсы структур данных с мсдна. Вот например, реализация стека referencesource.microsoft.com/...stem/collections/stack.cs
В плане алгоритмов сортировок, если тяжело понять, как это работает, можно посмотреть визуальные реализации, как здесь visualgo.net/bn/sorting?slide=1
для собеседования надо, как джуну, что б если что немного хотябы понимать что спрашивают)
Я понимаю в дебри лезть, то я и C# забуду)) все будет приходить с практикой и опытом)
Спасибо за ответ!
Я бы рекомендовал сначала как следует выучить основы языка, во избежание лишнего велосипедостроения (вроде для шарпа Троелсен рулит). А потом уже начать разбираться с алгоритмами и структурами данных (можешь послушать курс на Prometheus, из не-англоязычных он довольно хороший; параллельно заглядывай в книгу Кормена за деталями) — и имплементить эти вещи самостоятельно по описаниям и псевдокоду.
По-моему, для первичного ознакомления с данными темами такой подход будет куда полезнее, чем разбирать готовые чужие реализации.
Спасибо! Реально хорошая мысль) но как я понимаю, на собеседование могут что то спросить про это, хотя бы для понимания того, понимаю ли я что это...!?)
Попробуйте вот этот курс: edx.prometheus.org.ua/...thms101/2015_Spring/about. Я проходил давно, но мне понравилось больше, чем на Coursera. Могу даже сбросить Вам решения на C#, но лучше сделать все самому...
Алгоритмы не то, что бы были сильно зависимы от языка. Минимум от парадигмы. ПО структурам данных норм Шилдт.
54 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів