Должен ли начинающий программист понимать все алгоритмы сразу? например Сортировка массивов методом Хоара
его надо сразу сходу понимать или это необязательно ?
Java
Должен ли начинающий программист понимать все алгоритмы сразу ?
Обучение программированию - это и есть обучение пониманию алгоритмов. Не зазубриванию, а именно пониманию.
Нет, с ходу не надо. Но вдумчиво разобраться, как работает быстрая сортировка, необходимо. Разумеется, если ты хочешь быть именно программистом, а не кодером, бездумно вызубрившем пару десятков стандартных приёмов.
А все алгоритмы знать в принципе невозможно: посмотри, сколько уже томов и дополнительных выпусков в "Искусстве программирования" Кнута - это всё описания алгоритмов.
Нет, с ходу не надо. Но вдумчиво разобраться, как работает быстрая сортировка, необходимо. Разумеется, если ты хочешь быть именно программистом, а не кодером, бездумно вызубрившем пару десятков стандартных приёмов.
А все алгоритмы знать в принципе невозможно: посмотри, сколько уже томов и дополнительных выпусков в "Искусстве программирования" Кнута - это всё описания алгоритмов.
Я не начинающий, но не знаю про Хоара :) Я пишу на PHP, так что просто делаю sort(). На JS аналогично. У меня не бывает задач на сортировку миллионов элементов, где нужно было бы повышать эффективность за счёт самописных алгоритмов.
лучший способ понять алгоритм сортировки - попробовать выполнить сортировку самому.
обычно я три раза делил тетрадный лист пополам, получал 8 маленьких листочков и соответственно их нумеровал.
произвольно перемешав пытался применять шаги алгоритма, пока не получал 1, 2, 3, 4, 5, 6, 7, 8.
в сети много пошаговых описаний для самых различных алгоритмов сортировок.
Хоара
http://www.firststeps.ru/theory/knut/r.php?7
Шелла
http://www.firststeps.ru/theory/knut/r.php?5
обычно я три раза делил тетрадный лист пополам, получал 8 маленьких листочков и соответственно их нумеровал.
произвольно перемешав пытался применять шаги алгоритма, пока не получал 1, 2, 3, 4, 5, 6, 7, 8.
в сети много пошаговых описаний для самых различных алгоритмов сортировок.
Хоара
http://www.firststeps.ru/theory/knut/r.php?7
Шелла
http://www.firststeps.ru/theory/knut/r.php?5
Когда понадобится тогда и чухайся (последний раз трогал сортировку три года назад когда хадуп кластер пердолил). Нечего голову малонужной информацией забивать.
Кодер - тот который по алгоритму, по четкому заданию пишет (кодирует) программу, а вот программист - это тот который придумывает, базируясь на своих (чужих) знаниях, максимально эффективный код программы. Короче есть художник, есть ксерокс.
Похожие вопросы
- Сложность алгоритмов. Теория алгоритмов. Программирование
- что почитать начинающему java программисту?
- Java, алгоритмы и структуры данных.
- Почему программисты нелюбят других прогеров и как этому противостоять?
- Калькулятор работает за счет Булевой логики. Вопрос -как? Как устроен алгоритм. Я не понимаю.
- Выбрать ли мне профессию Программиста?
- как думаете в России нужна ли такая профессия как программист?
- Paint. Применяемые алгоритмы и структуры данных.
- Востребованы ли программисты на android на текущий момент времени?
- Программисты, скажите, я имею право считать себя программистом или нет?)