LINUX.ORG.RU

Здравствуйте. Я хочу изучить программирование на питоне. Дайте пожалуйста список тем которые надо изучить

 , ,


2

4

и посоветуйте в каком порядке их учить. Да и еще темы нужны как по python так и по алгоритмам.



Последнее исправление: cetjs2 (всего исправлений: 2)

Поиск отменили?

sqq
()

можешь на checkio поиграть, там как раз онлайн игра про питон.

Silerus ★★★★
()

Копипаста про питон.txt

anonymous
()
Ответ на: комментарий от BceM_IIpuBeT

вот как раз не надо, лучше программирование, а уже потом питон.

Deleted
()

Либо питон либо программирование. Употреблять эти два слова вместе ошибочно.

Jetty ★★★★★
()

сначала изучить тему, почему питон не стоит использовать. потом выучить адекватный язык.

waker ★★★★★
()

Любая книжка. Ваш К.О.

Deleted
()
Ответ на: комментарий от waker

И тебя уважаю. Надо, все-таки, ТСа на истинный путь джедая С наставить!

anonymous
()

https://psoberoi.github.io/stepanov-civilization/canon.html#programming

на почти всё есть русские издания.

изучай нерусские языки ибо это поможет тебе увидеть те баги которые у тебя уже есть в мировозрении и заметить баги которые уже есть у тех чей язык ты изучаешь.

так же многие тексты(даже техническо-алгоритмического характера) в подлинике более информативны ибо многие нюансы понимания как автор алгоритма до ехал до своего алго обусловленны его автора тараканами.

так что первичные источники по возмножности их воспренять пользительны.

anonymous
()

open terminal

python3

help()

ctr^q

dir()

help(dir()[0])

дальше сам

anonymous
()
Ответ на: комментарий от Zodd

Если хочешь работать программистом - учи java, все остальное просто фигня и зря потраченное время. Сам потратил около двух лет на упорное изучение английского языка и java. Сейчас работаю программистом, опыт работы около 3 лет, зарплата 340 тыс.

anonymous
()

можно начать с http://pythontutor.ru/, но я бы советовала сразу начать что нють кодить. Всё познается в практике, а простая зубрешка ни к чему не приведет.

gssomi ★★
()
Поиск в массиве
1.1 Линейный поиск
1.2 Двоичный поиск
1.3 Троичный поиск
1.4 Интерполяционный поиск
Структуры данных
1.5 Массив
1.6 Стек
1.7 Очередь, двусторонняя очередь
1.8 Словарь
1.9 Хеш-таблица

Сортировки, анализ алгоритмов
2.1 Bubble sort (пузырьковая сортировка)
2.2 Merge sort (сортировка слиянием)
2.3 Quick sort (быстрая сортировка)
2.4 Bucket sort (блочная сортировка)
2.5 Heap sort (пирамидальная сортировка)
2.6 Insertion sort (сортировка вставками)
2.7 Counting sort (сортировка подсчетом)
2.8 Radix sort (порязрядная сортировка)
2.9 Timsort и другие гибридные алгоритмы сортировки

Рекурсия, математическая индукция
3.1 Хвостовая рекурсия
3.2 Обратная польская запись
3.3 Числа Каталана
3.4 Вычисление биномиальных коэффициентов
3.5 Метод градиентного спуска
3.6 Метод сопряженных градиентов
3.7 Принцип динамического программирования
3.8 Метод ветвей и границ
3.9 Методы Gradient boosting
3.10 Алгоритм Кадана
3.11 Поиск методом золотого сечения
3.12 Производящие функции
3.13 Запаздывающие генераторы Фибоначчи
3.14 Memoization
3.15 Корекурсия
3.16 Задача 3-SAT
3.17 Алгоритм фрактального сжатия
Структуры данных (рекурсивные)
3.18 Список
3.19 Дерево
3.20 Граф

