Объектно-ориентированное программирование на C++. Андрианова А.А - 151 стр.

UptoLike

Объектно-ориентированное программирование на С++
умножения функции на число и операции ввода-вывода. Написать
методы вычисления значения функции в точке, получения градиента
функции. Наследовать от этого класса класс «Квадратичная
функция в n-мерном пространстве» (
cxbxAxxf
++=
,,)(
).
Переопределить все указанные операции и методы для класса-
наследника.
6. Разработать класс «Граф» в виде матрицы смежности. Определить
конструкторы и деструктор. Переопределить операции ввода-
вывода. Написать методы проверки связности графа, проверки
полноты графа, проверки двудольности графа, получения
дополнения графа, нахождения источника графа, нахождения стока
графа. Наследовать от этого класса класс «Взвешенный граф».
Написать методы получения кратчайшего пути между двумя
вершинами алгоритмом Дейкстры, получения каркаса
минимального веса алгоритмом Прима и Краскала.
3.3. Реализация класса динамического списка
Для разработки программ большое значение имеют структуры
данных, используемые в приложениях. Выбор способа хранения данных
имеет важное значение при решении задач, в которых размер данных
постоянно меняется. В этом случае говорят об использовании
динамических структур данных. Самой простой динамической
структурой данных является односвязный (динамический) список.
Разберем пример создания класса «Динамический список» с
возможностями добавления в него элементов в заданную позицию,
удаления элементов из списка по заданной позиции и по значению.
Использовать этот класс для построения классов стека и очереди,
хранения разреженных матрицы и создания словарей в виде поисковых
хэш-таблиц.
3.3.1. Класс «Динамический список»
Реализуем возможности односвязного списка, содержащего целые
числа. Каждый его элемент содержит адрес, по которому расположен
151
                            Объектно-ориентированное программирование на С++
       умножения функции на число и операции ввода-вывода. Написать
       методы вычисления значения функции в точке, получения градиента
       функции. Наследовать от этого класса класс «Квадратичная
       функция в n-мерном пространстве» ( f ( x) = Ax, x + b, x + c ).
       Переопределить все указанные операции и методы для класса-
       наследника.
  6.   Разработать класс «Граф» в виде матрицы смежности. Определить
       конструкторы и деструктор. Переопределить операции ввода-
       вывода. Написать методы проверки связности графа, проверки
       полноты графа, проверки двудольности графа, получения
       дополнения графа, нахождения источника графа, нахождения стока
       графа. Наследовать от этого класса класс «Взвешенный граф».
       Написать методы получения кратчайшего пути между двумя
       вершинами     алгоритмом     Дейкстры,    получения     каркаса
       минимального веса алгоритмом Прима и Краскала.



              3.3. Реализация класса динамического списка

     Для разработки программ большое значение имеют структуры
данных, используемые в приложениях. Выбор способа хранения данных
имеет важное значение при решении задач, в которых размер данных
постоянно меняется. В этом случае говорят об использовании
динамических структур данных. Самой простой динамической
структурой данных является односвязный (динамический) список.
     Разберем пример создания класса «Динамический список» с
возможностями добавления в него элементов в заданную позицию,
удаления элементов из списка по заданной позиции и по значению.
Использовать этот класс для построения классов стека и очереди,
хранения разреженных матрицы и создания словарей в виде поисковых
хэш-таблиц.


                          3.3.1. Класс «Динамический список»

    Реализуем возможности односвязного списка, содержащего целые
числа. Каждый его элемент содержит адрес, по которому расположен

                                                                        151