数据结构C语言版部分习题及答案.

第二章 习题与解答

一 判断题

1.线性表的逻辑顺序与存储顺序总是一致的。

2.顺序存储的线性表可以按序号随机存取。

3.顺序表的插入和删除操作不需要付出很大的时间代价,因为每次操作平均只有近一半的元素需要移动。

4.线性表中的元素可以是各种各样的,但同一线性表中的数据元素具有相同的特性,因此是属于同一数据对象。

5.在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上并不一定紧邻。

6.在线性表的链式存储结构中,逻辑上相邻的元素在物理位置上不一定相邻。

7.线性表的链式存储结构优于顺序存储结构。

8.在线性表的顺序存储结构中,插入和删除时,移动元素的个数与该元素的位置有关。

9.线性表的链式存储结构是用一组任意的存储单元来存储线性表中数据元素的。

10.在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取的存储结构。

二 单选题 (请从下列A,B,C,D选项中选择一项)

1.线性表是( ) 。

(A) 一个有限序列,可以为空; (B) 一个有限序列,不能为空;

(C) 一个无限序列,可以为空; (D) 一个无序序列,不能为空。

2.对顺序存储的线性表,设其长度为n,在任何位置上插入或删除操作都是等概率的。插入一个元素时平均要移动表中的( )个元素。

(A) n/2 (B) n+1/2 (C) n -1/2 (D) n

3.线性表采用链式存储时,其地址( ) 。

(A) 必须是连续的; (B) 部分地址必须是连续的;

(C) 一定是不连续的; (D) 连续与否均可以。

4.用链表表示线性表的优点是( )。

(A)便于随机存取

(B)花费的存储空间较顺序存储少

(C)便于插入和删除

(D)数据元素的物理顺序与逻辑顺序相同

某链表中最常用的操作是在最后一个元素之后插入一个元素和删除最后一个元素,则采用( )存储方式最节省运算时间。

(A)单链表

(B)双链表

(C)单循环链表

(D)带头结点的双循环链表

循环链表的主要优点是( ) 。

(A)不在需要头指针了

(B)已知某个结点的位置后,能够容易找到他的直接前趋

(C)在进行插入、删除运算时,能更好的保证链表不断开

(D)从表中的任意结点出发都能扫描到整个链表

下面关于线性表的叙述错误的是( )。

线性表采用顺序存储,必须占用一片地址连续的单元;

线性表采用顺序存储,便于进行插入和删除操作;

线性表采用链式存储,不必占用一片地址连续的单元;

线性表采用链式存储,不便于进行插入和删除操作;

单链表中,增加一个头结点的目的是为了( )。

(A) 使单链表至少有一个结点 (B)标识表结点中首结点的位置

(C)方便运算的实现 (D) 说明单链表是线性表的链式存储

若某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( )存储方式最节省运算时间。

(A) 单链表 (B) 仅有头指针的单循环链表

(C) 双链表 (D) 仅有尾指针的单循环链表

若某线性表中最常用的操作是取第i个元素和找第i个元素的前趋元素,则采用( )存储方式最节省运算时间( )。

(A) 单链表 (B) 顺序表

(C) 双链表 (D) 单循环链表

三 填空题

1.带头结点的单链表H为空的条件是__________________。

非空单循环链表L中*p是尾结点的条件是__________________。

3.在一个单链表中p所指结点之后插入一个由指针f所指结点,应执行s->next=________;和p->next=_____________的操作。

4.在一个单链表中p所指结点之前插入一个由指针f所指结点,可执行以下操作:

s->next=________;

p->next=s;

t=p->data;

p->data=___________;

s->data=___________;

5.在顺序表中做插入操作时首先检查_________________。

四 算法设计题

设线性表存放在向量A[arrsize]的前elenum个分量中,且递增有序。试写一算法,将x 插入到线性表的适当位置上,以保持线性表的有序性。并且分析算法的时间复杂度。

已知一顺序表A,其元素值非递减有序排列,编写一个函数删除顺序表中多余的值相同的元素。

编写一个函数,从一给定的顺序表A中删除值在x~y(x<=y)之间的所有元素,要求以较高的效率来实现。

提示:可以先将顺序表中所有值在x~y之间的元素置成一个特殊的值,并不立即删除它们,然后从最后向前依次扫描,发现具有特殊值的元素后,移动其后

