Точка входа в программирование
21.4K subscribers
903 photos
163 videos
1 file
2.45K links
Фундаментальные знания по основам программирования

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/zrgj
Download Telegram
Оценка сложности алгоритма

Алгоритмы оцениваются по двум главным критериям — количеству занимаемой памяти и времени исполнения. Однако в алгоритмы можно подать различные входящие массивы данных, от чего время выполнения и количество памяти нельзя выразить одним числом. Поэтому для оценки сложности алгоритмов используют нотацию Big O.

Подробнее о Big O и оценке сложности алгоритмов:

https://youtu.be/ZRdOb4yR0kk

#алгоритмы
Умножение и деление сдвигом

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

Как работает левый (<<) и правый (>>) арифметический сдвиг, хорошо объясняется в лекции:

https://youtu.be/_pLHvK-X4qg

#алгоритмы
Возврат нескольких значений из функции Python

Чтобы в Python вернуть из функции сразу несколько значений, нужно воспользоваться структурами данных. Так вы можете передать из функции данные в виде списка, кортежа или словаря.

Как это сделать, объясняется в статье:

https://pythonist.ru/vozvrat-neskolkih-znachenij-iz-funkczii/

#python #алгоритмы
Курс лекций по алгоритмам от Школы анализа данных

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

Восполнить «пробелы» в знаниях помогут записи лекций из Школы анализа данных (ШАД) «Яндекса». В них вы узнаете как о теоретических (модели вычислений, иммутабельность и персистентность, хеширование и не только), так и практических (задача о кратчайших путях, RMC, LCA) аспектах алгоритмов.

Лекции доступны бесплатно на YouTube.

#алгоритмы #курсы
Алгоритм быстрой сортировки: объяснение и реализация на C#

QuickSort (или быстрая сортировка) является одним из самых популярных алгоритмов сортировки.

Если вы ещё не разобрались, по каким принципам работает быстрая сортировка, то рекомендуем посмотреть видео:

https://youtu.be/DmFXdwy_mH0

В нём не только объясняются концепции QuickSort, но и показана визуализация алгоритма и его реализация на языке C#.

#csharp #алгоритмы #сортировки
Алгоритмическая секция на собеседовании: на что обращать внимание?

На собеседовании вам могут дать алгоритмические задачи. Вам предстоит не только написать корректный код, но и объяснить, как он работает. При этом на решение отводится ограниченное время.

Стрессовая ситуация, не так ли? Но советы из статьи могут помочь в решении алгоритмических задач на собеседованиях:

https://habr.com/ru/company/avito/blog/662922/

#алгоритмы #собеседование
This media is not supported in your browser
VIEW IN TELEGRAM
Алгоритмы сортировки: зачем они нужны?

Работая с большим массивом данных, с помощью сортировки можно разместить элемент заданного массива в некотором определённом порядке. Например, в интернет-магазине вы можете отсортировать товар по цене, популярности или категории.

Одни алгоритмы помогают сортировать объекты с учётом вводных данных, другие — найти элемент быстрее.

Подробнее здесь:

https://tproger.ru/articles/zachem-nuzhny-algoritmy-sortirovki/

#алгоритмы
Задачи на алгоритмы и их решения

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

1. Java
2. JavaScript
3. Python
4. Go

#алгоритмы
Структуры данных и алгоритмы: топ-30

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

tprg.ru/jdPv

#алгоритмы
Алгоритмы и структуры данных для начинающих

Уверенное применение структур данных и алгоритмов имеет важное значение при создании программ. Изучить основы поможет серия коротких видеоуроков с примерами на JavaScript. Например, что такое BinarySearchTree, LinkedList, Stack, Queue, их применение, а также другие структуры и алгоритмы:

https://youtube.com/playlist?list=PLIFGfLqvZ-yGHI2Fg0NCgi7FY0h1yh-af

#js #алгоритмы