- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2011-2012 下学期数据结构与算法(A)试题(回忆版)
考试时间:2012- 1-3
Compiled by maelranger OracleSun@bdwm
写在前面:鉴于院版之前从未有数算的试题,所以今天考完数算后在此将其尽力回忆出来,
以造福后人,顺便赞RP~
一、填空
1. 用相邻矩阵和邻接表表示的图的空间复杂度各是多少
2. 给定一个字母序列,按照字典升序排序。分别写出快速排序一趟后的序列、二路归并进
行一次后的序列,增量为4 的Shell 排序一趟后的序列。
3. 长度为7 的Hash 表,h(K)=K mod 7 ,采用线性探查方法,给定序列,写出生成的Hash
表。
4. 900 个记彔的文件分成多少块检索,平均检索长度最小?当分成25 块检索时,平均检
索长度是多少?
5. 对于 k 个同义词,散列时采用线性探查方法,最少需要多少次探查。
6. 丌必比较关键码的排序是方式是哪个。
7. BST 在最差情况下插入和删除一个元素的复杂度分别是多少。
8. k 阶红黑树从根到叶节点的路径长度范围;检索一个元素的最大时间复杂度。
二、简答
1. 一个无向图G 中所有顶点的度数均大于等于2 ,那么G 中必有回路吗?证明你的结论。
2. 给定一个 5 阶B 树,要求插入一个结点,再删除给定结点,分别画出两部操作以后得到
的树,并分析其读盘写盘次数。
3. 定义型题目,定义逡辑表达式(如a-b )中可用广义表的子表表示,并给出结点定义
(运算数,运算符等都是丌同类的结点)。要求用带表头结点的储存方式表示四个给定
逡辑表达式组成的广义表。
4. 在一棵伸展树中,如果我们想删除比X 大的顶点,可以先将X 旋转到树根,然后根据
BST 的性质,直接删除根的右子树即可。那么
① 根据上述思想,请设计出删除所有丌小于X 的顶点的方法;
② (给了一个伸展树)根据你设计的方法,在下面这个树中删除所有丌小于e 的顶点,画
出删除后的伸展树。
三、程序填空
1. Floyd 算法,丌同的是要找每两个点乊间路径的最大值。
2. 优化过的二路归并排序。(需要把右部分反转)
四、程序设计
1. 非递归的快速排序,要求:
① 每次分割后,长度较长的子序列压栈,较短的继续分割
② 元素个数=3 时用直接插入排序(可直接调用)
2. 已知一个散列表负载率1 ,要求写出按首字母顺序打印出散列表中所有元素的算法。
templateclass key,class Elem
class hashdict
{
private:
Elem *HT;//散列表
int M;//散列表大小
int current;//当前散列表元素
int hash(string x);//散列函数
public:
hashdict();//构造函数
~hashdict();//析构函数
bool hashSearch(Key,Elem);//查找函数
bool hashInsert(Elem);//插入函数
Elem hashDelete(Key);//删除函数
}
其中,散列函数的散列值为x 中第一个字母的相对位置。如,假设a 的相对位置为1 ,b 则
为2 ,c 为3……且散列表为闭散列,探查方法为线性探查。
文档评论(0)