Опубликован: 27.09.2006 | Уровень: для всех | Доступ: свободно
Лекция 10:

Основы объектно-ориентированного программирования

Задачи для самостоятельного решения

Задача 10.5. Реализуйте класс Complex, позволяющий выполнять над комплексными числами четыре основных арифметических действия, а также вычислять модуль и аргумент данного числа.

Задача 10.6. Реализуйте класс R3Vector, позволяющий выполнять над векторами в пространстве следующие операции: сложение, вычитание, умножение на число, вычисление скалярного, векторного и смешанного произведений.

Задача 10.7. Реализуйте класс Matrix2, позволяющий выполнять над квадратными матрицами порядка два следующие операции: сложение, вычитание, умножение на число, перемножение, вычисление определителя и обратной матрицы.

Задача 10.8. Создайте непрерывную реализацию ограниченного дека целых чисел на базе вектора и оцените эффективность полученной программы.

Задача 10.9. Создайте непрерывную реализацию ограниченного множества целых чисел на базе вектора, называемую "последовательный поиск", и оцените эффективность построенной программы.

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

Задача 10.10. Создайте непрерывную реализацию ограниченного множества целых чисел на базе вектора, называемую "двоичный поиск", и оцените эффективность построенной программы.

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

Задача 10.11. Создайте непрерывную реализацию двух стеков целых чисел, ограниченных в совокупности, на базе вектора и оцените эффективность полученной программы.

Указание Интерфейс этого контейнера предполагает наличие дополнительного аргумента (по сравнению с классом Stack ), указывающего номер стека, у методов empty, push, pop и top. Ограниченность в совокупности означает, что добавление в любой из стеков не должно приводить к возникновению исключительной ситуации, если только суммарное количество элементов в стеках меньше, чем длина вектора.

Задача 10.12. Создайте непрерывную реализацию трех стеков целых чисел, ограниченных в совокупности, на базе вектора и оцените эффективность полученной программы.

Указание См. указание к предыдущей задаче.

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

Задача 10.14. Создайте битовую реализацию множества целых чисел, которое может содержать элементы от 0 до n-1 включительно ( n < 2^{31} ), и оцените эффективность полученной программы.

Задача 10.15. Создайте реализацию ограниченного множества целых чисел с помощью хеширования, взяв в качестве хеш-функции остаток от деления числа на 10.

Анастасия Халудорова
Анастасия Халудорова
подавляющее большиство фукций на пространстве последовательостей?
екатерина яковлева
екатерина яковлева
как получить сертификат,что для этого нужно?
Дмитрий Карпов
Дмитрий Карпов
Россия, Нижний Новгород
Антон Никитин
Антон Никитин
Россия, Хабаровск