数据结构第一次作业

合集下载

东师《数据结构(高起专)2013春第一次在线作业

东师《数据结构(高起专)2013春第一次在线作业
B. 树的后根遍历序列与其对应的二叉树的前序遍历序列相同
C. 树的后根遍历序列与其对应的二叉树的中序遍历序列相同
D. 树的后根遍历序列与其对应的二叉树的后序遍历序列相同
满分:3 分
11. 非线性结构的逻辑特征是一个结构可能有 ( )。
A. 一个前驱和一个后继
B. 多个前驱和一个后继
A. 求子串
B. 求串长
C. 联接
D. 模式匹配
满分:3 分
5. 判断线索二叉树中某结点p有右子女的条件是 ( )。
A. p->rtag = = 0
B. p->rtag = = 1
C. p ! = NULL
D. p->lchild ! = NULL
满分:3 分
试卷总分:100 测试时间:--
单选题
判断题
东师是随机,要答案的查看我的注册名字来 索取 、单选题(共 20 道试题,共 60 分。)
A. acbd
B. abcd
C. dbca
D. adcb
满分:3 分
9. 若设根结点的层数为0,则具有37个结点的完全二叉树的深度(或高度)为 ( )。
A. 4
B. 5
C. 6
D. 7
满分:3 分
10. 在下面的叙述中,正确的是 ( )。
A. 树的先根遍历序列与其对应的二叉树的后序遍历序列相同
3. 采用二叉链表作为存储结构,树的先根遍历和其相应的二叉树的前序遍历的结果是一样的。
A. 错误
B. 正确
满分:2 分
4. 非空的二叉树一定满足:某结点若有左子女,则其中序前驱一定没有右子女。

北语 18秋《数据结构》 作业1234

北语 18秋《数据结构》 作业1234

18秋《数据结构》作业_1一、单选题 ( 每题4分, 共23道小题, 总分值92分 )1.答案:B作业代做QQ:805009261 成绩保证95分以上,基本满分!2.答案:B3.答案:D4.答案:D5.与单链表相比,双链表的优点之一是___。

A. 插入、删除操作更简单B. 可以进行随机访问C. 可以省略表头指针或表尾指针D. 顺序访问相邻结点更灵活答案:D6.数据结构在计算机内存中的表示是指___。

A. 数据的存储结构B. 数据结构C. 数据的逻辑结构D. 数据元素之间的关系7.快速排序在下列情况下最易发挥其长处的是()。

A. 被排序的数据中含有多个相同排序码B. 被排序的数据已基本有序C. 被排序的数据完全无序D. 被排序的数据中的最大值和最小值相差悬殊8.A. (A)B. (B)C. (C)D. (D)9.链式栈与顺序栈相比,一个比较明显的优点是()。

A. 插入操作更加方便B. 通常不会出现栈满的情况C. 不会出现栈空的情况D. 删除操作更加方便10.11.12.13.有一个有序表{1,3,9,12,32,41,45,62,75,77,82,95,100},当折半查找值为82的结点时,___次比较后查找成功。

A. 11B. 5C. 4D. 814.设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有___个空指针域。

A. 2m-1B. 2mC. 2m+1D. 4m15.A. (A)B. (B)C. (C)D. (D)16.A. (A)B. (B)C. (C)D. (D)17.A. (A)B. (B)C. (C)D. (D)18.下述哪一条是顺序存储结构的优点___。

A. 插入运算方便B. 可方便地用于各种逻辑结构的存储表示C. 存储密度大D. 删除运算方便19.设某棵二叉树中有2000个结点,则该二叉树的最小高度为___。

A. 9B. 10C. 11D. 1220.设一组初始记录关键字序列为(345,253,674,924,627),则用基数排序需要进行___趟的分配和回收才能使得初始关键字序列变成有序序列。

数据结构(C++)第一次作业参考答案

数据结构(C++)第一次作业参考答案

数据结构第一次作业数据结构第一次作业一.单项选择题(20分)( )1.已知一算术表达式的后缀形式为ABC *+DE-/,则其中缀形式为 _________。

a、(A+B *C)/(D-E)b、A+B*C /D-Ec、(A+B*C)/D-Ed、A+B*C/(D-E)( )2.若某链表中最常用的操作是在最后一个结点之后插入一个结点和删除第一个结点,则采用________存储方式最节省运算时间(假设链表仅设有一个first指针)。

a. 单链表b. 带头结点的双循环链表c. 单循环链表d. 双链表( )3.设一个栈的输入序列为A,B,C,D,则所得到的输出序列不可能是_______。

a. A,B,C,Db. D,C,B,Ac. A,C,D,Bd. D,A,B,C( )4.若线性表最常用的操作是存取第i个元素及其直接前驱的值,则采用_____存储方式节省时间。

a.顺序表 b.双链表 c.单循环链表 d.单链表( )5.若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度为_______。

(1≤i≤n+1)a、O(0)b、O(1)c、O(n)d、O(n2)( )6.若指针L指向一带头结点的循环单链表的头结点,该表为空表的条件是_______为真值;a. !( L -> link );b. L == (L -> link) -> link;c. L -> link;d. L == L -> link;( )7.用数组A[0..N-1]存放一个循环队列,一元素出队时,其队头指针front的修改方法是________:a. front = (front + 1) mod N;b. front = (front - 2)mod N;c. front = front + 1;d. front = front – 2;( )8.若用Head()和Tail()分别表示取广义表的表头和表尾,广义表A=(1,2,(3,4),(5,(6,7))),则Head(Tail(Head(Tail(Tail(A))))) 。

