第10章课程设计

10.4 课程设计选题

课程设计的目的、要求和选题详见教材10.4节,及课程设计任务书。

10.4.1 线性表

1. 多项式的表示和运算

题意详见教材2.4节。

(1)使用排序单链表存储多项式

10-1 ?一元多项式相加,PolySinglyList多项式排序单链表类增加以下成员方法,public权限。

//多项式相加,返回this+list的多项式,不改变this和list,C(x)=A(x)+B(x)。

//算法不调用深拷贝,将this(A)和list(B)中的所有结点合并(相加)到C多项式单链表

PolySinglyListunion(PolySinglyListlist)

10-2 ?二元多项式相加,实现10-1题。

10-3 ?一元多项式相乘,Polynomial多项式类增加以下成员方法。

public boolean equals(Object obj) //比较两个多项式是否相等,覆盖

public Polynomial multi(Polynomial poly) //相乘,返回this*poly的多项式10-4 ?二元多项式相乘,实现10-3题。

(2)使用排序循环双链表存储多项式

10-5 ?一元多项式相加,声明PolyDoublyList多项式排序循环双链表类,继承排序循环双链表类,方法声明如下。Polynomial多项式类使用PolyDoublyList对象作为成员变量。

PolyDoublyListunion(PolyDoublyListlist) //返回相加的多项式,不调用深拷贝10-6 ?二元多项式相加,实现10-5题。

10-7 ?一元多项式相乘,声明PolyDoublyList多项式排序循环双链表类,继承排序循环双链表类,实现二元多项式相乘运算,方法声明如下。Polynomial多项式类使用PolyDoublyList对象作为成员变量。

Polynomial multi(Polynomial poly) //返回相乘的多项式

10-8 ?二元多项式相乘,实现10-7题。

10.4.2 栈和队列及递归算法

1. 计算表达式值

在例4.2、例4.6计算算术表达式值的基础上,增加以下功能。

⑴检查表达式语法是否正确。

⑵使用散列映射存储运算符集合,建立从运算符到优先级的映射,快速查找指定运算符的优先级。运算符集合包括位运算符、关系运算符、逻辑运算符、字符串连接运算符等,各运算符的优先级见附录D。

⑶整数表达式增加位运算功能。

⑷计算逻辑表达式、字符表达式、字符串表达式等,BNF定义见教材实验4-12。