除有特别说明外,每个题目请以自然语言、形式化表述(伪码、流程图等)、程序代码三种方式描述。
- 顺序结构线性表LA与LB的节点关键字为整数。LA与LB的元素按非递减有序,线性表空间足够大。试给出一种高效算法,将LB中的元素合并到LA中,使新的LA元素仍保持非递减有序。高效是指最大限度的避免移动元素。
- 请写一个算法将线性表(a1,a2,…,an)逆置为(an,an-1,…,a1)。
- 在一个递增有序的线性表中,有数值相同的元素存在。若存储方式为单链表,请设计算法去掉数值相同的元素,使表中不再有重复的元素。
- 设带有头节点的单链表中存储的数据元素为整数,试写算法,按递增次序输出单链表中各节点的数据元素,并释放节点所占的存储空间。
- 设计算法将中缀表达式转换为后缀表达式,并对后缀表达式求值。
- 请利用两个栈S1和S2来模拟一个队列。
- 离散事件模拟。 a) 利用伪随机数生成顾客到达事件; b) 使用队列模拟业务窗口的处理,设计算法将顾客分配到不同队列; c) 计算顾客平均停留时间
- 以顺序结构表示串,设计算法,求串S中出现的最长重复子串及其位置。重复子串的含义是由一个或多个连续相等的字符组成的子串。
- 写一个递归算法来实现字符串逆序存储,要求不另设串存储空间。
- 给定mxn矩阵A[m,n],并设A[i,j]<=A[i,j+1](0<=i<=m-1,0<=j<=n-2)和A[i,j]<=A[i+1,j] (0<=i<=m-2,0<=j<=n-1)。设计一个算法,判定x是否在A中,要求时间复杂度为O(m+n)。