第一章作业1-数据结构基本概念

算法设计的要求:时间效率高,存储量低
顺序存储结构和链式存储结构的区别:
链表存储结构的内存地址不一定是连续的,但顺序存储结构的内存地址一定是连续的;
链式存储适用于在较频繁地插入、删除、更新元素时,而顺序存储结构适用于频繁查询时使用。
顺序存储结构和链式存储结构的优缺点:

空间上
顺序比链式节约空间。是因为链式结构每一个节点都有一个指针存储域。

存储操作上:
顺序支持随机存取,方便操作

插入和删除上:
链式的要比顺序的方便(因为插入的话顺序表也很方便,问题是顺序表的插入要执行更大的空间复杂度,包括一个从表头索引以及索引后的元素后移,而链表是索引后,插入就完成了)

例如:当你在字典中查询一个字母j的时候,你可以选择两种方式,第一,顺序查询,从第一页依次查找直到查询到j。第二,索引查询,从字典的索引中,直接查出j的页数,直接找页数,或许是比顺序查询最快的。

逻辑结构就是数据元素间的逻辑关系,而不是数据元素内部的数据项之间的关系

数据元素是数据的基本单位,数据项是数据不可分割的最小单位,有时,一个数据元素可由若干个数据项组成。

数据元素之间的逻辑关系成为结构(即逻辑结构)

抽象操作是外部怎样使用该数据结构;具体实现是内部的事情,外部不需要关心。先设计抽象操作,再完成具体实现。同一种抽象操作可以有多种具体实现。对于同一种抽象操作,可能某一种具体实现简单而另一种具体实现复杂。

数据的逻辑结构包括

a.集合:数据元素间除了同属一个集合下无其他关系

b.线性结构:数据元素之间存在一对一的关系

c.树形结构:数据元素之间存在一对多的关系

d.图状结构或网状结构:数据元素之间存在多对多的关系

数据结构是一门研究非数值计算的程序设计问题中计算机的操作对象以及它们之间的关系和运算等的学科

在数据结构中,与所使用的计算机无关的数据结构是逻辑结构。

在决定选取何种存储结构时,一般不考虑各结点的值如何

数据结构是带有结构的各数据元素(不是数据项)的集合

1-1

若用链表来表示一个线性表,则表中元素的地址一定是连续的。 (1分)

T         F

1-2

数据的逻辑结构是指数据的各数据项之间的逻辑关系。 (1分)

T         F

1-3

抽象数据类型中基本操作的定义与具体实现有关。 (1分)

T         F

数据的()包括集合、线性结构、树形结构和图形结构四种基本类型。 (2分)

存储结构
逻辑结构
基本运算
算法描

2-2

数据在计算机内存中的表示是指() 。 (2分)

数据的存储结构
数据结构
数据的逻辑结构
数据元素之间的关系

2-3

下列关于数据的逻辑结构的叙述中,()是正确的。 (2分)

数据的逻辑结构是数据元素间关系的描述
数据的逻辑结构反映了数据在计算机中的存储方式
数据的逻辑结构分为顺序结构和链式结构
数据的逻辑结构分为静态结构和动态结构

2-4

数据结构是一门研究非数值计算的程序设计问题中计算机的()以及它们之间的关系和运算等的学科。 (2分)

操作对象
计算方法
逻辑存储
数据映象

2-5

在数据结构中,与所使用的计算机无关的数据结构是()。 (2分)

逻辑结构
存储结构
逻辑结构和存储结构
物理结构
作者: 严冰

单位: 浙江大学城市学院

2-6

在决定选取何种存储结构时,一般不考虑()。 (2分)

各结点的值如何
结点个数的多少
对数据有哪些运算
所用编程语言实现这种结构是否方便

2-7

线性结构中元素之间存在()关系。 (2分)

一对一
一对多
多对多
多对一

2-8

树形结构中元素之间存在()关系。 (2分)

一对一
一对多
多对多
多对一

2-9

