北理工数据结构作业2
数据结构--第二章考试题库(含答案)

第2章线性表一选择题1.下述哪一条是顺序存储结构的优点?()【北方交通大学 2001 一、4(2分)】A.存储密度大 B.插入运算方便 C.删除运算方便 D.可方便地用于各种逻辑结构的存储表示2.下面关于线性表的叙述中,错误的是哪一个?()【北方交通大学 2001 一、14(2分)】A.线性表采用顺序存储,必须占用一片连续的存储单元。
B.线性表采用顺序存储,便于进行插入和删除操作。
C.线性表采用链接存储,不必占用一片连续的存储单元。
D.线性表采用链接存储,便于插入和删除操作。
3.线性表是具有n个()的有限序列(n>0)。
【清华大学 1998 一、4(2分)】A.表元素 B.字符 C.数据元素 D.数据项 E.信息项4.若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用()存储方式最节省时间。
【哈尔滨工业大学 2001二、1(2分)】A.顺序表 B.双链表 C.带头结点的双循环链表 D.单循环链表5.某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用()存储方式最节省运算时间。
【南开大学 2000 一、3】A.单链表 B.仅有头指针的单循环链表 C.双链表 D.仅有尾指针的单循环链表6.设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用( )最节省时间。
A. 单链表B.单循环链表C. 带尾指针的单循环链表D.带头结点的双循环链表【合肥工业大学 2000 一、1(2分)】7.若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点。
则采用()存储方式最节省运算时间。
【北京理工大学 2000一、1(2分)】A.单链表 B.双链表 C.单循环链表 D.带头结点的双循环链表8. 静态链表中指针表示的是(). 【北京理工大学 2001 六、2(2分)】A.内存地址 B.数组下标 C.下一元素地址 D.左、右孩子地址9. 链表不具有的特点是()【福州大学 1998 一、8 (2分)】A.插入、删除不需要移动元素 B.可随机访问任一元素C.不必事先估计存储空间 D.所需空间与线性长度成正比10. 下面的叙述不正确的是()【南京理工大学 1996 一、10(2分)】A.线性表在链式存储时,查找第i个元素的时间同i的值成正比B. 线性表在链式存储时,查找第i个元素的时间同i的值无关C. 线性表在顺序存储时,查找第i个元素的时间同i 的值成正比D. 线性表在顺序存储时,查找第i个元素的时间同i的值无关11. 线性表的表元存储方式有((1))和链接两种。
2003-2016年北京理工大学889数据结构考研真题及答案解析 汇编

2017版北京理工大学《889数据结构》全套考研资料我们是布丁考研网北理工考研团队,是在读学长。
我们亲身经历过北理工考研,录取后把自己当年考研时用过的资料重新整理,从本校的研招办拿到了最新的真题,同时新添加很多高参考价值的内部复习资料,保证资料的真实性,希望能帮助大家成功考入北理工。
此外,我们还提供学长一对一个性化辅导服务,适合二战、在职、基础或本科不好的同学,可在短时间内快速把握重点和考点。
有任何考北理工相关的疑问,也可以咨询我们,学长会提供免费的解答。
更多信息,请关注布丁考研网。
以下为本科目的资料清单(有实物图及预览,货真价实):2017年北理工《数据结构》全套资料包含:一、北京理工大学《数据结构》历年考研真题2016年北理工《数据结构》考研真题2015年北理工《数据结构》考研真题2014年北理工《数据结构》考研真题2013年北理工《数据结构》考研真题2008年北理工《数据结构》考研真题2007年北理工《数据结构》考研真题2006年北理工《数据结构》考研真题2005年北理工《数据结构》考研真题2004年北理工《数据结构》考研真题2003年北理工《数据结构》考研真题二、北京理工大学889《数据结构》考研经验总结。
注意了:北理工889数据结构是近几年开始的科目,以前都是跟其他科目综合考试,2008年之后真题为回忆版,请大家了解好了再买,这些都是纯真题,买后不能退款。
三、北理工《数据结构》期末试题10套及答案。
...四、北理工《数据结构》考研复习提纲。
五、北理工《数据结构》考研题库及答案。
六、、严蔚敏《数据结构》全套教学视频48课时。
(电子版)七、、严蔚敏《数据结构》课后习题答案。
以下为截图及预览:2007年真题2016年真题课后习题及答案课后习题及答案2期中期末试卷期中期末试卷答案。
北京理工大学《数据结构》试题及答案(B卷)

