Арифметические операции с функциями трех переменных
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
?пособ хранения разреженных полиномов. Список позволяет хранить в памяти только ненулевые значения, а также упрощает и ускоряет добавление и поиск элементов.
Эта структура сравнительно легко описывается и проста в использовании, что и было показано в данной работе.
Для упрощения процедуры добавления нового узла была выбрана структура с удаленным головным узлом.
Поставленная задача была полностью выполнена.
Список литературы
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