- •3. Ооп. Методы, перегрузка, переопределение.
- •4. Ооп. Полиморфизм.
- •5. Методы класса. Конструкторы. Виды конструкторов. Статические методы и поля.
- •6. Понятие сложности алгоритма. Типовые виды алгоритмической сложности.
- •7. Исключения (try, catch, finally).
- •8. Интерфейсы, применение предназначения.
- •9. Generic типы.
- •10. Ограничения Generic типов.
- •11. Структуры данных. Динамический массив.
- •12. Структуры данных. Список.
- •13. Структуры данных. Двунаправленный список.
- •14. Структуры данных. Хеш-таблица.
- •15. Структуры данных. Стек.
- •16. Структуры данных. Очередь.
- •17. Коллекции в c#, описать какие структуры данных реализуют.
- •18. Матрицы преобразований.
- •19. Основы теории графов, что это такое, применение.
- •20. Граф. Способы задания графа.
15. Структуры данных. Стек.
Структура данных (англ. data structure) — программная единица, позволяющая хранить и обрабатывать множество однотипных и/или логически связанных данных в вычислительной технике. Для добавления, поиска, изменения и удаления данных структура данных предоставляет некоторый набор функций, составляющих её интерфейс. Назначение структур: повышении эффективности и производительности программ. Структуры относятся к типам значений, и поэтому ими можно оперировать непосредственно, а не по ссылке. Следовательно, для работы со структурой вообще не требуется переменная ссылочного типа, а это означает в ряде случаев существенную экономию оперативной памяти.
Стек – это частный случай списка, добавление и выборке элементов из которого выполняются с одного конца, называемого вершиной стека(head). При выборке элемент исключается из стека. Других операции со стеком нет. Стек реализует принцип обслуживания LIFO (последним пришел первым вышел).
Пример:
Стек проще всего представить в виде пирамиды, на которую надевают кольца.
Достать первое кольцо можно только после того, как будут сняты все верхние кольца.
Каждый элемент Стека имеет:
информационное поле inf, которое может быть любого типа и предназначено для
хранения значений, например, чисел, строк, или ссылок на внешние объекты.
ссылочное поле next, которое будет использоваться для хранения ссылки на
следующий элемент стека.

Данные списка

достать 1, только после 2,3,4
16. Структуры данных. Очередь.
Структура данных (англ. data structure) — программная единица, позволяющая хранить и обрабатывать множество однотипных и/или логически связанных данных в вычислительной технике. Для добавления, поиска, изменения и удаления данных структура данных предоставляет некоторый набор функций, составляющих её интерфейс. Назначение структур: повышении эффективности и производительности программ. Структуры относятся к типам значений, и поэтому ими можно оперировать непосредственно, а не по ссылке. Следовательно, для работы со структурой вообще не требуется переменная ссылочного типа, а это означает в ряде случаев существенную экономию оперативной памяти.
Очередь – это частный случай списка, добавление элементов в который выполняется в один
конец – хвост, а выборка производится с другого конца – головы. Других операции с очередью нет. При выборке элемент исключается из очереди. Очередь реализует принцип обслуживания FIFO (первым пришел первым вышел).
Пример:
Очередь проще всего представить в виде узкой трубы, в один конец которой бросают мячи, с другого конца которой они вылетают.
Очереди имеет структуру:
информационное поле inf, которое может быть любого типа;
ссылочное поле next, которое будет использоваться для хранения ссылки на
следующий элемент очереди.
Функциональные элементы:
вложенный класс Node для реализации базового элемента очереди;
закрытое поле head, хранящее ссылку на первый элемент очереди;
3) закрытое поле tail, хранящее ссылку на последний элемент очереди; 4) конструктор класса.


tail

Две точки доступа headиtail.
