数据结构实践考试大纲 | AI生成和翻译

Home 2025.12

广东省高等教育自学考试

《数据结构(实践)》课程考试大纲

(课程代码:13182)

一、考核目标

《数据结构》是高等教育自学考试计算机应用(专科)专业的专业核心课程。“数据结构实践”课程旨在通过理论学习和上机实验,培养考生对实际问题进行数据结构应用的能力。

要求考生具备以下能力:

二、使用教材

《数据结构》
全国高等教育自学考试指导委员会编
辛运帏 陈淑瑛主编
机械工业出版社,2023年版

三、考核内容

考生须掌握以下内容:

  1. 链表的结构与操作,并能运用链表操作来解决应用问题
  2. 顺序栈和循环队列的存储特点及基本操作
  3. 二维数组的存储及其下标随机访问特性,并能运用二维数组解决问题
  4. 二叉树的二叉链表存储,并能实现树的建立、遍历和哈夫曼算法
  5. 图的邻接矩阵和邻接表存储,并能实现图的建立、遍历及应用
  6. 实现基本的排序算法,并比较关键码的比较次数和移动次数
  7. 了解顺序查找和二分查找的原理,并实现查找过程

四、考试形式

闭卷笔试,考试时间120分钟,卷面总分100分

题型 说明 题量 分值
选择题 从4个选项中选择最佳答案 10题 20
代码填空题 补全给定程序中缺失的部分 2题(共10空) 20
函数题 根据提供的接口和主函数编写所需函数 2题 20
编程题 根据要求编写完整的程序 3题 40
总计     100

五、考试要求

  1. 仅限闭卷纸质考试
  2. 考试时长:120分钟
  3. 必须覆盖第三部分的所有知识点
  4. 难度分布:容易20%,中等偏易35%,中等偏难35%,困难10%

六、网络环境

无需(线下纸质考试)

七、重要须知

  1. 答题必须使用黑色或蓝色钢笔(不允许使用铅笔)
  2. 所有代码(填空、函数和编程题)均须用C语言编写

八、参考题型

1. 选择题(10题,共20分)

Q1. 对表达式中括号是否配对进行检查,最适合采用的数据结构是:
A. 线性表 B. 队列 C. 树 D. 栈
答案: D

2. 代码填空题(2题,共20分)

Q1. 补全循环队列的实现(10分)

// 关键空及答案:
(1) (q->rear + 1) % MAX_SIZE == q->front
(2) isFull(q)
(3) (q->rear + 1) % MAX_SIZE
(4) q->data[i]
(5) initQueue(&q)

3. 函数题(2题,共20分)

Q1. 删除带头结点的单链表中第 i 个结点(10分)

int deli(Node* head, int i) {
    if (head == NULL || i < 1) return 0;
    Node* p = head->next;
    Node* q = head;
    int j = 1;
    while (p != NULL && j < i) {
        q = p;
        p = p->next;
        j++;
    }
    if (p != NULL && j == i) {
        q->next = p->next;
        free(p);
        return 1;
    }
    return 0;
}

4. 编程题(3题,共40分)

Q1. 直接插入排序——每趟排序后输出数组(15分)

#include <stdio.h>
#define MAX_SIZE 100

void printArray(int arr[], int n) {
    for (int i = 0; i < n - 1; i++) printf("%d ", arr[i]);
    printf("%d\n", arr[n-1]);
}

void insertionSort(int arr[], int n) {
    for (int i = 1; i < n; i++) {
        int temp = arr[i];
        int j = i - 1;
        while (j >= 0 && arr[j] > temp) {
            arr[j + 1] = arr[j];
            j--;
        }
        arr[j + 1] = temp;
        printArray(arr, n);
    }
}

int main() {
    int arr[MAX_SIZE], n;
    scanf("%d", &n);
    for (int i = 0; i < n; i++) scanf("%d", &arr[i]);
    insertionSort(arr, n);
    return 0;
}

Back

x-ai/grok-4.1-fast

Donate