Строки
4.1 Z-функция
4.2 Алгоритм Кнута-Морриса-Пратта
4.3 Алгоритм Ахо-Корасик
4.4 Алгоритм Бойера-Мура
4.5 Алгоритм Бойера-Мура-Хорспула
4.6 Сходство Джаро-Винклера
4.7 Расстояние Левенштейна, алгоритм Укконена
4.8 Расстояние Дамерау-Левенштейна
4.9 Алгоритм Карпа-Миллера-Розенберга
4.10 Алгоритм Каркайнена-Сандерса
4.11 Алгоритм Арикавы-Аримуты-Касаи-Ли-Парка
4.12 Алгоритм Ву-Менбера
4.13 Алгоритм Ландау-Вишкена
4.14 Алгоритм Майерса
Структуры
4.15 Префиксное дерево
4.16 Суффиксный массив
4.17 Суффиксное дерево

Порядковые статистики, потоковые алгоритмы
5.1 Алгоритм BFPRT
5.2 Алгоритм Манро-Патерсона
5.3 Алгоритм Канна-Гринвальда
5.4 Алгоритм большинства голосов Бойера-Мура
5.5 Алгоритм Lossy Count

Деревья
6.1 Эйлеров обход дерева, DFS, BFS
6.2 Двоичное дерево поиска
6.3 Декартово дерево
6.4 Красно-черное дерево
6.5 АВЛ-дерево, дерево Фибоначчи
6.6 Splay tree (расширяющееся дерево)
6.7 B, B+, B* дерево, 2-3 дерево
6.8 PQ-дерево
6.9 Дерево отрезков
6.10 Дерево Фенвика
6.11 Алгоритм двоичного подъема (задача LCA)
6.12 Алгоритм Фарах-Колтона и Бендера (RMQ, LCA)
6.13 Sqrt-декомпозиция
6.14 Центроидная декомпозиция
6.15 Heavy-light декомпозиция
6.16 Фибоначчиева куча
6.17 Куча, 2-3 куча
6.18 Очередь с приоритетами
6.19 Множество
6.20 Система непересекающихся множеств
6.21 Лес непересекающихся множеств
6.20 Ассоциативный массив

Графы
7.1 Обход в ширину (BFS)
7.2 Обход в глубину (DFS)
7.3 Топологическая сортировка
7.4 Алгоритм Munagala-Ranade
7.5 Алгоритм Mehlhorn-Meyer
7.6 Задача о динамической связности
7.7 Алгоритм поиска точек сочленения графа
7.8 Алгоритм поиска мостов графа
7.9 Алгоритм Косараю
7.10 Алгоритм Тарьяна
7.11 Задача 2-SAT
7.11 Алгоритм Брона-Кербоша
7.12 Конденсация графа
7.13 Раскраска графа
7.14 Задача о назначениях
7.15 Венгерский алгоритм
7.16 Алгоритм Ульмана
Структуры
7.17 Матрица смежности
7.18 Матрица достижимости
7.19 Матрица сильной связности
7.20 Матрица Лапласа
7.21 Матрица Инцидентности
7.22 Список смежности
7.23 Список ребер

Графы: циклы
8.1 Алгоритм поиска Эйлерова цикла
8.2 Алгоритм поиска Эйлерова пути
8.3 Алгоритм поиска Гамильтонова цикла
8.3 Алгоритм поиска Гамильтонова пути
8.4 Задача Коммивояжера

Графы: остовное дерево
9.1 Теорема Кирхгофа
9.2 Теорема Кэли о числе деревьев, код Прюфера
9.3 Лемма о безопасном (минимальном) ребре
9.4 Алгоритм Краскала
9.5 Алгоритм Примы
9.6 Алгоритм Борувки
9.7 Задача устранения петель в сети Ethernet (STP)
9.8 Задача Штейнера

Графы: кратчайший путь
10.1 Алгоритм Дейкстры
10.2 Алгоритм Best-First
10.3 Алгоритм A*
10.4 Алгоритм Левита
10.5 Алгоритм Беллмана-Форда
10.6 Алгоритм Флойда-Уоршелла
10.7 Алгоритм ALT
10.8 Алгоритм Reach-based pruning