2020年国家开放大学电大数据结构题库

2020年国家开放大学电大数据结构题库

数据结构课程平时作业1一. 单项选择题1. 数据结构是一门研究非数值计算的程序设计问题中计算机的①以及它们之间的②和运算等的学科。

①A. 操作对象 B. 计算方法 C. 逻辑存储 D. 数据映象②A. 结构 B. 关系 C. 运算 D. 算法2.数据结构被形式地定义为(K, R), 其中K是①的有限集合, R是K上的②的有限集合。

①A. 算法 B. 数据元素 C. 数据操作 D. 逻辑结构3.②A. 操作 B. 映象 C. 存储 D. 关系A.在数据结构中, 从逻辑上可以把数据结构分成( )。

动态结构和静态结构 B. 紧凑结构和非紧凑结构C. 线性结构和非线性结构D. 内部结构和外部结构4.线性结构是数据元素之间存在一种:A)一对多关系B)多对多关系C)多对一关系D)一对一关系5.数据结构中, 与所使用的计算机无关的是数据的结构;A) 存储B) 物理C) 逻辑D) 物理和存储二.填空题(将正确的答案填在相应的空中)1. 在线性结构中, 第一个结点①前驱结点, 其余每个结点有且只有②个前驱结点;最后一个结点③后续结点, 其余每个结点有且只有④个后续结点。

2. 在树形结构中, 树根结点没有①结点, 其余每个结点有且只有②个前驱结点;叶子结点没有③结点, 其余每个结点的后续结点可以④。

3. 在图形结构中, 每个结点的前驱结点数和后续结点数可以①。

4.线性结构中元素之间存在①关系, 树形结构中元素之间存在②关系, 图形结构中元素之间存在③关系。

5.数据结构包括数据的、数据的和数据的这三个方面的内容。

6. 下面程序段的时间复杂度是①。

for(i=0;i<n;i++)for(j=0;j<m;j++)A[i][j]=0;7. 下面程序段的时间复杂度是①。

