Арифметические операции с функциями трех переменных

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



?пособ хранения разреженных полиномов. Список позволяет хранить в памяти только ненулевые значения, а также упрощает и ускоряет добавление и поиск элементов.

Эта структура сравнительно легко описывается и проста в использовании, что и было показано в данной работе.

Для упрощения процедуры добавления нового узла была выбрана структура с удаленным головным узлом.

Поставленная задача была полностью выполнена.

Список литературы

1.Зубов В.С. Справочник программиста. Базовые методы решения графовых задач и сортировки. М.: Информационно-издательский Дом Филинъ, 1999. - 256 с.

.Кнут Д. Искусство программирования для ЭВМ. Том 3: Сортировка и поиск.- М.: Мир, 1978. - 846 с. (2-е изд.: Уч.пос.-М.:Издательский дом Вильямс, 2000.- 832 с.)

Приложение

.Описание структур

# Моном

class Obj:__init__(self, coeff, power, next=None):.coeff, self.power, self.next = coeff, power, next

# ПолиномList:__init__(self): # Конструктор класса.first = Obj(0, -1).first.next = self.first

.Добавление узла

# ----------------------- Add(self, coeff, power): # Добавление в список

curr = self.first # -----------------------(curr.next.power curr.next.power:.next = Obj(coeff,power,curr.next)= curr.nextcurr.next.power == -1:.next = Obj(coeff,power,curr.next)

.Сложение полиномов

# -----------------------Sum(A,B): # Сложение

# -----------------------= deepcopy(A)= B.first.next(obj.power <> -1):.Add(obj.coeff, obj.power)= obj.nextS

4.Вычитание полиномов

# ----------------------Sub(A,B): # Вычитание

# -----------------------= deepcopy(A)= B.first.next(obj.power <> -1):= -obj.coeff.Add(coeff, obj.power)= obj.nextR

.Умножение полиномов

# ----------------------Mult(A,B): # Умножение

# ----------------------= List()= A.first.next(obj1.power -1):= obj1.coeff * obj2.coeff= [0,0,0]p in xrange(3):[p] = obj1.power[p] + obj2.power[p].Add(coeff,power)= obj2.next= obj1.nextM