数据结构c语言版代码答案,数据结构C语言版部分习题及答案..doc相关推荐

  1. 严蔚敏《数据结构》的全部代码实现(C语言)

    严蔚敏<数据结构>的全部代码实现(C语言)源码全部都在! http://u.115.com/file/f710d0eca1     提取码 f710d0eca1

  2. 马秀丽C语言程序设计答案pdf,C语言程序设计清华大学马秀丽刘志妩科后习题9答案.doc...

    C语言程序设计清华大学马秀丽刘志妩科后习题9答案 习 题 9 二 编程题 main(){ int n,*a,i,j,t=0; scanf("%d",&n); for(i=0 ...

  3. c语言一行代码太长,C语言修改一行代码,运行效率居然提升数倍,这个技巧你知道吗...

    对编译.链接.OS内核.系统调优等技术感兴趣的童鞋,不妨右上角关注一下吧,近期会持续更新相关方面的专题文章!引言 近日,网上看到一篇文章,分析数组访问的性能问题.文章经过一系列"有理有据&q ...

  4. aes算法的C语言实现代码,AES加密算法c语言实现代码

    AES加密算法c语言实现代码 #include "stdio.h" #include "memory.h" #include "time.h" ...

  5. c语言有趣代码_为什么C语言永远不会过时?

    直至今天还有人在喊着C语言都过时的语言了,还有什么值得去学的,看现在的python,php等语言现在用起来多简单,谁还去学习老掉牙的C语言,事实真的是这样的吗?笔者作为专门下载了这两种语言的底层源码. ...

  6. 计算机组成原理第二版第4章的答案,计算机组成原理第4章习题参考答案

    计算机组成原理习题参考答案 第4章 数值的机器运算 4-2.某加法器采用组内并行,组间并行的进位链,4位一组,写出进位信号C6逻辑表达式. [解] 组间并行的进位链,产生的最低一组的进位输出为: C4 ...

  7. 计算机组成原理第二版第5章答案,计算机组成原理第5章习题参考答案.pdf

    <计算机组成原理第5章习题参考答案.pdf>由会员分享,提供在线免费全文阅读可下载,此文档格式为pdf,更多相关<计算机组成原理第5章习题参考答案.pdf>文档请在天天文库搜索 ...

  8. 2019计算机基础答案,2019年计算机基础知识习题与答案.doc

    PAGE PAGE 1 计算机基础知识习题与答案 选择题 一个完整的计算机系统应包括(A). A.硬件系统和软件系统 B.主机和外部设备 C.CPU和存储器 D.主机和实用程序 2.计算机系统中CPU ...

  9. 大学计算机基础教程实验答案,大学计算机基础试验教程习题参考答案

    <大学计算机基础试验教程习题参考答案>由会员分享,可在线阅读,更多相关<大学计算机基础试验教程习题参考答案(4页珍藏版)>请在人人文库网上搜索. 1.大学计算机基础实验教程习题 ...

  10. matlab2018a课后答案,[2018年最新整理]matlab习题及答案.doc

    [2018年最新整理]matlab习题及答案 第一章习题 ??????? 1.1?? 试概述闭环调速系统的主要特点.改变给定电压是否能够改变电动机的转速?为什么?如果给定电压不变,调整反馈电压的分压比 ...

最新文章

  1. wcf客户端捕获异常
  2. 【 C 】作用域、链接属性、存储类型、static 关键字简介及总结
  3. maven 公用仓库_maven公共仓库 - yizhichao的个人页面 - OSCHINA - 中文开源技术交流社区...
  4. hibernate的映射文件字段长度和数据库里面的字段长度
  5. dotNET知音,19年归档
  6. JavaWeb --第三章 HTTP协议详解
  7. java服务器代码_简单java服务器
  8. iOS 如何在一个应用程序中调用另一个应用程序
  9. go15---select
  10. Java 用反射设置对象的属性值
  11. 【接口测试】axios测试接口
  12. 锁表 for update
  13. 云计算:大数据时代的系统工程(三)
  14. 怎么提高c语言编程能力,如何才能提高用C语言编程的能力
  15. 中国大陆身份证号码验证及身份证信息获取,数据来源于国家标准GB/T 2260-2007
  16. OpenLayers官方教程二:实现简单的地图显示
  17. 游戏原画教程:角色设计中的几个基本图形的用法
  18. 学校校车运营各项安全管理制度_学校校车安全管理制度.doc
  19. 微信公众号模板消息推送问题汇总
  20. kibana监控logstash

热门文章

  1. 北京仁爱堂王常在医生介绍?
  2. android view关闭硬件加速,Android硬件加速4种方法
  3. mysql数据库-索引基础篇
  4. nginx php 502 bad gateway,nginx 502 bad gateway问题怎么解决
  5. java压缩tar.gz
  6. Android Studio开发蓝牙应用(一)
  7. c语言源程序连接后生成,c语言源程序经过编译后,生成文件的后缀是什么?_后端开发...
  8. Learn Git Branching:在游戏中学会Git
  9. Leetcode 240 Search a 2D Matrix II (二分法和分治法解决有序二维数组查找)
  10. udp实现客户端服务器