Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Коллекция графов на C#
Rating: 4.0 out of 5(9 ratings)
60 students

Коллекция графов на C#

Практикум по коллекциям, стеку, очереди, работа с графом, поиск в ширину и в глубь, визуализация алгоритмов.
Last updated 11/2018
Russian

What you'll learn

  • Начнут уверенно использовать разные коллекции.
  • Узнают отличия коллекций друг от друга, преимущества и недостатки.
  • Смогут использовать коллекции для хранения графа.
  • Напишут алгоритмы поиска вширь и вглубь на графе.

Course content

2 sections18 lectures4h 5m total length
  • ArrayList12:15

    На этом уроке мы обсудим план занятий, вспомни былые времена голых массивов, и выясним, зачем же нужны коллекции. Начнём знакомство с самой простой коллекции ArrayList и немного поэкспериментируем с ней.

    Самостоятельное задание:

    1. Создать ArrayList и добавить несколько элементов.

    2. Узнать и написать, на сколько элементов она заряжена изначально.

    3. Организовать два цикла для перебора элементов.

    4. Найти интересный метод и тоже поэкспериментировать с ним.

    5. Написать, какой метод ты выбрал и что он делает.

  • List12:56

    На этом уроке мы поработаем с типизированной коллекцией List. Обсудим её преимущества, по сравнению с ArrayList, добавим несколько элементов, отсортируем их и даже найдём их сумму. Перебор элементов мы организуем двумя разными способами — через итератор и обычным foreach().

    Самостоятельное задание:

    1. Создать List<int> и добавить несколько элементов.

    2. Организовать два цикла для перебора элементов.

    3. Выполнить сортировку и нахождение суммы элементов списка.

    4. Найти интересный метод и тоже поэкспериментировать с ним.

    5. Написать, какой метод ты выбрал и что он делает.

  • Array vs List11:03

    На этом уроке мы сравним эффективность использования ArrayList, List<> и простого массива.

    Победителем окажется типизированная коллекция List<>.

    Очень интересно сравнивать эффективность, нам в этом поможет флагманский класс Stopwatch.

    Самостоятельное задание:

    1. Создать три отдельные функции List0(), List1(), List2().

    2. Создать секундомер и засечь время их работы.

    3. Поэкспериментировать с различными операциями.

    4. Придумать свой набор операций и рассказать о результатах.

  • ListDictionary15:18

    На этом уроке мы начнём рассматривать три класса, которые похожи по функциональности, но очень сильно отличаются

    по реализации, это: ListDictionary, Hashtable, HybridDictionary. Эти коллекции хранят пару значений: ключ — значение. Они нетипизированные и работают с объектами.

    Самостоятельное задание:

    1. Создать функцию Dict1().

    2. Добавить несколько элементов.

    3. Организовать цикл для перебора элементов.

    4. Найти дополнительный метод и поэкспериментировать с ним.

    5. Написать, какой метод ты выбрал и что он делает.

    6. Посмотреть, как хранятся значения внутри коллекции.

  • Hashtable11:55

    На этом уроке мы поработаем с Hashtable, то есть, разберемся, каким именно образом в неё складываются значения и почему она будет работать, даже если хеш-функция вернёт одинаковые значения. Также мы увидим, что порядок элементов путается, а сами значения хранятся в очень хитром виде. В конце урока мы сделаем всё то же самое с гибридным классом.

    Задание:

    • Сравнить скорость работы этих коллекций.

      1 этап: создать МНОГО коллекций по 8 и по 9 элементов (ОТДЕЛЬНО).

      2 этап: создать ОДНУ коллекцию из ОГРОМНОГО количества элементов.

    • Подвести итоги и в отчёте написать вывод.

    Самостоятельное задание:

    1. Создать функцию Dict2().

    2. Добавить несколько элементов в Hashtable.

    3. Организовать цикл для перебора элементов.

    4. Создать функцию Dict3().

    5. Добавить несколько элементов в HybridDictionary.

    6. Организовать цикл для перебора элементов.

    7. Проверить порядок следования 9 и 10 элементов.

    8. * Сравнить скорость работы этих трёх коллекций.

  • BitArray13:59

    На этом уроке мы поработаем с интересной коллекцией BitArray, которая позволяет компактно хранить большие массивы двоичных данных.

    Самостоятельное задание:

    1. Создать огромный массив.

    2. Задать значения всем элементам.

    3. Проверить работу метода Not() и Xor().

    4. Выяснить размер занимаемой памяти массива на 40000 элементов.

    5. Найти интересный метод и тоже поэкспериментировать с ним.

    6. Описать выбранный тобой метод и то, что он делает.

Requirements

  • Основы языка программирования C#

Description

Мы рассмотрим основные коллекции в языке C#: Array, List, ArrayList<>, foreach, ListDictionary, Hashtable,  HybridDictionary, BitArray, Stack, Queue. Поэкспериментируем, сравним быстродействие.

Познакомимся с теорией графов. Создадим класс для представления графа в памяти компьютера. Сделаем визуальное отображения графа и составим алгоритмы поиска вширь и глубь с использованием коллекций Стек и Очередь.

После прохождения этого курса вы сможете уверенно использовать различные коллекции, знать, чем они отличаются друг от друга, выбирать более подходящие варианты для вашей задачи. Узнаете, как можно использовать коллекции для хранения графа и выполнять основные операции над ним.

Этот курс отлично сочетает алгоритмические навыки с графическим оформлением - мы сделаем визуализацию алгоритмов поиска вширь/вглубь, чтобы лучше понять принцип их работы.

Мы рассмотрим основные коллекции в языке C#: Array, List, ArrayList<>, foreach, ListDictionary, Hashtable,  HybridDictionary, BitArray, Stack, Queue. Поэкспериментируем, сравним быстродействие.

Познакомимся с теорией графов. Создадим класс для представления графа в памяти компьютера. Сделаем визуальное отображения графа и составим алгоритмы поиска вширь и глубь с использованием коллекций Стек и Очередь.

После прохождения этого курса вы сможете уверенно использовать различные коллекции, знать, чем они отличаются друг от друга, выбирать более подходящие варианты для вашей задачи. Узнаете, как можно использовать коллекции для хранения графа и выполнять основные операции над ним.

Этот курс отлично сочетает алгоритмические навыки с графическим оформлением - мы сделаем визуализацию алгоритмов поиска вширь/вглубь, чтобы лучше понять принцип их работы.

Who this course is for:

  • Студентам для подготовки к лабораторным работам
  • Инженерам для более глубокого знакомства с коллекциями
  • Начинающим программистам для понимания алгоритмов поиска в графе.