Графы: потоки в сетях
11.1 Алгоритм Форда-Фалкерсона
11.2 Алгоритм Эдмонса-Карпа (алгоритм Диница)
11.3 Алгоритм поиска потока минимальной стоимости
11.4 Сети Петри
11.5 Алгоритм проверки графа на двудольность
11.6 Алгоритм раскраски двудольного графа
11.7 Алгоритм Хопкрофта-Карпа
11.8 Венгерский алгоритм
11.9 Blossom алгоритм (алгоритм Эдмондса)
11.10 Алгоритм Штор-Вагнера

Геометрия
12.1 Метод Гаусса
12.2 Поиск точек в прямоугольнике
12.3 Алгоритм Бентли-Оттмана
12.4 Алгоритм Грэхема
12.5 Алгоритм Джарвиса
12.6 Алгоритм Чана
12.7 Алгоритм Киркпатрика
12.8 Метод трассировки луча
12.9 Метод суммирования углов
12.10 Диаграмма Вороного и триангуляция Делоне
12.11 Алгоритм Форчуна
12.12 Рекурсивное построение диаграммы Вороного
12.13 SLERP
Структуры
12.13 R, R+, R* дерево
12.14 K-мерное дерево
12.15 BSP, VP дерево
12.16 Дерево покрытий

Персистентные структуры
13.1 Метод копирования пути
13.2 Метод толстых узлов
Структуры
13.3 Персистентный стек
13.4 Персистентная очередь
13.5 Персистентное дерево

Консенсус в сетях
14.1 Алгоритм Paxos
14.2 Задача Византийских генералов
14.3 Кворум
14.4 CAP-теорема
14.5 PACELC-теорема
14.6 Королевский алгоритм
14.7 Алгоритм Zyzzyva
Структуры
14.8 Blockchain

Целочисленное программирование
15.1 Каноническая форма, сложность решения
15.2 Алгоритмы полного перебора
15.3 Алгоритм Нарайаны
15.4 Задача о ранце
15.5 Алгоритм Meet-in-the-Middle
15.6 Задача раскроя
15.7 Метод обратного поиска
15.8 Задача планирования производства
15.9 Задача оптимизации телекоммуникационных сетей
15.10 Метод секущих плоскостей, алгоритм Гомори
15.11 Алгоритм Альфа-Бета отсечений
15.12 Жадные алгоритмы
15.13 Матроиды, алгоритм Радо-Эдмонса

Быстрые вычисления
16.1 Умножение Карацубы
16.2 Алгоритм Шенхаге-Штрассена
16.3 Алгоритмы возведения числа в степень
16.4 Алгоритмы возведения в степень числа по модулю
16.5 Алгоритм Кули-Тьюки
16.6 Алгоритм Штрассена

Факторизация
17.1 Алгоритм Евклида (НОД)
17.2 Алгоритм факторизации Ферма
17.3 Метод квадратичных форм Шенкса
17.4 Ро-алгоритм Полларда
17.5 Метод квадратичного решета
17.6 Общий метод решета числового поля
17.7 Факторизация с помощью эллиптических кривых
17.8 Тест Агравала-Каяла-Саксены
17.9 Алгоритм Берлекэмпа

Дискретное логарифмирование
18.1 Алгоритм Гельфонда-Шенкса
18.2 Алгоритм COS

Обработка очередей
18.1 Семейство алгоритмов Round-robin
18.2 Алгоритм EDF
18.3 Алгоритм SRTF
18.4 Алгоритм Fixed-priority pre-emptive scheduling
18.5 Задача составления расписания (JSP, OSSP)
18.6 CFS планировщик
18.7 BFS планировщик

Кеширование
19.1 T-дерево
19.2 Алгоритм Белади
19.3 FIFO, LIFO кеширование
19.4 LRU, PLRU кеширование
19.5 MRU кеширование
19.6 RR кеширование
19.7 LFU кеширование
19.8 MQ кеширование
19.9 ARC кеширование

Рандомизированные алгоритмы
20.1 Метод Монте-Карло
20.2 Поиск наименьшего набора ребер, разрезающего циклы
20.3 Муравьиный алгоритм
20.4 Алгоритм Каргера
20.5 Изоморфизм графов (алгоритм Blum-Kanan)
20.6 Rapidly exploring random tree
20.7 Тасование Фишера-Йетса
20.8 Алгоритм Karloff–Zwick

