【基础知识题】

 1. 求下列广义表操作的结果:
 (1) GetHead【(p,h,w)】;
 (2) GetTail【(b,k,p,h)】;
 (3) GetHead【((a,b),(c,d))】;
 (4) GetTail【((a,b),(c,d))】;
 (5) GetHead【GetTail【((a,b),(c,d))】】;
 (6) GetTail【GetHead【((a,b),(c,d))】】;
 (7) GetHead【GetTail【GetHead【((a,b),(c,d))】】】;
 (8) GetTail【GetHead【GetTail【((a,b),(c,d))】】】。
  注意:【】是函数的符号。

 2. 利用广义表的 GetHead 和 GetTail 操作写出如上题的函数表达式,把原子 banana 分别从下列广义表中分离出来。
 (1) L1 = (apple,pear,banana,orange);
 (2) L2 = ((apple,pear),(banana,orange));
 (3) L3 = (((apple),(pear),(banana),(orange)));
 (4) L4 = (apple,(pear),((banana)),(((orange))));
 (5) L5 = ((((apple))),((pear)),(banana),orange);
 (6) L6 = ((((apple),pear),banana),orange);
 (7) L7 = (apple,(pear,(banana),orange));

 3. 按8.2节中所示结点结构,画出下列广义表的存储结构图,并求它的深度。
 (1) ((( )), a, ((b, c), ( ), d), (((e))))
 (2) ((((a), b)), ((( ), (d)), (e, f)))
 

 
【基础知识题】
 
  4. 已知右侧各图为广义表的存储结构图,其结点结构和8.2节相同。写出各图表示的广义表。