第一章1.1 试仿照三元组的抽象数据类型分别写出抽象数据类型复数的定义。1.2 设 n 为正整数,试确定下列各程序段中前置以记号#的语句的频度。1. i=1;k=0; While (i<=n-1) { # k+=10*i; i++;} 2. i=1;k=0; do { # k+=10*i; i++;} While (i<=n-1); 3. i=1;k=0; While (i<=n-1) { i++; # k+=10*i; } 4. k=0; for(i=1;i<=n;i++) { for(j=i;j<=n;j++) # k++; } 5. for(i=1;i<=n;i++) for(j=1;j<=i;j++) for(k=1;k<=j;k++) # x+=delta;; 6. i=1;j=0; While (i+j<=n) { # if (i>j) j++; else i++; } 7. x=n; y=0; While (x>=(y+1)*(y+1)) { # y++; } 8. x=91; y=100; While (y>0) { # if (x>100) { x-=10; y--; } else x++; } 1.3 试写一算法,自大至小依次输出顺序读入的三个整数X、Y 和 Z 的值。第二章2.1 填空题1.在顺序表中插入或删除一个元素,需要平均移动()个元素,具体移动的元素个数与()有关。2.顺序表中逻辑上相邻的元素的物理位置()相邻。单链表中逻辑上相邻的元素的物理位置()相邻。3.在单链表中,除了第一个元素(首元结点)外,任一结点的存储位置由()指示。4.已知 L 是无表头结点的单链表,且P 结点既不是首元结点,又不是尾元结点,则:(1)在 P 结点后插入 S 结点的语句序列是();(2)在 P 结点前插入 S 结点的语句序列是();(3)在表首插入 S 结点( S 为表中第一个结点)的语句序列是();(4)在表尾插入 S 结点的语句序列是();5. 已知 L 是带表头结点的非空单链表,且P 结点既不是首元结点,又不是尾元结点,则:(1)删除 P 结点的直接后继结点的语句序列是();(2)删除 P 结点的直接前驱结点的语句序列是();(3)删除 P 结点的语句序列是();(4)删除首元结点的语句序列是();(5)删除尾元结点的语句序列是();2.2 设顺序表 va 中的数据元素递增有序。试写一算法,将x 插入到顺序表的适当位置上,以保持该表的有序性。2.3 已知线性表中的元素以值递增有序排列,并以单链表作存储结构。试写一算法,删除表中所有值大于mink 且小于 maxk 的元素。同时释放被删结点的空间,并分析你的算法的时间复杂度。 (mink 和 maxk 是给定的两个参数)2.4 试写一算法, 实现顺序表的就地逆置。 即利用原表空间将线性表 (a1,a2,⋯an)逆置为( an⋯,a2,a1)。2.5 ...