一、单项选择题1.算法必须具备的三个特性是( )。
A.可执行性、可移植性、可扩充性B.可执行性、确定性、有穷性C.确定性、有穷性、稳定性D.易读性、稳定性、安全性2.下列数据中,( )是非线性数据结构。
A.栈B.队列C.完全二叉树D.顺序表3.算法分析的两个方面是( )。
A.空间复杂度和时间复杂度B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性4.非空的循环单链表head的尾结点p满足( )。
A.p->next==head B.p->next==NULLC.p==NULL D.p==head5.在单链表指针为p的结点之后插入指针为s的结点,正确的操作是( )。
A.p->next=s;s->next=p->next; B.s->next=p->next;p->next=s;C.p->next=s;p->next=s->next; D.p->next=s->next;p->next=s;6.按照二叉树的定义,具有3个结点的二叉树有( )种。
A.3 B.4C.5 D.67.在一个有向图中,所有顶点的入度之和是所有顶点的出度之和的( )倍。
A.1/2 B.1C.2 D.48.二叉排序树是( )。
A.每一分支结点的度均为2的二叉树B.中序遍历得到一升序序列的二叉树C.按从左到右顺序编号的二叉树D.每一分支结点的值均小于左子树上所有结点的值,大于右子树上所有结点的值9.若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别是( )。
A.1和 5 B.2和4C.4和2 D.5和110.下列说法中正确的是( )。
A.堆栈是在两端操作、先进后出的线性表B.堆栈是在一端操作、先进先出的线性表C.队列是在一端操作、先进先出的线性表D.队列是在两端操作、先进先出的线性表11.不带头结点的单链表head为空的判定条件是( )。
数据结构第2章习题及答案