图形结构中元素之间存在()关系。 (2分)

一对一
一对多
多对多
多对一

2-10

从物理存储上可以把数据结构分为 (2分)

动态结构、静态结构
顺序结构、链式结构
线性结构、树形结构、图形结构和集合结构
基本结构、构造型结构

2-11

在数据结构中,从逻辑上可以把数据结构分成( )。 (1分)

动态结构和静态结构
紧凑结构和非紧凑结构
线性结构和非线性结构
内部结构和外部结构

2-12

与数据元素本身的形式、内容、相对位置、个数无关的是数据的( )。 (1分)

存储结构
存储实现
逻辑结构
运算实现

2-13

通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着( )。 (1分)

数据在同一范围内取值
不仅数据元素所包含的数据项的个数要相同,而且对应数据项的类型要一致
每个数据元素都一样
数据元素所包含的数据项的个数要相等
作者: 周治国

单位: 东北师范大学

2-14

算法的时间复杂度取决于( )。 (1分)

问题的规模
待处理数据的初态
计算机的配置
A和B

2-15

以下数据结构中,( )是非线性数据结构。 (1分)


字符串
队列

2-16

以下说法正确的是( )。 (1分)

数据元素是数据的最小单位
数据项是数据的基本单位
数据结构是带有结构的各数据项的集合
一些表面上很不相同的数据可以有相同的逻辑结构

2-17

数据的基本单位是()。 (1分)

数据元素
文件
数据项
数据结构

2-18

计算机算法指的是()。 (1分)

计算方法
排序方法
解决问题的有限运算序列
调度方法

2-19

在存储数据时,通常不仅要存储各数据元素的值,而且还要存储()。 (1分)

数据的处理方法
数据元素的类型
数据元素之间的关系
数据的存储方法

2-20

(neuDS)链式存储设计时,各结点间的存储单元的地址( )。 (1分)

一定连续
一定不连续
不一定连续
部分连续,部分不连续

第一章作业2-算法时间复杂度和空间复杂度

2-1

下面代码段的时间复杂度是()。(2分)

x=n; //n>1
y=0;
while( x≥(y+1)*(y+1) )y++;

O(n​1/2​​)

2-2

下列代码

if ( A > B ) {
    for ( i=0; i<N*N/100; i++ )
        for ( j=N*N; j>i; j-- )
            A += B;
}
else {
    for ( i=0; i<N*2; i++ )
        for ( j=N*3; j>i; j-- )
            A += B;
}
的时间复杂度是:(2分)

O(N​4​​)

2-3

下列函数

int func ( int n )
{   int i = 0, sum = 0;
    while ( sum < n )  sum += ++i;
    return i;
}
的时间复杂度是:(2分)
O(n​1/2​​)

2-4

下列代码

for(i=0; i<n; i++)
  for(j=i; j>0; j/=2)
     printf(“%d\n”, j);
的时间复杂度是: (3分)
O(NlogN)

2-5

下面代码段的时间复杂度是()。 (2分)

x=0;  
for( i=1; i<n; i++ )  
    for ( j=1; j<=n-i; j++ )  
        x++;
O(n​2​​)

2-6

要判断一个整数N(>10)是否素数,我们需要检查3到√​N​​​之间是否存在奇数可以整除N。则这个算法的时间复杂度是:(2分)
O(√​N​​​)

2-7

下列函数中,哪个函数具有最慢的增长速度:(2分)
N(logN)​2​​

2-8

给定N×N×N的三维数组A,则在不改变数组的前提下,查找最小元素的时间复杂度是:(2分)

O(N​2​​)
O(NlogN)
O(N​3​​logN)
O(N​3​​)

计算机算法指的是()。 (2分)
解决问题的有限运算序列

2-10

计算机算法必须具备输入、输出和()等五个特性。 (2分)
可行性、确定性和有穷性

第一章 作业3链式存储结构及其操作

在链式存储结构中,存储数据结构的存储空间可以是连续的,也可以是不连续的,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致。

