Что почитать об эффективном программировании/алгоритмике?

Что почитать об эффективном программировании/алгоритмике?

Я не профессиональный программист и не знаю ни одного "языка", но на досуге занимаюсь написанием небольшой ВН-ки. Вчера я пытался написать максимально упрощённую версию "21" для использования в качестве мини-игры и около часа тупил над условным ветвлением, пытаясь понять учёл ли я все возможные исходы игры (при том, что в игре, по сути две переменные). В итоге вспомнил о существовании else if и вместо вложенных условий использовал последовательный перебор, но задался двумя вопросами:

- Является ли это оптимальным вариантом и как разумно строить условное ветвление при большем количестве переменных?

- Почему я тупил над задачкой с двумя переменными целый час и как поумнеть?

В общем мне стало интересно есть ли какая-нибудь литература, популярно рассказывающая о логике построения алгоритмов для людей, в программировании не шарящих? Желательно на русском.

P.S. Если подскажете еще и некий аналог "Мышление для чайников" будет вообще здорово.

3030 показов
1.3K1.3K открытий
59 комментариев

Зависит от того, что в понимаете под эффективным программированием.
Если быстром, то вот, наверное один из наиболее объемных трудов. https://www.ozon.ru/product/algoritmy-postroenie-i-analiz-33769775/?sh=G4IZwQAAAA

Если работаете в команде, то вот это будет не лишним (тут скорее о практиках написание понятного и простого кода, кстати ваш вариант с ветвлением может как раз тут рассматриваться)

https://www.ozon.ru/product/sovershennyy-kod-master-klass-makkonnell-stiv-221777342/?asb=P71aqJAeXVudKINvSsIFhzIHewomuQFahcOzbVY1S60%253D&asb2=hjkRlAyZRhqfrpaL56PTmJ1rcFgbR2l2JAsY_7CjSP2gK8WlTmGuloGuAqlzkIAp&keywords=совершенный+код&sh=G4IZwQAAAA

И вот это

https://www.ozon.ru/product/patterny-obektno-orientirovannogo-proektirovaniya-gamma-erih-helm-richard-gamma-erih-helm-richard-211432335/?asb=1ynr%252B4HpjTzph15gnFDJNviUsZgaDjI%252BSM6vmm3juRw%253D&asb2=wP4Ga6WBav21qXq_v0O5T_eU7WYkAjjZ6AfdVDGjma07ElhZsCcqVrJhXRqhNx7Y&keywords=паттерны+проектирования&sh=G4IZwQAAAA

Ответить

Он просит рогатку чтобы бить воробьев, а ты ему базуку предлагаешь, удивлен что ты ему Кнута не посоветовал

Ответить

Совершенный код без опыта достаточно большого разработки в компаниях не даст ровно нихуя, кроме как прочтение умной книги(она действительно хорошая), читал 5 лет назад и вроде и все понимаешь, но без маппинга на реальную разработку это все где то там далеко, читаю сейчас и какой же кайф уже со знанием дела читать, но читать ее на уровне не знаю вообще программирование это крайне мало эффективно, а времени она займет много, книга здоровая

Ответить

ну можно сразу это тогда. не прочитает, так как средство самозащиты пригодится

Ответить

Для быстрого входа по алгоритмам советую Грокаем алгоритмы, прикольная книга и я думаю, что в нее можно въехать и без ученых степеней по информатике, по крайней мере мне легко далось, но судить сложно, работаю программистом, как оно там будет, но наверное это наиболее легкий способ въехать.

Ответить

Это ты жёстко, конечно, набросил ему. Чтобы чел вообще больше не занимался программированием, понимаю.

Ответить

вспомнил о существовании else ifТут скорее не алогритмы нужны, а просто опыт написания кода и знание паттернов. Алгоритмы слишком абстрактны, чтобы быть полезными совсем новичку.

Ответить