S=0;for(i=0;i<n;i++)for(j=0; j<n; j++)s+=b[i][j];sum=s;三、简答题1.数据结构是一门研究什么内容的学科?2.数据元素之间的关系在计算机中有几种表示方法?各有什么特点?3.设有数据逻辑结构S=(D,R), 试按题所给条件画出这些逻辑结构的图示, 并确定相对于关系R, 哪些结点是开始结点, 哪些结点是终端结点?D={d1,d2,d3,d4}R={(d1,d2),(d2,d3),(d3,d4) }部分参考答案一、单选题二、A B 2. B D 3. C 4. D 5. C三、填空题1.无, 1, 无, 12.前驱, 1个, 后继, 多个3.多个4.一对一, 一对多, 多对多5.逻辑结构、物理结构、数据运算6. O(n*m)7. O(n*n)三、简答题1.略见课件2.略3. d1( d2(d3(d4 线性结构数据结构课程平时作业2一. 单项选择题1.线性表L=(a1, a2,…,a n),下列说法正确的是()。

数据结构第一次作业

数据结构第一次作业
【输入形式】
第一行为第一个链表的各结点值,以空格分隔。
第二行为第二个链表的各结点值,以空格分隔。
【输出形式】
合并好的链表,以非降序排列,值与值之间以空格分隔。
【样例输入】
4 7 10 34
1 4 6 29 34 34 52
【样例输出】
1 4 6 7 10 29 34 52
【评分标准】
要使用链表实现,否则不能得分。
3.设n为大于1的正整数,计算机执行下面的语句时,带#语句的执行次数为n。
i=1;
j=0;
while(i+j<=n){
# if(i>j)
j++;
else
i++;
}
4.在具有n个链结点的链表中查找一个链结点的时间复杂度为O(n)。
5.下面程序段的时间复杂度为O(mn)。
for ( i = 0; i < n; i++ )
D.每个链结点有多少个直接后继结点,它就应该设置多少个指针域
8.将长度为m的线性链表链接在长度为n的线性链表之后的过程的时间复杂度若采用大O形式表示,则应该是B。
A.O(m) B.O(n) C.O(m+n) D.O(m-n)
9.在一个单链表中,若要在p所指向的结点之后插入一个新结点,则需要相继修改__个指针域
int time (int n) {
int count=0, x=2;
while ( x < n/2 ) {
x=2x;
count++;
}
return (count);
}
时间复杂度:O(logn)
count值:logn-2

数据结构 第一次作业 测验答案 慕课答案 作业一 UOOC优课 课后练习 深圳大学

数据结构 第一次作业 测验答案 慕课答案 作业一 UOOC优课 课后练习 深圳大学

数据结构第一次作业一、单选题 (共100.00分)1. 已知栈S为空,数据1、2、3、4依次逐个进入栈S,则栈顶数据为()A. 1B. 2C. 3D. 4正确答案:D2. 栈的最大特点是()A. 先进先出B. 后进先出C. 无限递归D. 有限递归正确答案:B3. 队列的最大特点是()A. 先进先出B. 后进先出C. 无限递归D. 有限递归正确答案:A4. 已知栈包含10元素,其中存放在栈底是第1号元素,则第10号元素可以通过()进行访问A. 栈底B. 栈中C. 栈尾D. 栈顶正确答案:D5. 以下结构中,哪一个是属于物理结构()A. 栈B. 队列C. 链队列D. 线性表正确答案:C6. 使用长度为10的数组实现循环队列,则该队列最多存储数据个数为()A. 1B. 9C. 11.D.5正确答案:B7. 已知顺序表包含1000个数据,现在第88号位置插入新的数据,需要移动的数据个数为()A. 88B. 87C. 912D. 913正确答案:D8. 若线性表最常用的操作是存取第i个元素及其后继的值,则最节省操作时间的存储结构是()A. 单链表B. 双链表C. 单循环链表D. 顺序表正确答案:D9. 以下结构中,哪一个是属于物理结构()A. 线性表B. 栈C. 单链表D. 队列正确答案:C10. 已知顺序表包含100个数据,现在要删除第99号位置的数据,需要移动的数据个数为()A. 99B. 100C. 1D. 2正确答案:C已知指针p指向单链表L的某个结点,判断p指向的结点是尾结点的条件是()A. if (p->next>p)B. if (p->next==NULL)D. if (p->data==0)正确答案:B12. 以下描述哪个是正确的()A. 线性表的数据元素的存储位置一定是连续的B. 顺序表的数据元素的存储位置一定是连续的C. 链表的数据元素的存储位置一定不是连续的D. 线性表的数据元素的存储位置一定不是连续的正确答案:B已知顺序表包含100个数据,先在第15号位置插入1个新数据,接着删除第3号位置的数据,需要移动的数据总个数为()A. 18B. 84C. 184D. 188正确答案:C在数据结构概念中,数据的基本单位是()A. 数据段B. 数据项C. 数据表D. 数据元素D在数据结构概念中,结构是描述()A. 数据项的类型B. 数据元素之间的关系C. 数据成员的先后顺序D. 数据对象的取值范围正确答案:B在算法设计中,要求算法便于理解和修改是属于算法要求的()A. 正确性B. 可读性C. 健壮性D. 效率高正确答案:B以下关于算法的描述,哪个是正确的()A. 算法可以没有输入B. 算法可以包含无限个执行步骤C. 算法可以没有输出D. 算法的每个步骤允许带有歧义的正确答案:抽象数据类型ADT通过三方面描述,包括数据关系、数据操作和()A. 数据对象B. 数据来源C. 数据范围D. 数据判断正确答案:A设n为问题规模,以下程序的时间复杂度为()for (i=1; i<=10000; i++) for (j=1; j<=n; j++) a = a + 1;A. O(1)B. O(n)C. O(10000n)D. O(n2)正确答案:B20.设n为问题规模,以下程序的时间复杂度为() for (i=1; i< POW(2, n); i++) //POW(x, y)函数表示x的y次幂a = a+100;A. O(n)B. O(2n)C. O(n!)D. O(2n)正确答案:D。

第一次作业1.数据库系统管理员DBA的职责是什么与一般的数据库

第一次作业1.数据库系统管理员DBA的职责是什么与一般的数据库

第一次作业1.数据库系统管理员DBA的职责是什么?与一般的数据库用户有什么不同?答:1)数据库管理员DBA的职责是:安装数据库系统;管理数据库和事务日志;启动、暂停、停止数据库服务;监控数据库的运行状况;备份和恢复数据库和事务日志;调整数据库系统的性能;建立并使用数据复制;保证数据库的安全性。

2)一般数据库用户是通过数据库系统索提供的各种程序工具使用和操作数据库中数据的用户。

每一个数据库用户都建立、授权、登录的步骤,建立了与数据库服务的连接之后,才能使用数据库。

数据库管理员负责安装、运行、维护及管理,一般数据库用户只是使用,对系统不能主动改变任何一点,这是二者主要的区别。

2.数据库管理系统(DBMS)的基本功能是什么?答:数据库管理系统(DBMS)的基本功能如下:1)数据的并发控制:多个用户可以同时存取数据库中的数据,也可以同时存取数据库中的同一数据。

2)数据的安全性保护:由于数据库中的数据是面向系统的,所以数据库中的数据是非常重要的,并不是任何人都可以进行统计查询、插入、修改、删除等处理。

3)数据的完整性检查:这保证数据的正确性、有效性和相容性,例如在出生年月上部允许出现02月30日。

4)数据库恢复:计算机的硬件、软件故障以及操作失误都会影响数据的正确,甚至造成数据库部分和全部的丢失。

DBMS必须具有把数据库从故障状态中恢复道正确的功能,这就是数据库的恢复。

3.简述关系模型的基本内容?答:关系模型使用二维表结构描述客观世界实体及其联系。

主要内容包括:1)关系数据结构:在关系模型中,信息被组织成一些二维表的结构,每一张二维表是一个关系或者表。

每一张表描述一个现实生活中的一件事情。

2)关系数据操作:任何DBMS都要求从数据库系统中存取数据的一组操作。

关系模型中有8种基本操作,这8种操作组合出所有的操作要求,8种基本操作是选择操作、投影操作、连接操作、并运操作、交运算、差运算、笛卡儿积运算、除运算3)关系数据的完整性:在关系数据库种,数据有两类基本的完整性,一是实体完整性、二参照完整性。

数据结构第一次作业及答案--线性表

数据结构第一次作业及答案--线性表

第一次作业------------线性表题目1、下列图1单链表执行R->data=P->next->data语句后,P->next->data值为A. 5B. 7C. 2D. 3题目2、在顺序表中,只要知道( ),就可在相同时间内求出任一结点的存储地址。

