ru
Feedback
Всё про Алгоритмы и Структуры данных

Всё про Алгоритмы и Структуры данных

Открыть в Telegram

Мы не претендуем на оригинальность контента, мы лишь собираем материал из открытых источников. Ссылка: @Portal_v_IT Сотрудничество, авторские права: @oleginc, @tatiana_inc Канал на бирже: https://telega.in/c/structuredata

Больше
7 757
Подписчики
+124 часа
-37 дней
-2430 день
Архив постов
Двоичное (бинарное) дерево поиска Структуры данных «деревья» широко распространены в программировании, например каталог проекта или DOM-дерево в веб-разработке. Среди них особенно выделяется двоичное дерево поиска, которое позволяет существенно ускорить поиск элементов. Подробнее о структуре двоичного дерева и его реализации в коде: https://tprg.ru/YpfD

​Оценка сложности алгоритма проще, чем кажется Если вы изучали различные алгоритмы (например, сортировки массивов), то наверняка встречали запись в духе O(n*logn). Это и есть оценка сложности алгоритма. Она показывает, насколько быстро растёт сложность алгоритма с увеличением размера входных данных. В статье разбираются основные порядки роста, а также что нужно замерять для оценки сложности: https://tprg.ru/LQI2

Создание и обход двоичного дерева, а также реализация на JavaScript Двоичное дерево состоит из корня (верхний элемент), внутренних узлов и листьев (узлы без потомков). Оно подчиняется определённым правилам, благодаря чему происходит быстрый поиск элементов. Статья поможет реализовать на JavaScript двоичное дерево и организовать обход его узлов: https://tprg.ru/09wZ

Как вычислить числа Фибоначчи? На собеседовании по алгоритмам могут попросить реализовать вывод ряда Фибоначчи. Он строится по следующему правилу: первые два элемента равны 0 и 1, а каждый последующий элемент равен сумме двух предшествующих. В статье показано, как вычислить числа Фибоначчи на Java тремя способами — циклом, рекурсией и с помощью Stream: https://tprg.ru/sAUb

Ключевые алгоритмические парадигмы для решения нестандартных задач В спортивном программировании для решения задач используются ключевые алгоритмические парадигмы, на базе которых реализуется алгоритм решения: — полный поиск; — жадный алгоритм; — «разделяй и властвуй»; — динамическое программирование. Подробнее о парадигмах (с примерами на C++): https://tprg.ru/Q8bw

Ключевые алгоритмические парадигмы для решения нестандартных задач В спортивном программировании для решения задач используются ключевые алгоритмические парадигмы, на базе которых реализуется алгоритм решения: — полный поиск; — жадный алгоритм; — «разделяй и властвуй»; — динамическое программирование. Подробнее о парадигмах (с примерами на C++): https://tprg.ru/Q8bw

Структура данных «связный список» Связные списки по сравнению с массивами хороши тем, что могут хранить произвольное количество объектов. При этом сами объекты имеют внутри ссылку на следующий объект в списке (односвязный список), а также на предыдущий объект, если список двусвязный. Подробнее о связных списках и их методах: https://tproger.ru/translations/linked-list-for-beginners/

Действительно ли компьютер генерирует случайное число? Алгоритмы, которые мы используем в своих программах для генерации случайных чисел, на самом деле выдают не совсем случайные значения. В основе генератора псевдослучайных чисел (ГПСЧ) лежит семя (seed), от которого отталкивается алгоритм. Но существуют и другие варианты поиска случайного числа. С ними и ГСПЧ вы можете ознакомиться в статье: https://nuancesprog.ru/p/14619/

​​Считается, что аналитика и Data Science — сложные сферы, требующие особого склада ума. В реальности же основные языки работы с данными — SQL и Python — можно изучить, не имея технического образования или опыта в программировании. Каждый может найти себя в сфере аналитики и Data Science и подобрать себе направление по душе. Главное — задаться целью, быть любопытным и правильно спланировать погружение в новую профессию. В этом поможет бесплатный пошаговый гайд «Как войти в сферу данных и выбрать своё направление». В гайде: - Полное описание ролей и компетенций в сфере работы с данными — так вы поймёте, с чего начать свой путь в профессию - Чек-листы навыков, необходимые начинающему аналитику данных, системному аналитику, дата-сайентисту и другим представителям сферы данных - Ссылки на полезные ресурсы, книги и бесплатные курсы - Советы HR-специалистов о том, как правильно составить резюме и наработать портфолио - Рейтинг зарплат для начинающих позиций в проектах по аналитике и Data Science Скачать план → https://netolo.gy/b4Af Реклама. ООО «Нетология» LatgC9sxY

