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

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

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

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

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

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

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

2222
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

6
Ответить

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

17
Ответить

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

4
Ответить

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

2
Ответить

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

2
Ответить

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

Ответить

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

7
Ответить