A. 向量大小B. 基地址和结点大小C. 结点大小D. 基地址题目3、非空的循环单链表head的尾节点(由r所指向)满足( )A. r->next=NULLB. r->next=headC. r=NULLD. r=head题目4、设线性表(a1,a2,a3···an)按顺序存储,且每个元素占有m个存储单元,则元素ai 的地址为A. LOC(a1) + i×m ,其中LOC(a1)表示元素a1的地址B. 元素ai的地址无法计算C. LOC(a1) + (i-1)×m,D. LOC(a1) + (i-2)×m题目5、在()运算中,使用顺序表比链表好。

A. 根据元素值查找B. 插入C. 根据序号查找D. 删除题目6、在一个单链表中,若P所指结点不是最后结点,在P之后插入S所指结点A. P→next=S;S→next=PB. S→next=P→next; P=SC. S→next=P→next;P→next=SD. S→next=P;P→next=S题目7、在双向循环链表的*p结点之后插入*s结点的操作是A. s->prior=p; s->next=p->next; p->next=s; p->next->prior=s;B. s->prior=p; s->next=p->next; p->next->prior=s; p->next=s;C. p->next=s; s->prior=p; p->next->prior=s; s->next=p->nextD. p->next=s; p->next->prior=s; s->prior=p; s->next=p->next题目8、单链表表示的整数数列如下图,值P->next->next->data为:A. 47B. 93C. 19D. 64题目9、在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是( )。

数据结构形成性考核册第1次作业参考答案

数据结构形成性考核册第1次作业参考答案

《数据结构》形成性考核册第1次作业参考答案第一章绪论一、填空题1、数据操作2、集合结构线性结构树型结构图形结构3、引用类型4、1:1 1:n n:m5、不对6、多个7、O(m*n)8、时间复杂度空间复杂度9、顺序链接索引散列10、O(n2)11、O(n)12、O(n)O(m*n)二、选择题1~8:DBABADDD三、应用题(1)功能:判断n是否是一个素数,若是则返回数值1,否则返回0。

时间复杂度:O(n)。

(2)功能:计算S=1!+2!+…+n!的值。

时间复杂度:O(n)。

(3)功能:计算S=1!+2!+…+n!的值。

时间复杂度:O(n2)。

(4)求出满足不等式1+2+…+i≥n的最小i值。

O(n)。

第二章线性表四、填空题1、A[P-1]2、1083、前驱后继4、最后一个表头5、p->next=q->nextq->next=p6、HL->next=NULLHL->next=HL7、P->next8、Q->next9、P->next s10、从前向后前移n-i11、O(1)O(n)12、(n+1)/213、O(n)O(1)14、A[P].next15、a[j].next=a[i].nexta[i].next=j16、数据值指针五、选择题1~5:BDDBC六、应用题1、(1)、(79,62,34,57,26,48)(2)、(26,34,48,57,62,79)(3)、(48,56,57,62,79,34)(4)、(56,57,79,34)(5)、(26,34,39,48,57,62)2、(1)将类型为List的线性表L中第i个元素移至表尾位置的算法,L中的元素类型为ElemType,假定不需要对i的值进行有效性检查。

void move (List& L, int i){ElemType x=L.list[ i-1];for(int j=i; j<L.size; j++)L.list[ j-1]=L.list[ j ];L.list[L.size-1]=x;}·将线性表L中的第i个元素移入表头的算法与上类似。

西南交大数据结构主观题作业

西南交大数据结构主观题作业

弘成无锡数字化学习中心批次层次:专升本专业:计算机科学与技术姓名:刘鹏亮学号:第一次作业三、主观题(共3道小题)14.数据的物理结构包括的表示和的表示。

参考答案:线性结构,非线性结构15.数据逻辑结构包括、、和四种,树结构和图结构统称为。

参考答案:集合、线性结构、树、图、非线性结构16.数据结构研究的是和以及它们之间的相互关系,并对于这种结构定义相应的,设计出相应的。

参考答案:逻辑结构,物理结构,运算,算法第二次作业三、主观题(共22道小题)24.向一个长度为n的顺序表中的第i个元素之前插入一个元素时,需要向后移动个元素。

参考答案:n-i+125.在一个长度为n的顺序表中删除第i个元素时,需要向前移动元素。

参考答案:n-i26.在单链表中设置头结点的作用是。

参考答案:简单插入、删除算法27.在单链中要删除某一指定结点,必须找到该结点的结点。

参考答案:直接前驱28.访问单链表中的结点,必须沿着依次进行。

参考答案:指针域29.在双链表中每个结点有两个指针域,一个指向,一个指向。

参考答案:直接前驱结点,直接后继结点30.在链表中,删除最后一个结点的算法时间复杂度为O(1)。

参考答案:双向循环31.访问一个线性表中具有给定值的时间复杂度的数量级是。

参考答案:O(n)32.由n个数据元素生成一个顺序表,若每次都调用插入算法把一个元素插入到表头,则整个算法的时间复杂度插入算法把一个元素插入到表尾,则整个算法的时间复杂度为。

参考答案:O(n) , O(n2)33.在链表中,可以用表尾指针代替表头指针。

参考答案:双向34.在链表中,可以用表尾指针代替表头指针。

参考答案:双向35.根据n个数据元素建立对应的顺序表和单链表存储结构,其算法的时间复杂度最好的情况是,最是。

参考答案:O(n) ,O(n2)36.求线性表的顺序存储和链式存储的长度的算法时间复杂度分别是和。

