第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。