数据结构一元多项式创建打印和两个一元多项式求和
时间: 2024-09-26 20:05:01 浏览: 48
数据结构实验报告之一元多项式求和(链表)报告2.doc
数据结构中的"一元多项式"通常是指一个数学概念,用于表示形式上的一次或线性函数,例如 \( a + bx \) 的形式,其中 \( a \) 和 \( b \) 是系数,\( x \) 是变量。在计算机科学中,我们可以将其表现为一个映射,比如一个键值对列表,其中键是变量指数,值是对应项的系数。
创建一元多项式数据结构,你可以这样做:
1. 定义一个类,包含一个字典或哈希表存储各项(键-值对),键代表变量的幂,值代表对应的系数。
2. 实现构造函数接收系数和变量作为输入,初始化多项式的系数。
打印一元多项式,可以遍历字典并按照标准格式输出:
```python
def print_polynomial(poly):
for exponent, coefficient in sorted(poly.items(), key=lambda x: x[0]):
if exponent == 0: # 如果是常数项
print(coefficient)
else:
print(f"{coefficient}x^{'^' if exponent > 1 else ''}{exponent}")
# 示例
poly = {0: 5, 1: 3}
print_polynomial(poly) # 输出: 5 + 3x
```
两个一元多项式的求和操作则是将它们的系数相加,保持相同的变量和指数结构:
```python
def add_poly(poly1, poly2):
result = {}
for exp, coef1 in poly1.items():
coef2 = poly2.get(exp, 0) # 获取另一个多项式相应项的系数,默认为0
result[exp] = coef1 + coef2
return result
# 示例
poly1 = {0: 5, 1: 3}
poly2 = {0: 2, 2: 4} # 注意第二个多项式有一个二次项x^2
result = add_poly(poly1, poly2)
print_polynomial(result) # 输出: 7 + 3x + 4x^2
```
阅读全文