Скрыть объявление

Внимание!


Наш телеграм-канал попал под массовую блокировку и, пока мы подготовили для вас резервный!


Подписывайтесь по этой ССЫЛКЕ

Скрыть объявление

На короткое время рассказываем где достать редкие курсы

Подробности ТУТ

Скрыть объявление

Мы обновили Telegram-бот!

Ссылку на новый бот и все детали ищите ТУТ и скорее подписывайтесь, чтобы не пропускать важные уведомления и новости форума

Скрыть объявление

Было ли у Вас такое, что Вы не могли найти курс? Если да, то напишите нам в Службу поддержки какой курс вам нужен и мы постараемся его найти.

Скрыть объявление

Пополняйте баланс и получайте при оплате складчин кэшбек в размере 10%

Запись

[Stepik] Добрые, добрые структуры данных (Сергей Балакирев)

Тема в разделе "Курсы по программированию"

Цена:
1000 руб
Взнос:
109 руб
Организатор:
Dr.Vatson

Список участников складчины:

1. Dr.Vatson 2. Andrew2000
open
2
Записаться
  1. Dr.Vatson Организатор складчин

    [Stepik] Добрые, добрые структуры данных (Сергей Балакирев)

    [​IMG]

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

    Этот курс - очередная важная ступенька вашего становления, как грамотного IT-специалиста в области программирования. После того, как вы изучили базовые возможности языка, его объектно-ориентированную составляющую, следующим логичным шагом является изучение типовых, часто используемых структур данных, знание их сильных и слабых сторон для эффективного использования в своих проектах.

    Любая более-менее состоятельная программа использует хотя бы одну простейшую структуру данных, например, массивы. А в более сложных проектах всегда присутствуют и более сложные вроде связных списков, хэш-таблиц, множеств, ассоциативных массивов и так далее. Все это нужно знать, чтобы ваши программы получались максимально быстрыми и при этом экономно расходовали память устройства. Мало того, почти всегда на собеседованиях при приеме на работу на должность программиста задаются вопросы по структурам данных и способах оценки сложности алгоритмов, как правило, с позиции "О большого" (Big O). Как раз все эти важные темы входят в данный курс. Его прохождение позволит вам не только увереннее составлять алгоритмы, но и успешнее проходить собеседования при будущем трудоустройстве.

    Чему вы научитесь:
    1. Узнаете как правильно определять вычислительную сложность типовых алгоритмов (показатель О большое - Big O).
    2. Познакомитесь со статическими и динамическими массивами.
    3. Подробно изучите одно- и двусвязные списки, а также их использование для построения очередей и стеков.
    4. Увидите, что из себя представляют бинарные деревья и как они применяются для описания упорядоченных множеств.
    5. Познакомитесь с префиксными (нагруженными) деревьями и их применением для построения ассоциативных массивов.
    6. Изучите основы хэш-таблиц, способы построения хэш-функций и методами устранения коллизий.
    Для кого этот курс:

    Задания этого курса ориентированы на язык Python и С++. Поэтому его имеет смысл проходить после изучения базы и ООП этих языков:
    • "Добрый, добрый Python"
    • "Добрый, добрый Python ООП"
    • "Добрый, добрый C/C++"
    • "Добрый, добрый ООП C++"
    Идеально, если вы знаете оба языка программирования: и Python и C++. Но, можно его проходить, зная только один из них, или даже какой-либо другой. Правда тогда некоторые практические задания для вас будут непонятными. Но, тем не менее, вы, все равно, в полном объеме сможете изучить сами структуры данных. А это главная цель данного курса.


    1. Учимся оценивать вычислительную сложность алгоритмов

    1. Введение в Big O
    2. Big O логарифмической и факториальной сложности
    2. Простейшие структуры данных
    1. Статический массив
    2. Статический массив на С++
    3. Динамический массив
    4. Динамический массив на Python
    5. Динамический массив на С++
    3. Связные списки
    1. Односвязный список
    2. Односвязный список на С++
    3. Двусвязный список
    4. Двусвязный список на С++ с нуля
    5. Класс list двусвязного списка библиотеки STL языка С++
    4. Очереди и стек
    1. Очереди типов FIFO и LIFO
    2. Очередь collections.deque на Python
    3. Класс deque очереди библиотеки STL языка C++
    4. Стек (stack)
    5. Реализация стека на Python и C++
    5. Деревья и множества
    1. Бинарные деревья
    2. Способы обхода и удаления вершин бинарного дерева
    3. Бинарное дерево на Python
    4. Множества (set). Операции над множествами
    5. Множества set и multiset в C++
    6. Контейнер map библиотеки STL в C++
    7. Префиксное (нагруженное, Trie) дерево. Ассоциативные массивы
    6. Хэш-таблицы
    1. Хэш-таблицы
    2. Универсальное хэширование
    3. Метод открытой адресации. Двойное хэширование
    4. Хэш-таблицы в языках Python и С++

    Скрытый текст. Доступен только зарегистрированным пользователям.Нажмите, чтобы раскрыть...
     
  2. Похожие складчины
    Загрузка...
Наверх