Основно съдържание
Раздел 1: Алгоритми
За този урок
Потърсихме помощта на Том Кормен и Девин Балком – професори в Университета в Дортмут, които ще те запознаят с основните алгоритми в програмирането, включително търсене, сортиране, рекурсия и графи. Уроците включват статии, изображения, викторини и предизвикателства с кодиране.Какво са алгоритмите и защо трябва да ни интересуват? Ще започнем с преглед на алгоритмите и след това ще обсъдим две игри, за които можеш да използваш алгоритъм, за да решиш по-ефективно – играта за познаване на число и играта за намиране на път.
Научи за двоичното търсене – начин за ефективно търсене на масив от елементи чрез разделянето му на две всеки път.
Учи
Упражнения
Научи как да използваш асимптотичен анализ, за да опишеш ефективността на даден алгоритъм, и как да използваш асимптотичната нотация (Big O, Big-Theta и Big-Omega) за по-точно описание на ефективността.
Учи
Упражнения
Научи за сортирането чрез пряка селекция – прост алгоритъм за сортиране на масив от стойности, и виж защо не е най-ефективният алгоритъм.
Учи
Научи за сортирането чрез вмъкване, друг прост метод за сортиране на масив от стойности, който не е много ефективен.
Учи
Запознай се с понятието за рекурсия – техника, която често се използва в алгоритмите. Виж как да използваш рекурсия, за да изчислиш факториел и степените на число, както и да генерираш изкуство.
Учи
Използвай рекурентна техника, за да решиш Ханойските кули, класическа математическа задача, за която се твърди, че е измислена от монаси в храм.
Научи за сортирането чрез сливане – по-ефикасен алгоритъм за сортиране, който разчита основно на силата на рекурсията, за да сортира и слива подмасиви.
Учи
Научи за бързото сортиране – ефективен алгоритъм за сортиране, който използва рекурсия за по-бързо сортиране на масив от стойности.
Учи
Научи как да опишеш графи с техните ребра, върхове и тегла и разгледай различни начини за запазване на данни от граф – със списък на ребра, списък на съседство и матрица на съседство.
Научи как да обхождаш граф, като използваш търсене по широчина, за да намериш определен връх или да се увериш, че всички върхове са посетени, като преминаваш през слоевете един по един.
Идеи как да продължиш своето пътешествие през алгоритмите.