7.若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点。
则采用()存储方式最节省运算时间。
【北京理工大学 2000 一、1(2分)】A.单链表 B.双链表 C.单循环链表 D.带头结点的双循环链表8. 静态链表中指针表示的是(). 【北京理工大学 2001 六、2(2分)】A.内存地址 B.数组下标 C.下一元素地址 D.左、右孩子地址9. 链表不具有的特点是()【福州大学 1998 一、8 (2分)】A.插入、删除不需要移动元素 B.可随机访问任一元素C.不必事先估计存储空间 D.所需空间与线性长度成正比10. 下面的叙述不正确的是()【南京理工大学 1996 一、10(2分)】A.线性表在链式存储时,查找第i个元素的时间同i的值成正比B. 线性表在链式存储时,查找第i个元素的时间同i的值无关C. 线性表在顺序存储时,查找第i个元素的时间同i 的值成正比D. 线性表在顺序存储时,查找第i个元素的时间同i的值无关11. 线性表的表元存储方式有((1))和链接两种。
试指出下列各表中使用的是何种存储方式:表1是((2))存储方式;表2是((3))存储方式;表3是((4))存储方式;表4是((5))存储方式。
表左的s指向起始表元。
供选择的答案:A.连续B.单向链接C.双向链接D.不连接E.循环链接F.树状G.网状H.随机I.顺序J.顺序循环【上海海运学院 1995 二、1(5分)】12.(1) 静态链表既有顺序存储的优点,又有动态链表的优点。
所以,它存取表中第i个元素的时间与i无关。
(2) 静态链表中能容纳的元素个数的最大数在表定义时就确定了,以后不能增加。
(3) 静态链表与动态链表在元素的插入、删除上类似,不需做元素的移动。
以上错误的是()【南京理工大学 2000 一、3(1.5分)】A.(1),(2) B.(1) C.(1),(2),(3) D.(2)13. 若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为()(1Rlink=p;p->Llink->Rlink=q;q->Llink=q;B. p->Llink=q;p->Llink->Rlink=q;q->Rlink=p;q->Llink=p->Llink;C. q->Rlink=p;q->Llink=p->Llink;p->Llink->Rlink=q;p->Llink=q;D. q->Llink=p->Llink;q->Rlink=q;p->Llink=q;p->Llink=q;24.在单链表指针为p的结点之后插入指针为s的结点,正确的操作是:()。
奥鹏北理工《数据结构与算法》在线作业标准答案

C数组的读、写运算只能读取或修改一个数据元素的一部分
D数组的读、写运算只能读取或修改一个数据元素整体
【答案】:B
14.用链接方式存储的队列,在进行插入运算时()。
【选项】:
A仅修改头指针
B头、尾指针都要修改
C仅修改尾指针
D头、尾指针可能都要修改
D队列是在两端操作、后进先出的线性表
【答案】:
3.以下关于线性表的说法不正确的是()。
【选项】:
A线性表中的数据元素可以是数字、字符、记录等不同类型
B线性表中包含的数据元素个数不是任意的
C线性表中的每个结点都有且只有一个直接前趋和直接后继
D存在这样的线性表:表中各结点都没有直接前趋和直接后继
【答案】:C
【选项】:
A栈顶
B栈底
C任意位置
D指定位置
【答案】:A
32.下列排序方法中,排序趟数与序列的原始状态有关的方法是()。
【答案】:D
15.下列说法哪个是不正确的()。
【选项】:
A快速排序属于不稳定排序。
B希尔排序属于不稳定排序。
C直接插入排序属于不稳定排序。
D堆排序属于不稳定排序。
【答案】:
16.设有一个二维数A[m][n],以行序为主序存储。假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,则A[4][5]在()位置,(10)表明用10进数表示。
D选择排序
【答案】:C
29.当待排序列基本有序时,下列排序方法中()最好。
【选项】:
A直接插入排序
B快速排序
C堆排序
D归并排序
17秋北理工《数据结构与算法》在线作业

A.有序
B.无序
C.既可有序也可无序
正确答案:A??????满分:2.5??分
2.??如果想在4092个数据中只需要选择其中最小的5个,采用()方法最好。
A.冒泡排序
B.堆排序
C.锦标赛排序
D.快速排序
正确答案:B??????满分:2.5??分
正确答案:A??????满分:2.5??分
8.??顺序查找适合于存储结构为()的查找表。
A.压缩存储
B.散列存储
C.索引存储
D.顺序存储或链式存储
正确答案:D??????满分:2.5??分
9.??从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在已排序序列的合适位置,该排序方法称为()排序法。
D. 15
正确答案:B??????满分:2.5??分
22.??n个顶点的连通图至少有()条边。
A. n-1
B. n
C. n+1
D. 0
正确答案:A??????满分:2.5??分
23.??稀疏矩阵一般的压缩存储方法有两种,即()。
A.二维数组和三维数组
B.三元组表和散列表
C.三元组表和十字链表
D.散列表和十字链表
A. n/2
B. n
C. (n+1)/2
D. n+1
正确答案:B??????满分:2.5??分
16.??下列说法正确的是()
A.堆栈是在两端操作、先进后出的线性表
B.堆栈是在一端操作、先进后出的线性表
C.队列是在一端操作、先进先出的线性表
D.队列是在两端操作、后进先出的线性表
北京理工大学2014-2015学年数据结构期末考试卷

北京理工大学2014-2015学年数据结构期末考试卷北京理工大学2014-2015学年第一学期《数据结构》期末考试试题(A)一、选择题(24分)1,下面关于线性表的叙述错误的是()。
(A)线性表采用顺序存储必须占用一片连续的存储空间(B)线性表采用链式存储不必占用一片连续的存储空间(C)线性表采用链式存储便于插入和删除操作的实现(D)线性表采用顺序存储便于插入和删除操作的实现2,设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有()个空指针域。
(A)2m-1(B)2m(C)2m+1(D)4m3,设顺序循环队列Q[0:M-1]的头指针和尾指针分别为F和R,头指针F总是指向队头元素的前一位置,尾指针R总是指向队尾元素的当前位置,则该循环队列中的元素个数为()(A)R-F(B)F-R(C)(R-F+M)%M(D)(F-R+M)%M4,设某棵二叉树的中序遍历序列为ABCD,前序遍历序列为CABD,则后序遍历该二叉树得到序列为()。
(A)BADC(B)BCDA(C)CDAB(D)CBDA5,设某完全无向图中有n个顶点,则该完全无向图中有()条边。
(A)n(n-1)/2(B)n(n-1)(C)n2(D)n2-1,6,设某棵二叉树中有2000个结点,则该二叉树的最小高度为()(А)9(B)10(C)11(D)127,设某有向图中有n个顶点,则该有向图对应的邻接表中有()个表头结点。
(A)n-1(B)n(C)n+1(D)2n-18,设一组初始记录关键字序列(5,2,6,3,8),以第一个记录关键字5为基准进行一趟快速排序的结果为()。
(A)2,3,5,8,6(B)3,2,5,8,6(C)3,2,5,6,8(D)2,3,6,5,8二、填空题(24 分)1,为了能有效地应用HASH查找技术,必须解决的两个问题是________________和________________________。
北理工计算机体系结构习题解答

2021/6/16
17
1-9 如果某一计算任务用向量方式求解比 用标量方式求解要快20倍,称可用向量 方式求解部分所花费时间占总的百分比 为可向量化百分比。请写出加速比与可 向量化比例两者的关系曲线。
4
第1章 基础知识
透明性
本来存在的事物或属性,从某个角 度看却好象不存在
软件兼容
程序可以不加修改地运行在各档机 器上,区别仅在于运行时间不同
它分为向上兼容和向下兼容,以及 向前兼容和向后兼容
2021/6/16
5
第1章 基础知识
模拟
用 一 种 机 器 ( A) 的 机 器 语 言 解 释 实现另一种机器(B)的指令系统, 使A具有B的指令系统,从而实 现软件移植的方法。被模拟的机
2021/6/16
25
第2章 指令系统
功能型指令
真正执行数据变换的指令,如加、减、 乘、除等
哈夫曼压缩概念
当各种事件发生的概率不均等时,使用 概率高的事件用短代码表示,使用概率 低的事件用长代码表示,就会使平均位 数缩短。哈夫曼编码是最优化的编码方 法
2021/6/16
26
第2章 指令系统
减少指令总数,简化指令功能,以 降低硬件设计的复杂度,提高指令 的执行速度。按这种途径和方向发 展,会使机器的指令系统精炼简单, 因此称采用这种途径设计而成的 CPU的计算机为精简指令集计算机 RISC
2021/6/16
28
第2章 指令系统
2-1 数据表示是指由硬件直接识别
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北理工数据结构作业2
一、问题描述
根据北理工数据结构作业2,要求如下:
设计一个程序,实现以下功能:
1、创建一个链表,可以存储整数类型的数据;
2、在链表的头部插入一个新的节点;
3、在链表的尾部插入一个新的节点;
4、在链表的指定位置插入一个新的节点;
5、删除链表的指定位置的节点;
6、修改链表的指定位置的节点的值;
7、查找链表中指定值的节点,并返回该节点的位置;
8、遍历链表,并输出链表中的所有节点的值;
9、清空链表的所有节点;
10、销毁链表,释放链表的内存。
二、解决方案
1、链表的数据结构定义
struct Node {
int value;
struct Node next;
};
```
2、创建链表
```c
struct Node createList();
```
- 功能:创建一个空链表,并返回链表的头节点指针。
- 输入:无
- 输出:链表的头节点指针
3、头部插入节点
```c
struct Node insertNodeAtHead(int value, struct Node head);
- 功能:在链表的头部插入一个新的节点,并返回链表的头节点指针。
- 输入:待插入节点的值,链表的头节点指针
- 输出:链表的头节点指针
4、尾部插入节点
```c
void insertNodeAtTl(int value, struct Node head);
```
- 功能:在链表的尾部插入一个新的节点。
- 输入:待插入节点的值,链表的头节点指针
- 输出:无
5、指定位置插入节点
```c
void insertNodeAtIndex(int value, int index, struct Node head);
```
- 功能:在链表的指定位置插入一个新的节点。
- 输入:待插入节点的值,待插入的位置,链表的头节点指针
- 输出:无
6、删除指定位置的节点
```c
void deleteNodeAtIndex(int index, struct Node head);
```
- 功能:删除链表的指定位置的节点。
- 输入:待删除的节点位置,链表的头节点指针
- 输出:无
7、修改指定位置节点的值
```c
void modifyNodeValue(int value, int index, struct Node head);
```
- 功能:修改链表的指定位置节点的值。
- 输入:待修改节点的值,待修改节点的位置,链表的头节点指针
- 输出:无
8、查找指定值的节点
```c
int findNodeByValue(int value, struct Node head);
```
- 功能:在链表中查找指定值的节点,并返回节点的位置。
- 输入:待查找的值,链表的头节点指针
- 输出:节点的位置,若未找到则返回-1
9、遍历链表
```c
void traverseList(struct Node head);
```
- 功能:遍历链表,并输出链表中的所有节点的值。
- 输入:链表的头节点指针
- 输出:无
10、清空链表
```c
void clearList(struct Node head); ```
- 功能:清空链表的所有节点。
- 输入:链表的头节点指针
- 输出:无
11、销毁链表
```c
void destroyList(struct Node head); ```
- 功能:销毁链表,释放链表的内存。
- 输入:链表的头节点指针
- 输出:无
三、附件
无
四、法律名词及注释
无。