Как говорится, без теории никуда.
Недавно мне посоветовали для изучения книгу Problem Solving with Algorithms and Data Structures Using Python авторов Брэда Миллера и Дэвида Рэнума, Luther College. Ее можно (и нужно) читать в оригинале всем кто действительно хочет стать толковым программистом. Ибо в книге хоть и используются примеры на языке Python, но даны и основы программирования:
• обзор понятий “информатика”, “программирование” и “решение задач”.
• понять, что значит “абстракция”, и какую роль она играет в процессе решения задач.
• понять и воплотить идею абстрактного типа данных.
• обзор языка программирования Python.
• понять, что значит “абстракция”, и какую роль она играет в процессе решения задач.
• понять и воплотить идею абстрактного типа данных.
• обзор языка программирования Python.
Там же подробно описаны популярные нынче сортировки данных, рекурсия, построение графов и деревьев.
Если вашего уровня английского языка не хватает для вразумительного чтения то перевод учебника Problem Solving with Algorithms and Data Structures Using Python находится здесь.
Автор перевода предлагает для начала склонировать репозиторий:
git clone git@github.com:aliev/runestone.git
Что бы все заработало, очень важно настроить виртуальное окружение. Чтобы не засорять собственную систему, вы можете в директории с репозиторием создать виртуальное окружение .env
Создать виртуальное окружение можно командой:
virtualenv .env
Предварительно установите пакет python-virtualenv (если вы работаете в Debian based дистрибутивах).
Сборка всех книг, включенных в проект осуществляется командой:
paver allbooks
в корне проекта.
Все сборочные образы книг в формате html включая изображения и необходимые для интерактивной работы скрипты появятся в директории static. Каждая из книг соответствует директории с названием книги.
Вы всегда сможете прочесть учебник онлайн, или скачать готовый архив.
Скачать архив учебника можно отсюда: https://github.com/aliev/runestone/archive/gh-pages.zip
Для чтения онлайн книга доступна по адресу: https://aliev.github.io/runestone/
Успехов.