Что почитать об эффективном программировании/алгоритмике?
Я не профессиональный программист и не знаю ни одного "языка", но на досуге занимаюсь написанием небольшой ВН-ки. Вчера я пытался написать максимально упрощённую версию "21" для использования в качестве мини-игры и около часа тупил над условным ветвлением, пытаясь понять учёл ли я все возможные исходы игры (при том, что в игре, по сути две переменные). В итоге вспомнил о существовании else if и вместо вложенных условий использовал последовательный перебор, но задался двумя вопросами:
- Является ли это оптимальным вариантом и как разумно строить условное ветвление при большем количестве переменных?
- Почему я тупил над задачкой с двумя переменными целый час и как поумнеть?
В общем мне стало интересно есть ли какая-нибудь литература, популярно рассказывающая о логике построения алгоритмов для людей, в программировании не шарящих? Желательно на русском.
P.S. Если подскажете еще и некий аналог "Мышление для чайников" будет вообще здорово.