参考答案:O(1) , O(n)37.在一个带头结点的单链表中,在表头插入或删除与在其他位置插入或删除,其操作过程是否相同?参考答案:相同38.在一个不带头结点的单链表中,在表头插入或删除与在其他位置插入或删除,其操作过程是否相同?。

数据结构第一次作业

数据结构第一次作业
{
int j=0;
linklist *p,*s,*q;
p=head;
j=0;
while((p->next!=NULL)&&(j<i-1))
{p=p->next; j++;}
if(p->next!=NULL)
{
q=p->next;
p->next=p->next->next;
free(q);
}
else
return NULL;
char Pnumber[20];
char QQ[20];
char sex[50];
} student; //学生信息的类型
typedef student elemptype;
typedef struct node
{
elemptype data;
struct node *next;
}linklist; //定义单链表
printf(" 2、用顺序表来创建\n");
printf(" 3、返回\n");
printf(" **************************************************\n");
printf("\n\n\n\t\t");
}
void Menu_two_2()
//次菜单
{
}
void Menu_one()
//主菜单
{
printf("\n\n\n\n\n\n\n");
printf(" *************************************************\n");

数据结构作业题目

数据结构作业题目

一、第一次作业
①写一个函数find,实现从数组a[n]查找元素x,返回x在数组中的序号,如果找不到则返回-1。

②当a[n]递增有序时,有没有高效的算法?
③以Niklus Wirth的观点,程序是什么?
④算法有什么特性?
⑤好算法应该满足哪些标准?
⑥数据结构主要在哪些层面上讨论问题?
⑦按增长率由小至大的顺序排列下列各函数(严蔚敏题集1.10)
⑧试写一算法,自大至小依次输出顺序读入的三个整数X,Y和Z 的值(严蔚敏题集1.16)
二、第二次作业
1)题集2.2(严蔚敏)
2)题集2.10(严蔚敏)
3)题集2.12(严蔚敏)
4)题集2.7(严蔚敏)
5)题集2.15(严蔚敏)
三、第三次作业
第二章题集1、9、10(于津、陈银冬)
四、第四次作业
第三章题集1、2、3、4、5(于津、陈银冬)
五、第五次作业
①第四章题集2、5(于津、陈银冬)
②实现以下C库函数:
(1)strlen(cs)
(2)strcpy(s, ct)
(3)strcmp(cs, ct)
③完成对称矩阵、三角矩阵、对角矩阵在压缩存储下的输入输出算法
④第五章题集1、2、3(于津、陈银冬)
六、第六次作业
第六章题集1、2、10(于津、陈银冬)
七、第七次作业
第六章题集3、8、12、13(于津、陈银冬)
八、第八次作业
第六章题集6、7、9、15(于津、陈银冬)
九、第九次作业
第七章题集1、7(另加上“十字链表”存储)(于津、陈银冬)。

数据结构第一次作业题及答案.doc

数据结构第一次作业题及答案.doc

第1次作业一、单项选择题(本大题共60分,共20小题,每小题3分)1.在长度为n的顺序表求最小值的时间复杂度为()。

A.0(1)B.0 (n)C.O (n2)D.O (logn)2.顺序表中数据元索的存取方式是()oA.顺序存取B.链式存取C.随机存取D.散列存取3.对于一个具有n个结点的单链表,,在给定值为x的结点后插入一个新结点的平均时间复杂度为()。

A.0(0)B.0(1)C.O(n)D.0(n2)4.在稀疏矩阵的带行指针向量的链接存储中,每个行单链表中的结点都具有和同的()。

A.行号B.列号C.元素值D.地址5.数组A [0.. 5] [0.. 5]的每个元素占5个字节,将其以列为主序存储在起始地址为1000的内存单元中,则元索A [5] [5]的地址是( )。

A.1175B.1180C.1205D.12106.下而程序段的时间复杂度是()。

i = 0; while (i<=n) i二i * 3;A.0 (3n)B.0(log3n)C.0 (n3)D.0(n2)7.假设顺序表中第一个数据元索的存储地址是1000,每个元索占用4个字节,则第7个元索的存储地址是()。

A.1024C.1004D.10078・设栈S和队列Q的初始状态为空,元素el, e2, e3, e4, e5和e6依次通过栈S, —个元素出栈后即进队列Q,若6个元素出队的序列是e2, e4,e3, e6, e5, el则栈S的容量至少应该是()。

A.B.4C.3D.29.判断带头结点的循环单链表L屮只冇一个结点的条件是()。

A.L二二NULLB.L->next->next==LD.L->next==NULL10.下而关于算法说法错误的是()。

A.算法最终必须rti计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C.算法的可行性是指指令不能有二义性D.以上几个都是错谋的11.用单链表表示的链队列中,队头在链表的()位置。

数据结构第一次作业

数据结构第一次作业

1判断题(对)1. 数据的逻辑结构与数据元素本身的内容和形式无关。

(错)2. 线性表的逻辑顺序与物理顺序总是一致的。

(对)3. 若有一个叶子结点是二叉树中某个子树的前序遍历结果序列的最后一个结点,则它一定是该子树的中序遍历结果序列的最后一个结点。

(对)4. 对于同一组待输入的关键码集合,虽然各关键码的输入次序不同,但得到的二叉搜索树都是相同的。

(对)5. 最优二叉搜索树的任何子树都是最优二叉搜索树。

(对)6. 在二叉搜索树上插入新结点时,不必移动其它结点,仅需改动某个结点的指针,使它由空变为非空即可。

(对)7. 有n(n≥1)个顶点的有向强连通图最少有n条边。