Структура данных пирамида (двоичная куча) в Java Пирамида представляет собой дерево значений. Значение узлов в неё больше или равно значениям узлов-потомков. Поэтому верхний элемент всегда будет иметь максимальное значение Подробнее о пирамиде и её реализации на Java: https://javarush.ru/groups/posts/3083-strukturih-dannihkh-piramida-dvoichnaja-kucha-v-java

Решето Эратосфена – это алгоритм нахождения простых чисел до заданного натурального числа путем постепенного отсеивания составных чисел. Образно говоря, через решето Эратосфена в процессе его тряски проскакивают составные числа, а простые остаются в решете. Видео с объяснением этого алгоритма и его реализацией на YouTube - https://www.youtube.com/watch?v=LMc07ydUcSo&t=4s

Решето Эратосфена – это алгоритм нахождения простых чисел до заданного натурального числа путем постепенного отсеивания составных чисел. Образно говоря, через решето Эратосфена в процессе его тряски проскакивают составные числа, а простые остаются в решете. Видео с объяснением этого алгоритма и его реализацией на YouTube - https://www.youtube.com/watch?v=LMc07ydUcSo&t=4s

​Что почитать: «Алгоритмы. Построение и анализ» Т.Кормена и Ч.Лейзерсона Must-have книга для любого разработчика. Начинающим программистам не обязательно читать её всю, а изучить в первую очередь виды сортировок, элементарные структуры данных, двоичные деревья и хеш-таблицы. Тем более алгоритмы разбиты по самодостаточным главам, поэтому к книге можно возвращаться время от времени, чтобы подтянуть знания. Обзор книги - https://tprg.ru/KO4u

Что послушать: подкаст об алгоритмах и собеседованиях Сегодня мы предлагаем послушать подкаст, где бывший сотрудник «Яндекса» Алексей Шаграев рассказал, какие алгоритмы используются в командах и почему на собеседовании задают много вопросов про алгоритмы. Алексей имеет за плечами много опыта в собеседовании разработчиков, поэтому в подкасте много историй из реальной жизни: soundcloud.com/podlodka/podlodka-195-algoritmy-i-sobesedovaniya

Словари и их методы в Python Структура данных словарь хранит в себе пары «ключ-значение». При этом одному ключу может соответствовать целое множество значений. На практики в словари могут записываться, например: — имя и оценка студентов; — название и цена товаров; — название и численность населения городов. Подробнее о словарях, а также методах работы с ними: https://tproger.ru/explain/python-dictionaries/

Как работают алгоритмы сортировки? Разбираем с примерами на Python Мы рассмотрели в статье наиболее популярные методы сортировки, а также сравнили их по времени исполнения. Сохраняйте в закладки, чтобы не забыть: https://tprg.ru/VHC5

Иногда аналитику или специалисту по DS нужно подтянуть что-то по математике, чтобы решать более сложные задачи на работе. На
Иногда аналитику или специалисту по DS нужно подтянуть что-то по математике, чтобы решать более сложные задачи на работе. На курсе Яндекс Практикума можно раз и навсегда разобраться с тервером, линалом, матаном и статистикой. А потом — расти в карьере. Учёбу удобно совмещать с работой: теория и практика будут в интерактивном тренажёре, который можно скачать на смартфон. А опытные преподаватели математики всегда на связи в чате, чтобы объяснить непонятное. За 4 месяца обучения вы:  → решите более тысячи задач в онлайн-тренажёре, → создадите 4 проекта для своего портфолио, → подготовитесь к собеседованиям с помощью симулятора. Пройдите первый бесплатный урок

Уроки по алгоритмам сортировки в Python Хотите разобраться в алгоритмах сортировки? Ролики ниже помогут не только освоить теорию основных алгоритмов сортировки, но и научиться их реализовывать на Python: 1. Сортировка пузырьком. 2. Сортировка слиянием. 3. Быстрая сортировка. 4. Сортировка подсчётом.

Насколько хорошо вы знаете алгоритмы? Проверьте себя в этом тесте: https://tproger.ru/quiz/algorithms/

​Курс лекций по дополнительным главам математики Если вы хотите подтянуть знания по такой структуре данных, как деревья, то на YouTube есть курс лекций, которые читались в Computer Science Center осенью 2019 года (эти ребята сделали кучу бесплатных курсов на Stepik и Coursera). В первой лекции разбирается структура данных куча: https://youtu.be/tN265RlKXVg Плейлист с лекциями: https://youtube.com/playlist?list=PLlb7e2G7aSpTEzw546U6-Q6_2jt48ym4I