gpt4 book ai didi

math - 如何存储多项式?

转载 作者:行者123 更新时间:2023-12-02 05:21:08 27 4
gpt4 key购买 nike

整数可以用来存储单个数字,但不能用来存储数学表达式。例如,假设我有这样的表达式:

6x^2 + 5x + 3

如何存储多项式?我可以创建自己的对象,但我不知道如何通过成员数据表示多项式。我不想创建一个函数来计算传入的参数,因为我不仅需要计算它,还需要操作表达式。

向量是我唯一的选择还是有更合适的解决方案?

最佳答案

一种简单但低效的方法是将其存储为系数列表。例如,问题中的多项式如下所示:

[6, 5, 3]

如果缺少某个术语,请在其位置补上零。例如,多项式 2x^3 - 4x + 7 将表示如下:

[2, 0, -4, 7]

多项式的次数由列表的长度减一给出。这种表示有一个严重的缺点:对于稀疏多项式,列表将包含很多零。

稀疏多项式的项列表的更合理表示是非零项的列表,其中每个项都是包含项的阶数和该阶数的系数的列表;多项式的次数由第一项的阶数给出。例如,多项式 x^100+2x^2+1 将由以下列表表示:

[[100, 1], [2, 2], [0, 1]]

SICP 举例说明了这种表示法的有用性。构建一个简单但非常有效的 symbolic algebra system使用上述多项式的第二种表示形式。

关于math - 如何存储多项式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10694452/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com