链式存储不具备顺序存储的随机访问特性

但是注意没有头结点,所以就先把指针指过去,再把值赋值过去

标准的插入操作

要注意是不带表头附加结点的单链表

所以为空的判断条件是head==NULL

设立头结点的目的是使空表和非空表的处理统一!!!(记住就行)

肯定是直接前驱,单链表删除思想一定要搞懂了,基本功哦!!!(考烂了都)
顺序表可以直接计算出存储地址(毕竟有随机访问特性),但是链表可不行

2-1

线性表若采用链式存储结构时,要求内存中可用存储单元的地址 (1分)

必须是连续的
连续或不连续都可以
部分地址必须是连续的
一定是不连续的

2-2

线性表L在什么情况下适用于使用链式结构实现? (1分)

需不断对L进行删除插入
需经常修改L中的结点值
L中含有大量的结点
L中结点结构复杂

2-3

链表不具有的特点是: (1分)

插入、删除不需要移动元素
方便随机访问任一元素
不必事先估计存储空间
所需空间与线性长度成正比

2-4

设h为不带头结点的单向链表。在h的头上插入一个新结点t的语句是:(1分)

h=t; t->next=h->next;
t->next=h->next; h=t;
h=t; t->next=h;
t->next=h; h=t

2-5

在单链表中,若p所指的结点不是最后结点,在p之后插入s所指结点,则执行 (1分)

s->next=p; p->next=s;
s->next=p->next; p=s;
s->next=p->next; p->next=s;
p->next=s; s->next=p;

2-6

不带表头附加结点的单链表为空的判断条件是头指针head满足条件()。 (1分)

head==NULL
head->next==NULL
head->next== head
head!=NULL

2-7

可以用带表头附加结点的链表表示线性表,也可以用不带头结点的链表表示线性表,前者最主要的好处是()。 (1分)

可以加快对表的遍历
使空表和非空表的处理统一
节省存储空间
可以提高存取表元素的速度

2-8

在单链表中,要删除某一指定结点,必须先找到该结点的()。 (1分)

直接前驱
自身位置
直接后继
直接后继的后继

2-9

以下关于链式存储结构的叙述中,()是不正确的。 (1分)

结点除自身信息外还包括指针域,因此存储密度小于顺序存储结构
逻辑上相邻的结点物理上不必邻接
可以通过计算直接确定第i个结点的存储地址
插入、删除运算操作方便,不必移动结点

2-11

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

必须是连续的
一定是不连续的
部分地址必须是连续的
连续与否均可以

