Про курс
На курсі «Алгоритми та структури даних на C#» розглядаються найбільш поширені способи компонування даних для зручної і водночас швидкої їх обробки та оптимальні алгоритми роботи з ними.
Вже на першому уроці детально розглядаються питання оцінки часу виконання алгоритмів, як складової частини рішення поставленого завдання, оскільки для завдань великих розмірів важливу роль грає не тільки потужність обчислювальних засобів, а також ефективність алгоритму. Далі будуть розглянуті основні структури даних - однозв'язкові та двозв'язкові списки, динамічні масиви, стеки, черги, дерева та множини.
На курсі будуть детально розглянуті алгоритми сортування, поняття «хеш-таблиці» та «АВЛ-дерева». Також розглянемо структуру даних «Граф», яка широко використовується в житті. Освоїмо метод динамічного програмування для розв’язання різноманітних завдань. Заключний урок буде присвячений розв’язанню практичних прикладів – завдання комівояжера, завдання про ханойські вежі та інші цікаві задачі.
Алгоритми та структури даних, які ми розглядаємо в даному курсі, можна реалізувати будь-якою мовою програмування, нами для цього буде використовуватися мова С#, базових знань якої та знань основ ООП буде цілком достатньо для розуміння матеріалу.
Цей курс входить до спеціальності:
Попередні Вимоги
- Впевнене володіння персональним комп'ютером
- Базові знання мови програмування C#
Ви навчитеся
- Розуміти принципи побудови та використання структур даних та алгоритмів для їх обробки.
- Визначати складність алгоритму.
- Реалізувати найпоширеніші алгоритми та модернізувати їх.
- Розрізняти переваги використання тих чи інших структур у кожному конкретному випадку.
- Розуміти особливості структур даних, як-от зв’язні списки, динамічний масив, Stack, Queue, Set, хеш-таблиці, дерева, графи, бінарне дерево пошуку, АВЛ-дерево та розуміти алгоритми для роботи з цими типами даних.
- 5 год 14 хв
- 10
- українська
Що входить до курсу
×
Ви дійсно бажаєте відкрити доступ до тестування за курсом Алгоритми та структури даних мовою C# на 40 днів?
Основна мета цього уроку – ознайомити студентів зі структурами даних та поняттям алгоритму. Ми розглянемо асимптотичну складність алгоритму, однозв'язкові та двозв'язкові зв'язані списки. Також навчимося використовувати О-нотації.
На занятті розглядаються основні структури даних. Пояснюється політика зростання динамічного масиву. Розберемо основні способи роботи з цими структурами даних та його реалізацію, об'єднання, перетин, різницю, симетричну різницю двох множин.
На занятті пояснюються основні види сортування даних. Демонструється їх суть та реалізація. Порівнюються різні методи сортування для різних призначень та передумов. Коротко пояснюється суть нового сортування Timsort.
На уроці розглядається дві структури даних: хеш-таблиця та дерево. Роз'яснюється суть хеш-таблиці, принцип її роботи, хеш-функція та колізії у хеш-таблицях. Розглядається структура даних «Дерево», детальніше пояснюється бінарне дерево пошуку та додавання вузлів у дерево.
Даний урок присвячений розгляду методів роботи з бінарним деревом пошуку: видалення вузла з дерева (3 варіанти видалення), пошук вузла в дереві, прямий, зворотний і симетричний обходи дерева. Розглядається суть АВЛ-дерева як модернізація бінарного дерева пошуку. Роз'яснюється суть балансування АВЛ-дерева та способи реалізації балансування.
На уроці розглядається популярна та складна структура даних «Граф». Також поговоримо про введення в теорію графів, способи задати граф та два варіанти пошуку за графом: у ширину та глибину.
На уроці розглядаються теми з теорії графів, як-от зв'язкові компоненти, цикл Ейлера. Поговоримо про відомий алгоритм Лі. Пояснюється знаходження найкоротшого шляху між вершинами графа. Демонструється алгоритм Дейкстри.
На занятті глибше розглянемо теорію графів. Коротко викладається суть та принцип алгоритму Флойда-Уоршелла. Роз'яснюється та демонструється топологічне сортування та пошук компонентів зв'язності через обхід у глибину.
На уроці розглядається підхід динамічного програмування до розв’язання багатьох завдань. Пояснюється сутність і принцип різних прийомів. Демонструються типові завдання та їх розв’язання.
На занятті розглядаються такі завдання: Ханойські вежі, завдання комівояжера, завдання для рюкзака.
Запитання і відповіді
Онлайн курси мають низку переваг перед офлайн форматом:
- Незалежність від локації. Онлайн дозволяє навчатися де завгодно.
- Збереження часу та грошей на дорогу. Ви економите час та гроші з поїздок на курси та назад.
- Онлайн курси дешевші. Немає потреби в приміщенні та ноутбуках для студентів, тому вартість нижча
- Комфортний темп навчання, постійний доступ до інформації. Навчання у вашому темпі будь-коли і будь-де 24/7. Також є доступ до записаних уроків, чого немає в офлайн форматі.
На ITVDN є 2 формати навчання: Live Online та відео курси. Ціна навчання залежить від обраного вами способу навчання.
Якщо ви хочете навчатися самостійно у форматі відео курсів, вартість навчання складе в середньому 10-15 USD на місяць в залежності від обраного вами пакету підписки.
Live Online – це онлайн навчання з тренером у групах разом із іншими студентами. Навчання у даному форматі коштує в середньому 6-7 USD за одну годину.
Залежить від того, скільки уваги програмуванню ви виділятимете щоденно, яка саме це мова і який у вас досвід кодингу. Середній час на опанування однієї мови за умови регулярних занять хоча б 2 год/день:
- новачки – від 3 до 6 місяців;
- ті, хто мають базові знання з іншої мови – від 1 до 3 місяців;
- професійні програмісти – до 1 місяця.
Найкращий варіант інвестиції часу – 8 годин щоденно (20% теорії + 80% практики). Більше практики – швидше опанування програмування.
Для опанування ІТ-спеціальності треба виділити не менше 500 годин, з яких близько 100 годин – на перегляд відео уроків або відвідування онлайн занять із ментором, а 400 – на виконання практичних завдань за пройденими темами.
В залежності від того, скільки часу ви готові виділяти на навчання в день, ви зможете пройти програму за 3-8 місяців. Якщо у вас є певна база знань з ІТ, кількість необхідного часу буде меншою.
Також тривалість навчання залежить від обраної вами спеціальності, оскільки набір технологій, які ви маєте вивчити, буде різним.
Починати варто з тих, які містять в назві слово “Стартовий”. Такі курси мають вступний матеріал для знайомства з мовою або технологією.
Якщо ж ви плануєте навчатися за конкретною спеціальністю у форматі відео курсів, перейдіть на сторінку спеціальності і прокрутіть до заголовку “Відео курси за спеціальністю …”. Нижче буде список відео курсів, котрі відсортовано в порядку необхідності вивчення.
Ще нижче ви знайдете Roadmap зі спеціальності – путівник, на якому зображені відео курси у вигляді дерева, що також вас легко зорієнтує у послідовності проходження курсів.
Якщо ви обираєте Live Online навчання з тренером, все дуже просто:
- відвідуйте всі заняття, вчасно виконуйте д/з;
- додатково дивіться відео уроки на ITVDN;
- після кожного уроку проходьте коротке тестування;
- практикуйтеся в Інтерактивному практикумі;
- спілкуйтеся з одногрупниками в ході вирішення д/з, задавайте питання ментору на уроках та поза ними;
- в кінці кожного курсу складайте екзамен на TestProvider (та отримуйте Сертифікати);
- в кінці всього навчання проходьте екзамен зі спеціальності і отримайте Диплом.
Ми маємо спеціальний розділ – “Вакансії”, котрий допомагає нашим студентам шукати першу роботу в ІТ. Детальніше про можливості та призначення розділу за посиланням.
А для тих, хто навчається онлайн з ментором, у нас додатково передбачена індивідуальна допомога HR-фахівця щодо підготовки до працевлаштування з першого дня навчання і до отримання першого job-оферу. Вона включає в себе допомогу в оформленні соцмереж, підготовці резюме, проведення пробної співбесіди, надання порад щодо пошуку роботи та самопрезентації тощо.
На жаль, дана послуга на ITVDN не передбачена, однак ви можете замовити індивідуальну консультацію з нашим ментором. Деталі ви знайдете за посиланням.
На ITVDN відсутні курси для дітей, тому комфортний вік для початку навчання за нашими матеріалами – від 14 років.
Ніяких вимог до вашого рівня англійської ми не висуваємо, оскільки всі навчальні матеріали йдуть російською або українською мовами. При цьому базові знання англійської будуть корисні для комфортного пошуку інформації в гуглі, читання документацій в інтернеті тощо.
На ITVDN можна пройти повне навчання з нуля до спеціаліста рівня Trainee/Junior. Якщо ви вже практикуючий розробник, наші відео курси допоможуть поглибити ваші знання до рівня Middle.
Після закінчення дії вашої підписки доступ до відео курсів, на жаль, буде закрито. Однак ви зможете користуватися тими навчальними матеріалами, які ви завантажили на свій девайс під час навчання.
Ні, знижки не додаються.
Відгуки наших студентів
Відгуки в DOU
4,9/5 - 195 відгуків
Відгуки в Facebook
5,0/5 - 704 відгуки
Відгуки в Google
4,9/5 - 814 відгуки