使用链表进行多项式求值
时间: 2023-05-17 11:03:32 浏览: 94
可以使用链表来表示多项式,每个节点存储一个项的系数和指数。对于多项式求值,可以遍历链表,将每个项的系数乘以变量的指数次幂,然后将它们相加即可得到多项式的值。以下是示例代码:
```python
class Node:
def __init__(self, coef, exp):
self.coef = coef
self.exp = exp
self.next = None
class Polynomial:
def __init__(self):
self.head = None
def add_term(self, coef, exp):
new_node = Node(coef, exp)
if self.head is None:
self.head = new_node
else:
curr = self.head
while curr.next is not None:
curr = curr.next
curr.next = new_node
def evaluate(self, x):
result = 0
curr = self.head
while curr is not None:
result += curr.coef * (x ** curr.exp)
curr = curr.next
return result
# Example usage
p = Polynomial()
p.add_term(2, 3)
p.add_term(1, 2)
p.add_term(3, 0)
print(p.evaluate(2)) # Output: 23
```
这个代码演示了如何使用链表来表示多项式,并且提供了一个 evaluate 方法来计算多项式在给定变量值下的值。
阅读全文