数据结构期中复习(基本知识点篇1)相关推荐

  1. 数据结构-期末复习重要知识点总结

    目录 第一章-绪论 第二章-线性表 3.顺序表表示 4.顺序表基本运算 5.链表 6.链表的基本运算 7.循环链表 8.双链表 9.静态链表 10.一元多项式表示及相加 第三章-限定性线性表(栈与队列 ...

  2. 数学连乘和累加运算符号_期中复习:小学数学各年级知识点和重点、难点大全!...

    kan'wan'l 点击↑蓝字关注 --分享最优质教育资源     给孩子高质量的帮助 ● 关于我们 ● ●●●  ●●● 教育之音在线,致力于服务中小学各年级家长,每天准时分享最新教育资讯.各年级学 ...

  3. 北京理工大学操作系统复习——习题+知识点

    文章目录 传送门 前言 ppt习题+课后习题汇总 第1章 操作系统概论 操作系统性能指标计算 第2章 进程管理 进程调度算法 课后2-9:最短作业优先 课后2-12:四种算法比较 课后2-13:轮转与 ...

  4. 2024考研《数据结构》复习笔记总览(文末有彩蛋)

    前言 数据结构是是计算机专业的必修课,也是计算机考研的必学书目. 随着科技的飞速发展,数据结构的基础性地位不仅没有动摇,反而由于近年来算法工程师的高薪火爆,使得数据结构的重视程序空前高涨. 索引目录 ...

  5. ES6面试、复习干货知识点汇总(全)

    近期在复习ES6,针对ES6新的知识点,以问答形式整理一个全面知识和问题汇总.(全干货,适合对ES6有一定理解的同学复习,以及ES6面试.) 一.问:ES6是什么,为什么要学习它,不学习ES6会怎么样 ...

  6. 解析时分秒_三年级上册,数学期中复习卷(含详细答案解析),有效提分,收藏...

    三年级上册,数学期中复习卷(含详细答案解析),有效提分,收藏 今天我们来梳理一下三年级上册数学的期中复习. 在第一单元<时分秒>中,关于时间的知识,同学们在小学一二年级都有所学习,一年级阶 ...

  7. 花园体育馆计算机房音乐教室的英语,新版PEP小学英语四年级下册期中复习资料1-3单元...

    PEP小学英语四年级下册期中复习资料 符号备注:1. 为语法重点,2. 为常考点 第一部分Part One; 语音 语音: P6: er /?/ tiger sister water mother c ...

  8. 应用随机过程期中复习总结

    应用随机过程期中复习总结 by ldc 前言:该笔记为北京大学数学科学学院应用随机过程课程的复习笔记和内容总结.主要参考课程讲义编写而成.该复习笔记截止期中,主要介绍了马氏链的概念,并且非常详细地讲解 ...

  9. 【数据结构与算法】起始篇

    持续学习&持续更新中- 守破离 [数据结构与算法]起始篇 什么是数据结构和算法 什么是数据结构 什么是算法 为什么要学习数据结构和算法1 为什么要学习数据结构和算法2 为什么要学习数据结构和算 ...

最新文章

  1. coreldraw水涟漪怎么做_凉皮调料水的做法 调凉皮的调料水怎么做
  2. 用matlab判断文件是否存在_判断文件夹、文件是否存在、创建文件 c++ matlab
  3. js 异步和同步的区别
  4. 央广记者在自律联盟现场采访京都贷执行董事长
  5. 7-4 是否同一棵二叉搜索树 (25 分)
  6. 【OpenCV 例程200篇】47. 图像增强—直方图匹配
  7. CH2401 送礼物(双向dfs)
  8. Java高级基础--阿里云Java复习
  9. MongoDB小结07 - update【$pop】
  10. 【背包问题】基于matlab离散粒子群算法求解背包问题【含Matlab源码 423期】
  11. Pycharm 主题字体推荐(亮色)
  12. SQL入门基础视频教程-Visual Foxpro视频教程
  13. 湖州南浔张静江:“满堂花醉三千客,一剑霜寒四十州”
  14. 学习笔记 Tianmao 篇 recyclerView 辅助的RecycleAdapterImpl类(适配自定义 模板)
  15. windows10 无法设置屏幕保护程序
  16. 互联网域名管理办法发布 域名注册必须实名
  17. 世界银行公布各国1996-2018年GDP及GDP增长率
  18. 信息学奥赛第十节 —— 贪心算法(渡河问题POJ 1700 Crossing River + 拦截导弹的系统数量求解)
  19. Dom及JavaScript图片库
  20. 使用JAVA程序片段动态生成表格

热门文章

  1. 社保卡是什么?有什么作用?
  2. ORC发电实例分析-普惠280机组
  3. 使用supermap实现轨迹动态回放功能
  4. java时序图工具_开发必备的小工具,你用过几个?
  5. 时序图、E-R 图等工具学习
  6. OPPO R15大胆玩色彩,这三种设计你绝对没见过
  7. 已解决:Python OSError: [WinError 193] %1 不是有效的 Win32 应用程序。(numpy模块、MyQR模块)
  8. 【模型库】日本数控铣床RAPIMA,RMX-15 三位模型
  9. 小朱opengl学习笔记(一)
  10. 小朱学英语------day 4 They become millionaires and retired at 31. You can do the same