JavaRush
Акция
Java-университет
Обучение
Курс
Задачи
Опросы
Игры
Помощь
График пинков
Стажировка
Сообщество
Пользователи
Форум
Чат
Статьи
Истории успеха
Активности
Отзывы
Подписки
Светлая тема

Лекции

  • Отзывы
  • О нас
  • CS50
Начать
Начать обучение
Начать обучение
  • Карта квестов
  • Лекции
  • CS50
  • Android
  • Spring
Все квесты Java Syntax Java Core Java Multithreading Java Collections JSP & Servlets Java Syntax Pro Модуль 3. Java Professional Модуль 4. SQL & Hibernate Модуль 5. Spring Harvard CS50 Google Android Spring
Все уровни Уровень 0 Уровень 1 Уровень 2 Уровень 3 Уровень 4 Уровень 5 Уровень 6 Уровень 7 Уровень 8 Уровень 9 Уровень 10 Уровень 11 Уровень 12 Уровень 13 Уровень 14 Уровень 15 Уровень 16 Уровень 17 Уровень 18 Уровень 19 Уровень 20 Уровень 21 Уровень 22 Уровень 23 Уровень 24 Уровень 25 Уровень 26 Уровень 27 Уровень 28
  • Алгоритмы сортировки, побитовые операции и компилятор Clang

    Harvard CS50
    3 уровень, 0 лекция
    Помните разорванный телефонный справочник из самой первой лекции CS50? На третьем уровне он возвращается! Возвращается, чтобы сделать фразу «эффективность алгоритмов» не пустым звуком, а пояснить на примере. Все программисты думают о скорости работы программы и о том, сколько памяти она при этом «съест».
    Открыта
  • Видеолекция 7 (Week 3)

    Harvard CS50
    3 уровень, 1 лекция
    Как вы помните, чтобы найти слово в словаре, нужно, чтобы информация была отсортирована по алфавиту. Иначе в худшем случае нам придётся пересмотреть весь словарь! Пришла пора узнать, как научить компьютер сортировать данные. А ещё в этой лекции Дэвид расскажет, что подразумевается под эффективностью алгоритма.
    Открыта
  • Асимптотическая нотация

    Harvard CS50
    3 уровень, 2 лекция
    Одна программа может работать медленнее другой не из-за неэффективности, а по причине медлительности ОС, несовместимости с оборудованием, занятости памяти ПК… Для измерения эффективности алгоритмов придумали универсальные концепции, и они выдают результат независимо от среды, в которой запущена программа.
    Открыта
  • Линейный поиск

    Harvard CS50
    3 уровень, 3 лекция
    Когда вы открываете веб-браузер, ищете страничку, информацию, друзей в соцсетях, вы совершаете поиск, точно так же, как при попытке найти нужную пару обуви в магазине. Вы наверняка замечали, насколько сильно упорядоченность влияет на то, как вы ищете. Если все рубашки лежат в шкафу, найти среди них нужную обычно проще, чем среди разбросанных.
    Открыта
  • Бинарный поиск

    Harvard CS50
    3 уровень, 4 лекция
    Представьте, что у вас есть список отсортированных по алфавиту диснеевских героев, и вам нужно найти Микки Мауса. Линейно это было бы долго. А если воспользоваться «методом разрывания справочника пополам», мы попадаем сразу на Jasmine, и можем смело отбросить первую половину списка, понимая, что Mickey там не может быть. 
    Открыта
  • Бинарное дерево

    Harvard CS50
    3 уровень, 5 лекция
    Вы уже знаете, что для бинарного поиска необходимо, чтобы массив был отсортирован. Таким образом, если у нас есть неотсортированный массив, в котором нужно найти некий элемент, у нас есть два варианта действий...
    Открыта
  • Отладчик GDB

    Harvard CS50
    3 уровень, 6 лекция
    GDB относится к «умным» программам-отладчикам, то есть таким, которые «понимают» код и умеют выполнять его построчно, менять значения переменных, устанавливать контрольные точки и условия остановки… Словом, делать всё для того, чтобы разработчик мог проверить правильность работы своей программы.
    Открыта
  • Видеолекция 8 (Week 3, continued)

    Harvard CS50
    3 уровень, 7 лекция
    Алгоритм сортировки слиянием интересен тем, что он рекурсивный, то есть вызывает сам себя. "Слияние" чуть более эффективно, нежели "пузырёк" или "вставки". Кроме того, Дэвид Малан поведает, что скрыто «под капотом» у программы и пояснит цепочку «исходный код – компилятор – объектный код».
    Открыта
  • Алгоритмы сортировки. Сортировка выбором

    Harvard CS50
    3 уровень, 8 лекция
    Есть массив чисел. Нужно его отсортировать. Для простоты будем считать, что мы сортируем целые числа в порядке возрастания (от меньшего к большему). Существует несколько известных способов провернуть этот процесс. Плюс, вы всегда можете пофантазировать на тему и придумать модификацию алгоритма.
    Открыта
  • Алгоритмы сортировки. Пузырьковая сортировка

    Harvard CS50
    3 уровень, 9 лекция
    Сортировка простыми обменами, сортиро́вка пузырько́м (англ. bubble sort) — простой алгоритм сортировки. Для понимания и реализации этот алгоритм — простейший, но эффективен он лишь для небольших массивов.
    Открыта
  • Алгоритмы сортировки. Сортировка вставками

    Harvard CS50
    3 уровень, 10 лекция
    Основная идея алгоритма сортировки вставками — разделение нашего массива на две части, отсортированную и неотсортированную. На каждом шаге алгоритма число переходит от неотсортированной к отсортированной части.
    Открыта
  • Алгоритмы сортировки. Сортировка слиянием

    Harvard CS50
    3 уровень, 11 лекция
    Этот алгоритм — рекурсивный, он разбивает одну большую задачу сортировки на подзадачи, выполнение которых делают его ближе к решению изначальной большой задачи. Основная идея — разделение неотсортированного массива на две части и сортировка отдельных половинок по рекурсивному принципу.
    Открыта
  • 1
  • 2
Обучение
  • Курсы программирования
  • Регистрация
  • Курс Java
  • Помощь по задачам
  • Цены
  • Задачи-игры
Сообщество
  • Пользователи
  • Статьи
  • Форум
  • Чат
  • Истории успеха
  • Активности
Компания
  • О нас
  • Контакты
  • Отзывы
  • FAQ
  • Поддержка
JavaRush JavaRush — это интерактивный онлайн-курс по изучению Java-программирования c нуля. Он содержит 1200 практических задач с проверкой решения в один клик, необходимый минимум теории по основам Java и мотивирующие фишки, которые помогут пройти курс до конца: игры, опросы, интересные проекты и статьи об эффективном обучении и карьере Java‑девелопера.
Подписывайтесь
Язык интерфейса
"Программистами не рождаются" © 2023 JavaRush
MastercardVisa
"Программистами не рождаются" © 2023 JavaRush
Этот веб-сайт использует данные cookie, чтобы настроить персонально под вас работу сервиса. Используя веб-сайт, вы даете согласие на применение данных cookie. Больше подробностей — в нашем Пользовательском соглашении.