- •3. Ооп. Методы, перегрузка, переопределение.
- •4. Ооп. Полиморфизм.
- •5. Методы класса. Конструкторы. Виды конструкторов. Статические методы и поля.
- •6. Понятие сложности алгоритма. Типовые виды алгоритмической сложности.
- •7. Исключения (try, catch, finally).
- •8. Интерфейсы, применение предназначения.
- •9. Generic типы.
- •10. Ограничения Generic типов.
- •11. Структуры данных. Динамический массив.
- •12. Структуры данных. Список.
- •13. Структуры данных. Двунаправленный список.
- •14. Структуры данных. Хеш-таблица.
- •15. Структуры данных. Стек.
- •16. Структуры данных. Очередь.
- •17. Коллекции в c#, описать какие структуры данных реализуют.
- •18. Матрицы преобразований.
- •19. Основы теории графов, что это такое, применение.
- •20. Граф. Способы задания графа.
13. Структуры данных. Двунаправленный список.
Структура данных (англ. data structure) — программная единица, позволяющая хранить и обрабатывать множество однотипных и/или логически связанных данных в вычислительной технике. Для добавления, поиска, изменения и удаления данных структура данных предоставляет некоторый набор функций, составляющих её интерфейс. Назначение структур: повышении эффективности и производительности программ. Структуры относятся к типам значений, и поэтому ими можно оперировать непосредственно, а не по ссылке. Следовательно, для работы со структурой вообще не требуется переменная ссылочного типа, а это означает в ряде случаев существенную экономию оперативной памяти.
Список – это последовательность элементов a1, а2,…,аn (n больше 0) одного типа. Количество элементов n называется длиной списка. Если n = 0, то это пустой список. Элементы списка линейно упорядочены в соответствии с их позицией в списке.
Если каждый элемент списка содержит две ссылки (одну на следующий элемент в списке, а вторую на предыдущий), то такой список называется
двунаправленным.
Двунаправленный список
Prev |
Data |
Next |
Prev |
Data |
Next |
class ListItem<T>
{
public ListItem<T> Previous {get; set}
public T Data {get; set;}
public ListItem<T> Next {get; set;}
}
private ListItem<T> first; (current, last)
Операции
Проверка на пустоту, добавление в начало или конец,
Добавление в начало списка
current=newListItem<T>();
current.Data = value;
current.Next = first;
first Previous = current;
first = current;
14. Структуры данных. Хеш-таблица.
Структура данных (англ. data structure) — программная единица, позволяющая хранить и обрабатывать множество однотипных и/или логически связанных данных в вычислительной технике. Для добавления, поиска, изменения и удаления данных структура данных предоставляет некоторый набор функций, составляющих её интерфейс. Назначение структур: повышении эффективности и производительности программ. Структуры относятся к типам значений, и поэтому ими можно оперировать непосредственно, а не по ссылке. Следовательно, для работы со структурой вообще не требуется переменная ссылочного типа, а это означает в ряде случаев существенную экономию оперативной памяти.
Плюсы:произвольный доступ, добавление и удаление элементов
Минусы:память, последовательный доступ
|
|
Иванов |
Данные |
|
|
|
|
Петров |
Данные |
|
|
Хеширование (хэш-функция)
Преобразование входного набора данных, произвольных данных в выходные значения, фиксированные длины.
Хеш, хэш-код– результат хеширования.
Использование:
Проверка целостности данных (контрольные суммы)
Проверка паролей
Быстрый поиск данных по ключу
Базы данных
Ассоциативные массивы
Контрольные суммы
2215
1 |
2 |
3 |
4 |
5 |
|
1 |
2 |
8 |
4 |
5 |
15 22
Приемник
Магнитная буря
Скачок напряжения
Среда передачи