一、选择题

  • 全都是课后原题:
  • P17
  • P51
  • P76
  • P95
  • P138
  • P182
  • P215
  • P250

二、程序题(四个)

  1. 单链表顺序输出
template<class DateType>
void LinkList<DateType>::PrintList() {
    p = first->next;
    while (p != null) {
        cout << p->data;
        p = p->next;
    }
}

  1. 前序遍历
template<classDataType>
void BiTree<DataType>::PreOrder(BiNode <DataType> *bt) {
    if (bt == NULL) return;
    else {
        cout << bt->data;
        PreOrder(bt->lchild);
        PreOrder(bt->rchild);
    }
}

  1. 顺序查找
int seqSearch(int r[], int n, int k) {
    r[0] = k;
    i = n;
    while (r[i] != k) {
        i--;
    }
    return i;
}
  1. 插入排序
void InsertSort(int r[], int n) {
    for (i = 2; i <= n; i++) {
        r[0] = r[i];
        for (j = i - 1; r[0] < r[j]; j--)
            r[j + 1] = r[j];
        r[j + 1] = r[0];
    }
}

三、简答(五个)

  1. 算法的五大特征
    输入 输出 有穷性 确定性 可行性
  2. 前中后遍历次序 P113
  3. 深搜广搜次序 P148
  4. 堆排序初始堆 P233
  5. 构建二叉排序树画图 P195