Вероятностные тесты на простоту
21.1 Тест Ферма
21.2 Тест Миллера-Рабина
21.1 Тест Бейли-Померанца-Селфриджа-Уогстаффа

Вебграфы
22.1 Модель Болобаша-Альберта
22.2 Модель Болобаша-Риордана
22.3 Модель Бакли-Остгус
22.4 Модель копирования
22.5 PageRank, Google matrix
Структуры
22.1 MapReduce
22.2 Apache GiGraph
22.3 Pregel

Хеширование
23.1 Двойное хеширование
23.2 Фильтр Блума
23.3 Count-min sketch
23.4 Универсальное хеширование
23.5 SWIFFT
23.6 MD5
23.7 SHA-2
23.8 SHA-3 (Keccak)
23.9 Дерево Меркла
23.10 Подпись Меркла
23.11 Хеш-функции, учитывающие близость (LSH)
23.12 Хеширование на основе расстояния Хэмминга
23.13 MinHash
23.14 SimHash
23.15 Поиск ближайшего соседа c помощью LSH
system-root ★★★★★
()

хочу изучить программирование

начни с алгоритмов. Глянь как работает компьютер, что такое информация. Подучи ассемблер, начни изучать потом C. А уже потом определись с языком для работы.

python

Либо пхытон, либо программирование. Пхытон — говно для школьников и разгильдяев.

Решать тебе.

Svobodniy
()
Ответ на: комментарий от Svobodniy

Либо пхытон, либо программирование. Пхытон — говно для школьников и разгильдяев.

Вообще, если человек хочет программировать что-то для себя, то питон (как раньше бейсик, не тот бейсик, который VBA, а тот, что был на старых ПК) - очень неплохая вещь. Пришла в голову какая-то идея, сел, написал несколько строк - и она уже ожила. Если непрофессионального программиста программирующего пользователя посылать учить «взрослые» языки, можно вообще отбить у него охоту творчества.

Хуже, когда человек всё-таки захочет написать программу не только для себя и начинает это делать на «домашнем» инструментарии. Тогда да, надо переучиваться, а с опытом и привычками бейсика/питона придётся туго.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)

pycharm edu.

гугли и будет тебе щастье!

conalex ★★★
()
Ответ на: комментарий от hobbit

сел, написал несколько строк - и она уже ожила

да ты левтолстой прям! не надо так.

conalex ★★★
()
Последнее исправление: conalex (всего исправлений: 1)
Ответ на: комментарий от system-root

А можно ссылку на это, очень бы пригодилось в качестве настольного справочника :)

AlexAT
()
Ответ на: комментарий от system-root

Спасибо, неплохая подборка.

Встречал где-то на github еще и реализацию различных алгоритмов, не помню на каком языке.

anonymous
()

Добавлю тем:

1) Питон и параллельное исполнение кода. Глобальная блокировка интерпретатора.

2) Питон и его компиляторы: почему не один не взлетел и как это связано с особенностями языка? Что такое Nim и почему ему тоже ничего не светит?

3) Несовместимость питона и нормальной культуры журналирования/отладки. Тесты вместо журналирования, стектрейсы высотой в 3 Эйфелевы башни - вместо логирования человекочитаемых сообщений об ошибках

4) Питон и популярные приложения на нём: почему YUM - получился таким говном (и почему apt, который не на питоне - отличное приложение)

5) Питон и блобы: попробуйте написать что-либо крупное и при этом работоспособное на чистом Питоне и чтобы оно работало с приемлемой скоростью. Например, интерпретатор Питона :)

Пункт 5-й, возможно, поспособствует осознанию того, что любой профессиональный разработчик на Питоне - это ещё и криворукий разработчик на каком-либо компилируемом языке, но вообще-то на C++

DRVTiny ★★★★★
()
Ответ на: комментарий от hobbit

как раньше бейсик, не тот бейсик, который VBA

