数据结构各章复习题.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《数据结构各章复习题.docx》由会员分享,可在线阅读,更多相关《数据结构各章复习题.docx(68页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构期末复习题及答案全集 第 1 章 绪论 一填空题 1. 数据结构被形式地定义为(D, R),其中D是 的有限集合,R是D上的 有限集合。 2. 数据结构包括数据的 、数据的 和数据的 这三个方面的内容。 3. 数据结构按逻辑结构可分为两大类,它们分别是 和 。 4. 线性结构中元素之间存在 关系,树形结构中元素之间存在 关系,图形结构中元素之间存在 关系。 5在线性结构中,第一个结点 前驱结点,其余每个结点有且只有 1个前驱结点;最后一个结点 后续结点,其余每个结点有且只有1个后续结点。 6. 在树形结构中,树根结点没有 结点,其余每个结点有且只有 个前驱结点;叶子结点没有 结点,其余
2、每个结点的后续结点数可以 。 7. 在图形结构中,每个结点的前驱结点数和后续结点数可以 。 8. 数据的存储结构可用四种基本的存储方法表示,它们分别是 。 9数据的运算最常用的有5种,它们分别是 。 10. 一个算法的效率可分为 效率和 效率。 11数据结构是研讨数据的_(1)_和_(2)_,以及它们之间的相互关系,并对与这种结构定义相应的_(3)_,设计出相应的(4)_。 12. 下面程序段中带下划线的语句的执行次数的数量级是( )。 i:=1; WHILE i0)。 A表元素 B字符 C数据元素 D数据项 ( A )12若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运
3、算,则利用_ 存储方式最节省时间。 A顺序表 B双链表 C带头结点的双循环链表 D单循环链表 ( D )13某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用 _ 存储方式最节省运算时间。 A单链表 B仅有头指针的单循环链表 C双链表 D仅有尾指针的单循环链表( B )14. 静态链表中指针表示的是_. A 内存地址 B数组下标 C下一元素地址 D左、右孩子地址( B )15. 链表不具有的特点是_. A插入、删除不需要移动元素 B可随机访问任一元素 C不必事先估计存储空间 D所需空间与线性长度成正比 ( D )16完成在双循环链表结点p之后插入s的操作是( ).
4、A p.next:=s ; s.priou:=p; p.next.priou:=s ; s.next:=p.next; B p.next.priou:=s; p.next:=s; s.priou:=p; s.next:=p.next; C s.priou:=p; s.next:=p.next; p.next:=s; p.next.priou:=s ; D s.priou:=p; s.next:=p.next; p.next.priou:=s ; p.next:=s; ( B )17在单链表指针为p的结点之后插入指针为s的结点,正确的操作是:( )。 Ap-next=s;s-next=p-nex
5、t; B s-next=p-next;p-next=s; Cp-next=s;p-next=s-next; D p-next=s-next;p-next=s; ( B )18对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是( ) Ahead=NULL Bheadnext=NULL Cheadnext=head Dhead!=NULL ( A )19. 在双向链表存储结构中,删除p所指的结点时须修改指针( )。 A (p.llink).rlink:=p.rlink (p.rlink).llink:=p.llink; B p.llink:=(p.llink).llink (p.l
6、link).rlink:=p; C (p.rlink).llink:=p p.rlink:=(p.rlink).rlink D p.rlink:=(p.llink).llink p.llink:=(p.rlink).rlink; 三、简答题 1线性表有两种存储结构:一是顺序表,二是链表。试问: (1) 如果有 n个线性表同时并存,并且在处理过程中各表的长度会动态变化,线性表的总数也会自动地改变。在此情况下,应选用哪种存储结构? 为什么? 答:在此情况下,应该使用链式存储结构.因为,链式表可以很好地处理插入删除操作,而使用顺序存储结构则可能发生溢出,又有可能因为预分配的空间过大造成浪费. (2)
7、 若线性表的总数基本稳定,且很少进行插入和删除,但要求以最快的速度存取线性表中的元素,那么应采用哪种存储结构?为什么? 答:应选用顺序存储结构,因为,单链表查找元素的时间复杂度为 O(1). 2 . 在单链表中设置头结点的作用是什么? 答:将空表与非空表,头尾结点与其它结点的操作统一. 四、线性表具有两种存储方式,即顺序方式和链接方式。现有一个具有五个元素的线性表 L=23,17,47,05,31,若它以链接方式存储在下列 100119 号地址空间中,每个结点由数据(占 2 个字节)和指针(占 2 个字节)组成,如下所示: 05 U 17 X 23 V 31 Y 47 Z 100 120 其中
8、指针 X,Y,Z 的值分别为多少?该线性表的首结点起始地址为多少?末结点的起始地址为多少? 答: X 的值为 116 , Y 的值为 NULL , Z 的值为 100 .首结点起始地址为 108,末结点的起始地址为 112 . 五、编程题 1. 写出顺序创建单链表的程序,即按从 a1 到 an 顺序创建。 此文件名为 MyLinkList.cpp#include s-data=ai; using namespace std; s-next=first-next; template first-next=s; struct Node T data; template Node *next; Li
9、nkList : LinkList() ; template Node *q; class LinkList Node *p; p=first; private: while(p) Node *first; public : q=p; LinkList(T a,int n); p=p-next; LinkList(); delete q; void PrintList(); ; template void main() LinkList:LinkList(T a,int n) int r=1,2,3,4,5; first=new Node; LinkLista(r,5); first-next
10、=NULL; a.PrintList (); for(int i=0;in;i+) system(pause); Node *s; s=new Node; 2. 已知一个带头结点的单链表 L,请编程求该单链表中数据元素的个数。 由于已知一个单链表 L,所以把上一道题的代码引 i+; 过来 p=p-next; #include #include “MyLinkList.cpp” return i; using namespace std; template void main() int LinkList:getLongth() LinkList L; Node *p; L.getLongth(
11、); int i=0; system(pause); p=first-next; while(p) 3. 设有一带头结点的单链表,编程将链表颠倒过来,即(a1.an)逆置为(an.a1),要求不用另外的数组或结点完成. #include using namespace std; template q=p; struct Node p=p-next; delete q; T data; Node *next; ; template template int LinkList:getLongth() class LinkList Node *p; private: int i=0; Node *f
12、irst; p=first-next; public : while(p) LinkList() first=new Node;first-next=NULL; i+; LinkList(int n); p=p-next; LinkList(); Node* getFirst() return i; return this-first; template void LinkList:TurnLinkList() void PrintList(); int getLongth(); Node *p,*q,*r; void TurnLinkList(); p=first-next ; ; q=p-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 各章 复习题
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内