本帖最后由 bboyhzk 于 2013-11-6 23:29 编辑
第一部分 选择和填空 选择和填空请看往年的真题和西南交大的数据结构的课件,以及每章的习题。还有在网上有10套模拟题,在百度文库中找 十套数据结构试题及答全部试题全出自这些题。 以下是我回忆的几个点 1. 数据元素 2. 数据结构的概念 3. 顺序插入排序的比较次数 4. 完全二叉树中非叶子节点的个数的计算 5. 快速排序一个数据 6. 直接插入排序的平均比较次数和最大比较次数 7. 快速排序和归并排序的空间复杂度 8. 叶子节点的条件 9. 前序遍历和中序遍历相同的条件 10. 给了一个有向图,写出两个拓扑排序 其他的可能太简单了吧,没有什么印象了。
第二部分 问答题 1:要经常插入数据,问用顺序存储还是链式存储,为什么? 2:给几个数字,动手建立平衡 二叉排序树。 3:给了一个二叉树的存储结构表,试着画出这个二叉树,然后写出前序遍历,中序遍历和后续遍历。 比如:地址为2的为根节点。 address |
1
|
2
|
3
|
lchild
|
0
|
1
|
0
|
data
|
B
|
A
|
C
|
rchild
|
0
|
3
|
0
|
4:一个字符串为abcd(举例), 第二个字符串为efgh。 然后把这个字符串变为abXYZgh. 其中有两个函数catcan—(一个合并函数) 和 replace(&s,i,len,ch)(一个替换函数)。 5:存储结构和逻辑结构有什么区别和联系?
第三部分 算法 1.用链表结构实现这样一个函数,每次获取一个正整数,然后插入到链表中,并且使链表从小到大有序,当输入-1时结束执行。 2: 二叉树的高度,二叉树的叶子节点的个数。
第四部分 算法填空 1:shell排序中挖去了几个空 2:往链表中插入一个数据。包含寻找插入点和插入的连个过程,然后把其中的几个地方挖去了。
|