чому ви навчитеся
- реалізація основних структур даних: список, стек, черга і розуміння того як вони влаштовані
- коректне використання структур даних вбудованих в BCL
- Підготовка до співбесід, на яких вас будуть мучити алгоритмами
- дерева, хеш-таблиці та ін. структури даних
- різні алгоритми
14 розділів • 84 лекцій * загальна тривалість 13 год 18 хв
вимоги
- знання C # або Java на базовому рівні
- З інструментів достатньо Visual Studio Community Edition
Навіщо вивчати алгоритми і структури даних?
Алгоритми і структури даних складають основи програмування.
- розуміння алгоритмів і структур даних-одне з найважливіших
вимог для влаштування на роботу в хороші компанії.
Слабкість розуміння алгоритмів і структур даних сильно знижує ваші шанси пройти співбесіду в хорошу компанію.
Майже всі компанії вважають за краще наймати розробників, які добре розбираються в алгоритмах і структурах даних. Запам'ятайте це. Не відкладайте вивчення фундаментальних концепцій.
- більш потужне "залізо" - не завжди хороше/доступне рішення проблем пов'язаних з продуктивністю. Іноді, виникає необхідність розробляти програми для дуже низько продуктивних пристроїв. Використання будь-якого заліза часто так само залежить від бюджету замовника, тому далеко не завжди вибір заліза диктується розробником.
- розуміння того, що відбувається "під капотом" дуже бажано. Хоча б на один рівень в глибину. Дійсно, якщо ви не розумієте як влаштований список, іноді ви будете приймати не оптимальні або взагалі невірні рішення.
чому цей курс?
Ви можете мене запитати "чому я повинен взяти саме ваш курс"? І ось моя відповідь:
На даний момент курс покриває наступні теми:
Ви можете мене запитати "чому я повинен взяти саме ваш курс"? І ось моя відповідь:
- цей курс покриває безліч тем
- я намагався зробити цей курс не надто сухим
- курс присвячений не тільки алгоритмам і структурам даних, але також освячує внутрішній устрій структур даних і алгоритмів вбудованих в основну бібліотеку класів. net (бібліотека класів в. NET Core в плані структур даних і алгоритмів влаштована точно так же)
- курс практичний з домашніми завданнями і рішеннями
- курс допоможе вам пройти технічні співбесіди
- курс зроблений професійним розробником з великим реальним досвідом
- і безліч ін. причин
На даний момент курс покриває наступні теми:
- введення в алгоритми і структури даних: структура даних, Абстрактний тип даних,
різниця між цими поняттями. Що таке алгоритм і чому все це для нас важливо?
- введення в аналіз алгоритмів: скільки часу займе виконання програми,
побудова log-log графіка, апроксимації, порядок зростання складності (Big-O нотація), споживання пам'яті
- масиви: масиви в C#, масиви в пам'яті, складність операцій на масивах
- алгоритми сортування: бульбашкова, вибіркою, вставками, рекурсія, Шелл-сортування, злиттям, швидка, стабільність алгоритмів сортування
- Списки: list вбудований в BCL, вузли( ноди), зв'язний список (односвязний, двусвязный),
LinkedList вбудований в BCL
- Стек: теорія і практика, на масиві,
на зв'язному списку, вбудований в BCL
- черги: теорія і практика, на масиві, кільцевий буфер,
на зв'язному списку, вбудована в BCL
- алгоритми пошуку: лінійний, бінарний
- символьні таблиці: введення, API, таблиці на послідовному пошуку,
таблиця на бінарному пошуку
- хеш-таблиці: введення, хешування, GetHashCode, підходи до вирішення колізій: роздільні ланцюжки і лінійне пробування, тип dictionary вбудований в BCL, типи представляють безлічі вбудовані в BCL
- дерева: двійкове дерево пошуку і його реалізація (більше буде додано в майбутньому)
- піраміди: введення, піраміди і масиви, Пірамідальна сортування
- різні алгоритми: ця секція буде розширюватися, а поки покриває алгоритм "решето Ератосфена"
- C#-розробники, які хочуть вивчити алгоритми і структури даних на їх улюбленій мові
- початківці розробники, які готуються до пошуку роботи
https://privatelink.de/?http://www.udemy.com/course/algodata/#instructor-1