1、数据结构中,与所使用的计算机无关的是[]A.存储结构B.物理结构C.逻辑结构D.物理和存储结构2、在存储数据时,通常不仅要存储各数据元素的值,还要存储[]A.数据的处理方法B.数据元素的类型C.数据元素之间的关系D.数据的存储方法3、算法分析的目的[]A.找出数据结构的合理性B.研究算法中的输入和输出的关系C.分析算法的效率以求改进D.分析算法的易读性和文档性4、如果对线性表的操作只有两种,即删除第一个元素,在最后一个元素的后面插入新元素,则最好使用[]A.只有表头指针没有表尾指针的循环单链表B.只有表尾指针没有表头指针的循环单链表C.非循环双链表D.循环双链表5、线性表的顺序存储结构是一种[]A.随机存取的存储结构B.顺序存取的存储结构C.索引存取的存储结构D.Hash存取的存储结构6、在一个长度为n的顺序表中删除第i个元素(1=i=n)时,需向前移动的元素个数是[]A.n-iB.n-i+1C.n-i-1D.i7、顺序循环队列中(数组的大小为6),队头指示front和队尾指示rear的值分别为3和0,当从队列中删除1个元素,再插入2个元素后,front和rear的值分别为[]A.5和1B.2和4C.1和5D.4和28、假设循环队列Q的队头为front,队尾指针为rear,则判断队空的条件是[]A.Q-front+1==Q-rearB.Q-rear+1==Q-frontC.Q-front==Q-rearD.Q-front==09、设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5和e6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出队的序列为e2、e4、e3、e6、e5和e1,则栈S的容量至少应为为[]A.6B.4C.3D.210、下面哪个术语与数据的存储结构无关[]A.顺序表B.链表C.散列表D.队列11、有6个元素6,5,4,3,2,1的顺序进栈,问下列哪个不是合法的出栈序列?[]12、在头指针为head且表长大于1的单循环链表中,指针p指向表中某个结点,若p-next-next=head,则()A.p指向头结点B.p指向尾结点C.*p的直接后继是尾结点D.*p的直接后继是头结点13、若某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用哪种存储方式最节省运算时间。[]A.单链表B.仅有头指针的单循环链表C.双链表D.仅有尾指针的单循环链表A.543621B.453126C.346521D.23415614、以下论述正确的是[]A.空串和空格串是相同的B.“Hon”是“Telephone”的子串C.空串的长度等于1D.空串是零个字符的串15、设有一个10阶的对称矩阵A,采用压缩存储方式存储于一维数组va中,a11为第一元素,其存储下标序号为1,则a85的下标序号为[]A.13B.33C.18D.4016、串的模式匹配是指[]A.判断两个串是否相等B.对两个串比较大小C.找某个字符在主串中第一次出现的位置D.找某子串在主串中第一次出现的第一个字符的位置17、将一棵有80个结点的完全二叉树从上到下,从左到右依次对结点编号,根结点的编号为1,则编号为38的结点的右孩子编号为[]18、以下有关二叉树的说法正确的是[]A.二叉树的度为2B.一棵二叉树的度可以小于2C.二叉树中至少有一个结点的度为2D.二叉树中任一个结点的度均为219、已知一棵二叉树中叶子节点数为6,则该二叉树中双支节点数多少个[]A.7B.5C.12D.320、在树结构中,若结点B有3个兄弟,A是B的父亲结点,则A的度为为[]A.3B.4C.5D.621、在下列表示方法中哪个是有向图边的表示方法。[]A.(1,2)B.(1,2C.1,2)D.1,222、对于一个具有n个顶点的无向图的边数最多有[]A.nB.n(n-1)/2C.n(n-1)D.2n23、在查找过程中,若同时还要做插入、删除操作,这种查找称为[]A.静态查找B.动态查找C.内部查找D.外部查找24、一个数据序列的关键字为:(46,79,56,38,40,84),采用快速排序,并以第一个数为基准得到第一次划分的结果为[]A.(38,40,46,56,79,84)B.(40,38,46,79,56,84)C.(40,38,46,56,79,84)D.(40,38,46,79,84,56)25、已知两个串s1和s2,s1=“student”,s2=“weclome”,则strcmp(s1,s2)的操作结果是[]A.0B.-1C.1D.526、有向图的邻接矩阵为[]A.对称矩阵B.非对称矩阵C.不一定是对称矩阵D.以上均不正确27、对于哈希函数H(key)=key%13,被称为同义词的关键字是[]A.36和41B.23和39C.15和41D.25和4728、在关键字序列(12,23,34,45,56,67,78,89,91)中二分查找关键字为45、89和12的结点时,所需进行的比较次数分别为[]A.4,4,3B.4,3,3C.3,4,4D.3,3,4二、填空题29、数据的逻辑结构主要分为线性结构、树型结构和。30、当线性表的元素总数基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素时,应采用存储结构。31、单链表的结点由和组成。32、栈存取数据的原则是。33、对13*13的对称矩阵,如果采用压缩存储方式来存储数据元素,则至少需要个存储单元。35、在p结点后插入s结点的语句序列是;;36、对于一棵具有n个结点的树,该树中所有结点的度数之和为是。37、高度为6的完全二叉树至少有个结点。38、无向图的邻接矩阵一定是矩阵。39、图的遍历方法主要有和。40、对一棵二叉排序树进行遍历,可以得到一个键值从小到大次序排列的有序序列。41、动态查找和静态查找的主要区别在于。42、每次从无序表中顺序取出一个元素,把其插入到有序表中的适当位置,这种排序方法叫做排序。43、常用的交换排序有冒泡排序和。三、综合应用题44、有一员工信息表EMP(no,name,age)欲采用单链表存储,请为该单链表设计结点结构并用C语言描述。structEMP{intno;charname[20];intage;structEMP*next;};45、创建二叉树的算法如下,回答下列问题structbtnode*create(){structbtnode*bt;charch;scanf(%c,&ch);if(ch=='#')bt=NULL;else{bt=(structbtnode*)malloc(sizeof(structbtnode));bt-data=ch;bt-lchild=create();bt-rchild=create();}return(bt);}(1)创建时输入的字符序列为ABD##EG##H##C#F##,请画出该二叉树。(2)请对上问中的二叉树分别进行前序、中序、后序遍历。46、已知一棵二叉树的中序遍历结果为:DBFEAGHCI,后序遍历结果为:DFEBHGICA。(1)画出这棵二叉树,并写出它的前序遍历结果;(2)将这棵二叉树转换成等价的森林。47、已知序列(89,97,78,56,61,82,88,50,86,75),请按照下列排序方法对该序列进行升序排列。(1)写出采用直接插入法对该序列排序的每一趟排序结果。[8997]7856618288508675[788997]56618288508675[56788997]618288508675[5661788997]8288508675[566178828997]88508675[56617882888997]508675[5056617882888997]8675[505661788286888997]75[50566175788286888997](2)写出采用直接选择排序法对该序列排序的每一趟排序结果。[50]977856618288898675[5056]7897618288898675[505661]9778828889867548、已知关键字序列{37,2,13,26,5,15,17,9,31},设哈希表表长为16,哈希函数H(key)=keyMOD13,处理冲突的方法为线性探测法。(1)请给出哈希表,并计算在等概率的条件下的平均查找长度。(2)求查找数31需要比较的次数。49、假设通信电文使用的字符集为{a,b,c,d,e,f,g},字符的哈夫曼编码依次为:0110,10,110,111,00,0111和010。(1)请根据哈夫曼编码画出此哈夫曼树,并在叶子结点中标注相应字符;(2)若这些字符在电文中出现的频度分别为:3,35,13,15,20,5和9,求该哈夫曼树的带权路径长度。