Не соглашусь. Как раз VBA и VB6 — очень подходили под «Пришла в голову какая-то идея, сел, написал несколько строк - и она уже ожила». Никакой консоли, никаких шаманизмов — навесил кнопку, двойной щелчок, написал три строки и получилась программа с гуем! Причём написал в изумительно удобной, для тех лет, среде с IntelliSense. С автодополнениями, с подсказками, с автоисправлением под венгерскую нотацию, с форматированием написанного «по красоте».

Нынешний VB.NET уже не торт. Он намного более сложен, хотя IntelliSense уже целые куски кода за тебя дописывает, прямо, так сказать, на глазах. Но вот так вот запросто, как раньше, уже не сделать.

rechnick ★★★
()
Ответ на: комментарий от anonymous

оно конечно да. но нет.

ибо нужен питонячий repl с последующем переходом к исполнению скриптов из файла ---- т.е. py

зы. если выкатишь pydoc(али какое идуещее в комплекте с python) c кузд(repl)'ом то годно - будь help не консольным можно было бы и в idle то и делать

зы. топикстратреру idle и там help() в репле

anonymous
()
Ответ на: комментарий от system-root

красивый(кроме всего прочего позитивного) список .

есть один маленький вопрос который стоит всегда задавать себе видя такие списки:

какой годовой рейт(кгр) адекватен специалисту умеющему этот список (наряду с прочими навыками умения зашнуровать обувь и прочии навыки самообслуживания (iq>80))

необходимо и достаточно ли уметь в этот список для такого кгр или в программировании можно быть на кгр и без части этого списка.

где тот работодатель для которого таковой список обязателен и какой у этого работадателя рейт для найма ассов???

anonymous
()
Ответ на: комментарий от anonymous

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

system-root ★★★★★
()
Ответ на: комментарий от system-root

Как добавить комментарий в избранное? Реально полезные темы, спасибо тебе.

LongLiveUbuntu ★★★★★
()
Ответ на: комментарий от waker

Например, для байтоебства вашего он, конечно, не годится.

Deleted
()
Ответ на: комментарий от DRVTiny

4) Питон и популярные приложения на нём: почему YUM - получился таким говном (и почему apt, который не на питоне - отличное приложение)

Отличное оно только в плане производительности, для Portage оно и в подметки не годится.

5) Питон и блобы: попробуйте написать что-либо крупное и при этом работоспособное на чистом Питоне и чтобы оно работало с приемлемой скоростью. Например, интерпретатор Питона :)

Писать блобы на питоне — абсолютно бесполезная затея, а для байтоебства и макакинга бинарников есть Си или С++

Пункт 5-й, возможно, поспособствует осознанию того, что любой профессиональный разработчик на Питоне - это ещё и криворукий разработчик на каком-либо компилируемом языке, но вообще-то на C++

r3lgar не умеет писать на этих ваших компилируемых, у него возникают утечки памяти, хотя он и не питонщик.

Интересно, что мешает питонщику освоить один из ваших байтоебских язычков и не тащить привычки из питона?

Deleted
()
Последнее исправление: Deleted (всего исправлений: 3)

Какой ленивый вопрос. Какой ленивый ТС. Гугл, документация, книги, практика.

SuoiCat
()
Ответ на: комментарий от system-root

(тут цитата из коузмы прУтково)

алгоритм распрямления ноги. ....

алгоритм сборки бутерброда.

алгоритм Физика закипАния чайника.

алгоритм Математика закипАния чайника. ...

зы. срез твоего листа есть индивидуальное в часте пересекающаяся с различными локальными mainstream'ами - например в части Факторизации отсутствует https://en.wikipedia.org/wiki/Binary_GCD_algorithm который иначе универсален чем https://en.wikipedia.org/wiki/Anthyphairesis - поэтому вопрос: каков генениз твоего списка?

anonymous
()

Только не петон. Динамическая типизация и макакин патчинг - это не то с чего нужно учить программирование. Питон для неосиляторов и учёных, которым надо быстро наговнокодить модель, написать статью и забыть про код.

ox55ff ★★★★★
()
Ответ на: комментарий от ox55ff

Боязнь динамической типизации прямо как арахнофобия у некоторых, чаще всего беспочвенная. Понятное дело, что это все будет скриптовым, где статика только усложняет написание спортивного кода.

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.