Этот курс является третьим из серии. В первой части мы рассмотрели линейные структуры данных (массивы, связанные списки, стеки, очереди и хэш-таблицы). Во второй части мы рассмотрели нелинейные структуры данных (двоичные деревья, деревья AVL, кучи, попытки и графики). Часть 3 исследует дополнительные алгоритмы, которые должен изучить каждый разработчик.
Вот что вы узнаете в этой части:
Алгоритмы поиска
Алгоритмы сортировки
Алгоритмы манипулирования строками
Каждый пример и упражнение взяты из популярных вопросов для интервью, задаваемых Google, Microsoft, Amazon и другими крупными компаниями.
В этом курсе я использую Java для обучения этим концепциям, но вы можете применять эти концепции на любом языке программирования. Наше внимание сосредоточено на структурах данных и алгоритмах, а не на языках программирования и инструментах.
Все, что вам нужно, чтобы пройти этот курс, это некоторые базовые навыки программирования. Если вы знаете переменные, циклы и условные операторы, у вас все хорошо. Если вам нужно быстро освежиться, чтобы освоиться с синтаксисом Java, вы можете посмотреть первую часть моей серии Java.
В идеале, вы должны были смотреть первую и вторую часть этой серии, так как концепции и упражнения в этой части более сложны, чем те, которые описаны в первых двух частях.
Посмотреть больше
Урок 1.00:00:46
1- Introduction
Урок 2.00:01:01
1- Introduction
Урок 3.00:03:11
2- Bubble Sort
Урок 4.00:06:25
3- Bubble Sort- Implementation
Урок 5.00:02:42
4- Selection Sort
Урок 6.00:03:24
5- Selection Sort- Implementation
Урок 7.00:03:59
6- Insertion Sort
Урок 8.00:02:29
7- Insertion Sort- Implementation
Урок 9.00:05:07
8- Merge Sort
Урок 10.00:08:05
9- Merge Sort- Implementation
Урок 11.00:03:15
10- Quick Sort
Урок 12.00:06:02
11- Partitioning
Урок 13.00:09:01
12- Quick Sort- Implementation
Урок 14.00:04:09
13- Counting Sort
Урок 15.00:02:49
14- Counting Sort- Implementation
Урок 16.00:04:19
15- Bucket Sort
Урок 17.00:07:08
16- Bucket Sort- Implementation
Урок 18.00:00:47
1- Introduction
Урок 19.00:01:05
2- Linear Search
Урок 20.00:01:37
3- Linear Search- Implementation
Урок 21.00:03:48
4- Binary Search
Урок 22.00:04:53
5- Binary Search- Recursive Implementation
Урок 23.00:02:15
6- Binary Search- Iterative Implementation
Урок 24.00:03:28
7- Ternary Search
Урок 25.00:04:13
8- Ternary Search- Implementation
Урок 26.00:03:17
9- Jump Search
Урок 27.00:03:55
10- Jump Search- Implementation
Урок 28.00:02:48
11- Exponential Search
Урок 29.00:02:56
12- Exponential Search- Implementation
Урок 30.00:00:36
1- Introduction
Урок 31.00:04:50
4- Count Vowels
Урок 32.00:05:41
5- Reverse a String
Урок 33.00:06:14
6- Reverse Words
Урок 34.00:05:49
7- Rotations
Урок 35.00:03:13
8- Remove Duplicates
Урок 36.00:07:13
9- Most Repeated Char
Урок 37.00:06:39
10- Sentence Capitalization
Урок 38.00:06:08
11- Anagrams- Using Sorting
Урок 39.00:06:19
12- Anagrams- Using Histogramming
Урок 40.00:04:26
13- Palindrome
Урок 41.00:01:07
14- Course Wrap Up
Автор - codewithmosh (Mosh Hamedani)
codewithmosh (Mosh Hamedani)
Здравствуй! Меня зовут Мош Хамедани. За последние три года я преподавал более 1 млн. стулентам как программировать или как стать лучшим кодером через мои онлайн-курсы и канал YouTube. Я работаю инженером-программистом в течение последних 18 лет, и я люблю делиться своими знаниями с вами.
Команда внимательно читает ваши комментарии и оперативно на них реагирует. Вы можете спокойно оставлять запросы на обновления или задавать любые вопросы о курсе здесь.
Изучали информатику - но никогда не понимали сложную тему структур данных и алгоритмов? Или, может быть, вы программист-самоучка, практически ничего не знающий об этой важной теме. Или, возможно, вы провалили собеседование, потому что не смогли ответить на основные вопросы о структуре данных и алгоритмах. Итак, почему структуры данных так важны в наши дни?
Этот курс является вторым из серии. В первой части мы рассмотрели линейные структуры данных (массивы, связанные списки, стеки, очереди и хэш-таблицы). В этой части мы сосредоточимся на нелинейных структурах данных. Часть 3 о алгоритмах поиска и сортировки.
Алгоритмы и структуры данных идут рука об руку; Решение практически любой проблемы на собеседовании в области программирования потребует реализации какого-то абстрактного типа данных для доступа к информации и манипулирования ею. Наша серия видеороликов о структурах данных - это основной курс по этой важной теме.
Зная основы Java, вы захотите приступить к выяснению алгоритмов и структур данных. При правильном их использовании ваш код будет работать быстрее, использовать меньше памяти и быть более стабильным.