(错)8. 连通分量是无向图中的极小连通子图。

(错)9. 二叉树中任何一个结点的度都是2。

(错)10. 单链表从任何一个结点出发,都能访问到所有结点。

二、单选题1 向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动( B )个元素。

A.8 B. 63.5 C. 63 D. 72 设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,则A[3][3]在( A )位置,(10)表明用10进数表示。

A.692(10) B. 626(10) C. 709(10) D. 724(10)3 N个顶点的连通图至少有( A )条边。

A.N-1 B. N C. N+1 D. 04 下面程序的时间复杂度为( C )。

for(int i=0; i<m;i++)for(int j=0; j<n;j++)a[i][j]=i*j;A.O(m2) B. O(n2) C. O(m*n) D. O(m+n)5 设单链表中结点的结构为(data, link)。

已知指针q所指结点是指针p所指结点的直接前驱,若在*q与*p之间插入结点*s,则应执行下列哪一个操作( B )。

2020年中国石油大学北京网络学院 数据结构-第一次在线作业 参考答案

2020年中国石油大学北京网络学院 数据结构-第一次在线作业 参考答案
C、算法的可行性是指指令不能有二义性
D、以上几个都是错误的
我的答案:D 此题得分:2.5分
6.(2.5分) 下面说法错误的是
A、算法原地工作的含义是指不需要任何额外的辅助空间
B、在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法
C、所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界
我的答案:A 此题得分:2.5分
23.(2.5分) 完成在双循环链表结点p之后插入s的操作是( )
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;
A、P^.NEXT:=H
B、P^.NEXT:= H^.NEXT
C、P:=H
D、P:=H^.NEXT
我的答案:A 此题得分:2.5分
22.(2.5分) 在一个以 h 为头的单循环链中,p 指针指向链尾的条件是()
A、p^.next=h
B、p^.next=NIL
C、p^.next.^next=h
D、p^.data=-1
A、单链表
B、双链表
C、单循环链表
D、带头结点的双循环链表
我的答案:D 此题得分:2.5分
18.(2.5分) 链表不具有的特点是( )
A、插入、删除不需要移动元素
B、可随机访问任一元素
C、不必事先估计存储空间
D、所需空间与线性长度成正比
我的答案:B 此题得分:2.5分
19.(2.5分) 线性表( a1,a2,…,an)以链接方式存储时,访问第i位置元素的时间复杂性为( )

西大2022版[0012]《数据结构》网上作业及课程考试复习资料有答案

西大2022版[0012]《数据结构》网上作业及课程考试复习资料有答案

西大2022版[0012]《数据结构》网上作业及课程考试复习资料有答案[0012]《数据结构》第一次作业[填空题]1、已知栈的基本操作函数:intInitStack(SqStack某S);//构造空栈intStackEmpty(SqStack某S);//判断栈空intPuh(SqStack某S,ElemTypee);//入栈intPop(SqStack 某S,ElemType某e);//出栈函数converion实现十进制数转换为八进制数,请将函数补充完整。

