2.2 ADT 多项式

  • 「ADT 多项式」 多项式的最大(最高)的指数称为多项式的次(degree)。假定有两个多项式,A(x)=aixiA(x) = \sum a_ix^i, B(x)=bixiB(x) = \sum b_ix^i,则: A(x)+B(x)=(ai+bi)xi A(x) + B(x) = \sum (a_i + b_i)x^i A(x)B(x)=(aixi(bjxj)) A(x) \cdot B(x) = \sum (a_ix^i \cdot \sum (b_jx^j)) 结构 Polynomialp(x)=a1xe1+...+anxenp(x) = a_1x^{e_1} + ... + a_nx^{e_n}; 一个序对 <ei,aie_i, a_i> 的集合,其中 aia_i 为系数,指数 eie_i 为非负整数。
class Polynomial
{
    Polynomial Zero() { return 多项式 p(x) = 0 }
    bool IsZero(Polynomial poly) {
        if (poly) return false
        else return true
    }
    Coefficient Coef(Polynomial poly, Exponent expon) {
        if (expon ∈ poly) return 其系数
        else return 0
    }
    Exponent Lead_exp(Polynomial poly) { return poly 的最大指数值 }
    Polynomial Attach(Polynomial poly, Coefficient coef, Exponent expon) {
        if (expon ∈ poly) return 错误
        else return 插入项 <coef, expon> 后的多项式 poly
    }
    Polynomial Remove(Polynomial poly, Exponent expon) {
        if (expon ∈ poly) return 删除指数等于 expon 项后的多项式 poly
        else return 错误
    }
    Polynomial SingleMult(Polynomial poly, Coefficient coef, Exponent expon) { return 多项式 poly · coef · x^expon}
    Polynomial Add(Polynomial poly1, Polynomial poly2) { return 多项式 poly1 + poly2 }
    Polynomial Mult(Polynomial poly1, Polynomial poly2) { return 多项式 poly1 · poly2 }
}

results matching ""

    No results matching ""