voidconverion(){InitStack(S);canf(\while(N){(1);N=N/8;}while((2)){Pop(S,&e);printf(\}}//converion2.设循环队列的容量为70,现经过一系列的入队和出队操作后,front为20,rear为11,则队列中元素的个数为3.在一个单链表中删除p所指结点的后继结点时,应执行以下操作:q=p->ne某t;p->ne某t=____;4.一个算法的效率可分为()效率和()效率。

5.数据结构被形式地定义为(D,R),其中D是()的有限集合,R是D上的()有限集合。

6.下面程序段的时间复杂度是()。

for(i=0;i参考答案:1.(1)Puh(S,N%8)2.613.q->ne某t4.时间空间5.数据元素关系6.m某n[单选题]一个具有n个顶点的有向图最多有()条边A:n某(n-1)/2B:n某(n+1)/2C:n某(n-1)D:n2参考答案:B[判断题]折半查找只适用于有序表,包括有序的顺序表和链表参考答案:错误[判断题]用循环单链表表示的链队列中,可以不设队头指针,仅在队尾设置队尾指针。

参考答案:正确[判断题]在单链表中,要访问某个结点,只要知道该结点的地址即可;因此,单链表是一种(2)!StackEmpty(S)随机存取结构。

参考答案:错误[单选题]判断一个循环队列Q(最多n个元素)为满的条件是:A:Q->front==(Q->rear+1)%nB:Q->rear==Q->front+1C:Q->front==(Q->rear-1)%nD:Q->rear==Q->front参考答案:A[单选题]在单链表中,指针p指向元素为某的结点,实现删除某的后继的语句是:A:p=p->ne某tB:p=p->ne某t->ne某tC:p->ne某t=pD:p->ne某t=p->ne某t->ne某t参考答案:D[单选题]在双向循环链表中,在p指针所指的结点后插入一个指针q 所指向的新结点,修改指针的操作是:A:p->ne某t=q;q->prior=p;p->ne某t->prior=q;q->ne某t=q;B:q->prior=p;q->ne某t=p->ne某t;p->ne某t->prior=q;p->ne 某t=q;C:q->ne某t=p->ne某t;q->prior=p;p->ne某t=q;p->ne某t=q;D:p->ne某t=q;p->ne某t->prior=q;q->prior=p;q->ne某t=p->ne 某t;参考答案:B[多选题]抽象数据类型的组成部分分别为:A:数据对象B:存储结构C:数据关系D:基本操作参考答案:ACD[多选题]不具有线性结构的数据结构是:A:图B:栈C:广义表D:树参考答案:ACD[多选题]算法分析的两个主要方面是()A:正确性B:简单性C:空间复杂度D:时间复杂度参考答案:CD第二次作业[单选题]设一棵完全二叉树有300个结点,则共有个叶子结点A:150B:152C:154D:156参考答案:A[单选题]由3个结点所构成的二叉树有种形态.A:2B:3C:4D:5参考答案:D[单选题]设有两个串p和q,求q在p中首次出现的位置的运算称作:A:连接B:模式匹配C:求子串D:求串长参考答案:B[单选题]栈中元素的进出原则是:A:先进先出B:后进先出C:栈空则进D:栈满则出参考答案:B[单选题]链表是一种采用存储结构存储的线性表.A:顺序B:星式C:链式D:网状参考答案:C[单选题]数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为:A:存储结构B:顺序存储结构C:逻辑结构D:链式存储参考答案:B[判断题]链表的每个结点中都恰好包含一个指针参考答案:错误[判断题]如果将所有中国人按照生日来排序,则使用哈希排序算法最快参考答案:错误[填空题]1.数据的存储结构可用四种基本的存储方法表示,它们分别是().2.在具有n个元素的循环队列中,队满时具有个元素.3.广义表A=((a),a)的表头是()。

大数据分析第一次作业_

大数据分析第一次作业_

科技的不断发展,深深改变了传统的商业模式。

基于物品交换的供应链模式已经逐渐被淘汰,随着互联网用户的不断增多,越来越多的人开始“触网”,同时也在网上留下了大量数据,比如浏览记录,购买记录,出行记录等。

数据的不断积累,为商业变革打下了基础。

而大数据技术的浮现,则点燃了商业变革的导火索。

越来越多的企业通过大数据分析技术重塑商业模式,进行服务创新。

商业策略这一概念,最早是由BCG 的创始人布鲁斯亨德森和哈佛大学商学院的教授迈克尔波特提出。

亨德森理论的核心是集中优势力量对付敌人的弱点,他认为,在商业领域,包含许多被经济学家成为报酬递增的现象,比如:产业规模,投入越大,产出越大。

波特认可这一理论,但是也提出来一些限制性理论,他指出,亨德森的理论的确成立,但是从商业上来说,需要更多的步骤,一个公司或者经济模式可能在一些活动中占有优势,但可能并不合用于其他活动。

他提出来“价值链”这一概念。

基于亨德森和波特的理论,整个商业策略大厦逐渐建立起来。

但是在大数据时代,这一理论已经不在成立。

随着互联网技术的发展,信息的获取变得十分便捷,交易成本在不断降低。

交易成本的下降,导致可利用资源减少了,对垂直机构的整合也就会随之减少,价值链也会随之断裂,也可能不会断裂,但是对于同一商业中的竞争者来说,他们就可能利用其在价值链的位置,以此对竞争对手进行渗透、攻击。

英国出版的百科全书曾经是世界上最畅销的书籍之一,随着光盘和网络的流行,知识传播和更新的成本在不断下降,百科书行业随之倒闭。

维基百科随之兴起,和百科全书不同的是,维基百科的内容是由用户撰写的,并且非常专业,价格也非常便宜。

再比如2000 年,人类基因图谱的绘制,主要由专业的科研机构和科学家完成,耗费了2 亿美金和10 年的时间,才绘制出一个人的基因图谱。

而现在只需要不到1000 美元,甚至立等可取,这个行业甚至成为了零售业,以后当你去看医生的时候,可能会被要求先做一个基因绘制,然后医生会根据基因信息,找出致病基因,给你开出基因药物。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include<iostream>#include<ctype.h>using namespace std;typedef struct node{int data;struct node *next;}Lnode, *LinkList;void CreatList(LinkList h, int a[], int n) {LinkList s, r;int i;r=h;for(i=0; i<n; i++){s = new Lnode;s->data = a[i];r->next = s;r=s;}r->next = NULL;}void DispList(LinkList h)LinkList r = h->next;while(r != NULL){printf("%d ",r->data);r = r->next;}putchar('\n');}void InsertList(LinkList h, int x, int y){LinkList s, p, q;s = new Lnode;s->data = y;q = h; p = q->next;while((p!=NULL) && (p->data != x)){q = p;p = p->next;}s->next = p;q->next = s;}void DeleteList(LinkList h, int x){LinkList p, q;q = h;p = q->next;while((p != NULL) && (p->data != x)){q = p;p = p->next;}if(p == NULL) printf("no");else{q->next = p->next;delete(p);printf("yes");}}void Countnode(LinkList h, int &j){LinkList r;r = h->next;while(r != NULL) {j++; r = r->next; }}int main(){int i, a[100]={0}, x, y, n, j=0;char p;LinkList h;h = new Lnode;h->next = NULL;printf("主菜单\n");printf("1.创建单链表\n");printf("2.结点的插入\n");printf("3.结点的删除\n");printf("4.统计结点个数\n");printf("5.退出系统\n");printf("输入单链表的元素个数是n, n<=100 \n");scanf("%d",&n);printf("请输入元素:\n");for(i = 0; i < n; i++){scanf("%d",&a[i]);}do{printf("请输入选择p(1-5)\n");scanf(" %c",&p);switch(p){case '1':CreatList(h, a, n); DispList(h);break;case '2':printf("在x的结点之前插入值y的结点,请输入x, y\n");scanf("%d%d",&x,&y);InsertList(h, x, y);DispList(h);break;case '3':printf("删除值为x的结点,请输入x\n");scanf("%d",&x);DeleteList(h, x);DispList(h);break;case '4':printf("统计结点个数\n");Countnode(h,j);printf("结点个数为%d\n",j);break;case '5':printf("退出系统\n");break;default:printf("选择错误! 请重新选择p(1-5)\n") ;p='0';}}while(p < '5');return 0;}#include <iostream>using namespace std;#define MaxSize 100#define NULL 0typedef struct sqlist{char data[MaxSize];int length;}SqList;void InitList(SqList *&l){l=new SqList;l->length=0;}void CreatList(SqList *l,char a[],int n) {int i;for(i=0;i<n;i++)l->data[i]=a[i];l->length=n;}int ListEmpty(SqList *l){return(l->length==0);}void DispList(SqList *l){int i;if(ListEmpty(l)) return;for(i=0;i<l->length;i++)cout<<l->data[i]<<' ';cout<<endl;}int GetElem(SqList *l,int i,int &m){if(i<1||i>l->length)return 0;m=l->data[i-1];return 1;}int LocateElem(SqList *l,int k){int i=0;while((i<l->length)&&(l->data[i]!=k)) i++;if(i>=l->length)return 0;else return i+1;}void DestroyList(SqList *&l){delete(l);}void main(){SqList *A=NULL, *B=NULL;int num,i,j,e,k,v, xx=0;char a[100], b[100], c[100];InitList(A);InitList(B);cout<<"how many elements in A?"<<endl; cin>>num;cout<<"input A:"<<endl;for(i=0;i<num;i++)cin>>a[i];CreatList( A,a,num);cout<<"how many elements in B?"<<endl; cin>>k;cout<<"input B:"<<endl;for(i=0;i<k;i++)cin>>b[i];CreatList( B,b,k);cout<<"*************************"<<endl; cout<<"A is:"<<endl;DispList(A);cout<<endl;cout<<"B is:"<<endl;DispList(B);cout<<endl;cout<<"A - B is:"<<endl;for(i=0;i<num;i++){for(j=0;j<k;j++){if(A->data[i]==B->data[j])break;}if(j==k)cout<<(c[xx++]=A->data[i])<<' ';}cout<<endl<<endl;cout<<"B - A is:"<<endl;for(i=0;i<k;i++){for(j=0;j<num;j++){if(B->data[i]==A->data[j])break;}if(j==num)cout<<(c[xx++]=B->data[i])<<' ';}cout<<endl<<endl;cout<<"A - B |_| B - A:"<<endl; for(i=0; i<xx;i++)cout<<c[i]<<' '; DestroyList(A);DestroyList(B);cout<<endl;}#include <iostream>using namespace std;typedef struct sqnode{int data;struct sqnode *next;}ListStack;void InitStack(ListStack *&s) {s=new ListStack;s->next = NULL;s->data = 0;}int EmptyStack( ListStack *s) {return(s->next== NULL);}void Push(ListStack *s,int e){ListStack *p = new ListStack;p->data = e;p->next = s->next;s->next = p;}void GetTop(ListStack *s,int &e) {if (EmptyStack(s))cout<<"栈空!"<<endl;elsee=s->next->data;}void Pop(ListStack *s,int &e) { if (EmptyStack(s))cout<<"栈空"<<endl;else{ListStack *p = s->next;e = p->data;s->next = p->next;delete p;}}void DispStack(ListStack *s){if(EmptyStack(s))cout<<"Stack is empty!"<<endl; else{ListStack *p = s->next;cout<<"Stack is:"<<endl;while(p != NULL)cout<<p->data<<' ';cout<<endl;}}int main(){ListStack *s = NULL;int a, i, num;InitStack( s);cout<<"栈数:"<<endl;cin>>num;cout<<"进栈值:"<<endl;for(i=0;i<num;i++){cin>>a;Push(s, a);}cout<<"栈顶:";cout<<(GetTop(s,a), a)<<endl;cout<<"出栈:"<<endl;while(--num>=0){cout<<(Pop(s,a),a)<<' ';}return 0;}#include <iostream>using namespace std;#define MaxSize 50#define Null 0typedef struct sqstack{char data[MaxSize];int top;}SqStack;void InitStack(SqStack *&s) {s=new SqStack;s->top=-1;}int EmptyStack( SqStack *s) {return(s->top== -1);}int FullStack(SqStack *s){return(s->top== MaxSize-1);}void Push(SqStack *s,char e) { if (FullStack(s)) return ;s->top++;s->data[s->top]=e;return ;}void GetTop(SqStack *s,char &e) { if (EmptyStack(s))return ;e=s->data[s->top];return ;}char Pop(SqStack *s){ char e;if (EmptyStack(s))return 0;e=s->data[ s->top];s->top--;return e;}void DispStack(SqStack *s){int i;if(EmptyStack(s))cout<<"Stack is empty!"<<endl; else{cout<<"Stack is:"<<endl;for(i=0;i<=s->top;i++)cout<<s->data[i]<<' ';cout<<endl;}}void main(){SqStack *s=NULL;char y, x;InitStack(s);cout<<"Pleast input:"<<endl;while(x=getchar(), x!=EOF){if(x=='#'){Pop(s);}else if(x=='@'){while(GetTop(s, y),y!='\n' ){Pop(s);}}else{Push(s,x);}}DispStack(s);}。

相关文档
最新文档