数据结构(第二次作业)

数据结构(第二次作业)
数据结构(第二次作业)

树可用投影法进行中序遍历。

用树的前序遍历和中序遍历可以导出树的后序遍历。

在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和的

A. C. D.

用邻接表表示图进行广度优先遍历时,通常是采用

A. C. D.

已知图的邻接矩阵,根据算法思想,

A. C. D.

已知图的邻接矩阵同上题8,根据算法,则从顶点

A. C. D.

有向图中顶点V的度等于其邻接矩阵中第

邻接多重表是无向图和有向图的链式存储结构。(

有向图的邻接矩阵是对称的。(

()折半查找有序表(

A. C. D.

()链表适用于查找

A. C. D.

哈希函数的选取平方取中法最好。

若散列表的负载因子

顺序查找法适用于存储结构为顺序或链接存储的线性表。

A. C. D.

对n个不同的排序码进行冒泡排序,在下列哪种情况下比较的次数最多。

A. C. D.

在初始数据表已经有序时,快速排序算法的时间复杂度为

在待排数据基本有序的情况下,快速排序效果最好。(

当待排序记录已经从小到大排序或者已经从大到小排序时,快速排序的执对

数据结构书面作业练习题

习题六树和二叉树6.1 单项选择题 (A) (B) (C) (D) 图8.7 4棵二叉树 1. 如图8.7所示的4棵二叉树,_ _不是完全二叉树。 图8.8 4棵二叉树 2. 如图8.8所示的4棵二叉树,__B_是平衡二叉树。 3. 在线索化二叉树中,t所指结点没有左子树的充要条件是B__o A. t —> left二NULL B. t —> ltag=1 C. t —> ltag=1 且t —> left=NULL D. 以上都不对 4. 二叉树按某种顺序线索化后,任一结点均有指向其前驱和后续的线索,这种说 法_B__ o

A.正确 B. 错误 5. 二叉树的前序遍历序列中,任意一个结点均处在其子女结点的前面,这种说法 _A__。 A.正确 B. 错误 6. 由于二叉树中每个结点的度最大为2,所以二叉树是一种特殊的树,这种说法 _B_o A.正确 B. 错误 7. 设高度为h的二叉树上只有度为0和度为2的结点,则此类二叉树中所包含的结点数至少为—B__o A. 2h B. 2h-1 C. 2h+1 D. h+1 a 8. 如图8.9所示二叉树的中序遍历序列 B o 图8.9 一棵二叉树 A. abcdgef B. dfebagc C. dbaefcg D. defbagc 9. 已知某二叉树的后序遍历序列是d abec,中序遍历序

列是debac,它的前序遍历 序列是D ___ 。 A. acbed B. decab C. deabc D. cedba 10. 设a,b为一棵二叉树上的两个结点,在中序遍历时,a在b前的条件是 B 。 A. a在b的右方 B. a在b的左方 C. a是b的祖先 D. a是b的子孙 11?假定在一棵二叉树中,双分支结点数为15,单分支结点数为30个,则叶子结 点数为个。B A. 15 B. 16 C. 17 D. 47 12. 某二叉树的前序遍历结点访问顺序是abdgcefh,中序遍历的结点访问顺序是 dgbaechf,则其后序遍历的结点访问顺序是D _____ 。 A. bdgcefha B. gdbecfha C. bdgaechf D. gdbehfca 13. 二叉树为二叉排序树的充分必要条件是其任一结点的值均大于其左孩子的值、 小于其右孩子的值。这种说法__B__ o A.正确 B. 错误 14. 按照二叉树的定义,具有3个结点的二叉树有_。__种。 A. 3 B. 4 C. 5 D. 6 15. 一棵二叉树如图8.10所示,其中序遍历的序列为

数据结构第1章作业

第1章绪论 一、选择题 1. 算法的计算量的大小称为计算的()。 A.效率 B. 复杂性 C. 现实性 D. 难度 2. 算法的时间复杂度取决于() A.问题的规模 B. 待处理数据的初态 C. A和B 3.计算机算法指的是(1),它必须具备(2)这三个特性。 (1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法 (2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性 C. 确定性、有穷性、稳定性 D. 易读性、稳定性、安全性 4.一个算法应该是()。 A.程序 B.问题求解步骤的描述 C.要满足五个基本特性 D.A和C. 5. 下面关于算法说法错误的是() A.算法最终必须由计算机程序实现 B.为解决某问题的算法同为该问题编写的程序含义是相同的 C. 算法的可行性是指指令不能有二义性 D. 以上几个都是错误的 6. 下面说法错误的是() (1)算法原地工作的含义是指不需要任何额外的辅助空间 (2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界 (4)同一个算法,实现语言的级别越高,执行效率就越低 A.(1) B.(1),(2) C.(1),(4) D.(3) 7.从逻辑上可以把数据结构分为()两大类。 A.动态结构、静态结构 B.顺序结构、链式结构 C.线性结构、非线性结构 D.初等结构、构造型结构 8.以下与数据的存储结构无关的术语是()。 A.循环队列 B. 链表 C. 哈希表 D. 栈 9.以下数据结构中,哪一个是线性结构()? A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串 10.以下那一个术语与数据的存储结构无关?() A.栈 B. 哈希表 C. 线索树 D. 双向链表 11.在下面的程序段中,对x的赋值语句的频度为() FOR i:=1 TO n DO FOR j:=1 TO n DO x:=x+1; A. O(2n) B.O(n) C.O(n2) D.O(log2n) 12.程序段 FOR i:=n-1 DOWNTO 1 DO FOR j:=1 TO i DO IF A[j]>A[j+1] THEN A[j]与A[j+1]对换;

数据结构第3次作业

1. 填空题 (1) 顺序栈s的数据存储在数组element中,则栈满的条件是____________,栈空的条件是。 (2) 顺序栈s进行出栈操作后,要执行的语句是top____。s进行进栈操作前,要执行的语句是top______运算。 (3) 元素进入队列的一端是____________;队列出队的一端是____________。 (4)顺序队列q满的条件是,顺序队列q空的条件 是。 (5) 空串的长度等于,非空串的长度等于。 2. 选择题 (1) 串是一种特殊的线性表,其特征体现在_____。 A. 可以顺序存储 B. 数据元素是一个字符 C. 可以链接存储 D. 数据元素可以是多个字符 (2) 栈是限定在__________处进行插入或删除操作的线性表。 A. 端点 B. 栈底 C. 栈顶 D. 中间 (3) 在栈顶一端可进行的全部操作是___________。 A. 插入 B.删除 C. 插入和删除 D. 进栈 (4) 4个元素按A、B、C、D顺序连续进S栈,进行x=pop()运算后,x的值是___________, 栈顶元素的值是. A. A B. B C. C D. D (5) 栈的特点是__________。 A. 先进先出 B. 后进先出 C. 后进后出 D. 不进不出 (6) 顺序栈存储空间的实现使用___________。 A. 链表 B. 数组 C.循环链表 D. 变量 (7) 一个顺序栈一旦说明,其占用空间的大小___________。 A. 已固定 B. 可以改变 C. 不能固定 D. 动态变化 (8) 栈与一般线性表的区别主要在___________方面。 A. 元素个数 B. 元素类型 C. 逻辑结构 D. 插入、删除元素的位置 (9) 栈s经过下列运算后s.get()的值是___________, s.isEmpty( )的值是___________。 s.push(a);s.push(b);s.pop(); A. a B. b C. 1 D. 2

数据结构第二章课后习题题解

2.4已知顺序表L递增有序,试写一算法,将X插入到线性表的适当位置上,以保持线性表的有序性。 解: int InsList(SeqList *L,int X) { int i=0,k; if(L->last>=MAXSIZE-1) { printf("表已满无法插入!"); return(ERROR); } while(i<=L->last&&L->elem[i]last;k>=I;k--) L->elem[k+1]=L->elem[k]; L->elem[i]=X; L->last++; return(OK); } 2.5写一算法,从顺序表中删除自第i个元素开始的k个元素。 解: int LDel(Seqlist *L,int i,int k) { if(i=1||(i+k>L->last+1)) { printf("输入的i,k值不合法"); return(ERROR); } else if(i+k==L->last+2) { L->last=i-2; return OK; } else { j=i+k-1; while(j<=L->last) { elem[j-k]=elem[j]; j++; } L->last=L->last-k+1; return OK;

} } 2.6已知线性表中的元素(整数)以递增有序排列,并以单链表作存储结构。试写一高效算法,删除表中所有大于mink且小于maxk的元素(若表中存在这样的元素),分析你的算法的时间复杂度(注意:mink和maxk是给定的两个变量,他们的值为任意的整数)。 解: int Delete(Linklist,int mink,int maxk) { Node *p,*q; p=L; while(p->next!=NULL) p=p->next; if(mink>=maxk||L->next->data>=maxk||mink+1=maxk) { printf("参数不合法!"); return ERROR; } else { while(p->next->data<=mink) p=p->next; q=p->next; while(q->datanext=q->next; free(q); q=p->next; } return OK; } } 2.7试分别以不同的存储结构实现线性表的就地逆置算法,即在原表的储存空间将线性表(a1,a1,…,an)逆置为(an,an-1,…,a1)。 (1)以顺序表作存储结构。 解: int ReversePosition(SpList L) { int k,temp,len; int j=0; k=L->last; len=L->last+1; for(j;j

数据结构第二次单元测试

0980 输出利用先序遍历创建的二叉树的层次遍历序列(中)#include #include using namespace std; typedef struct node { char data; node *leftchild; node *rightchild; }Node; void Init(Node *&L) { L = (Node *)malloc(sizeof(Node)); } void PreCreate(Node *&L) { char ch; cin>>ch; if(ch != '#') { Init(L); L->data = ch; L->leftchild = NULL; L->rightchild = NULL; PreCreate(L->leftchild); PreCreate(L->rightchild); } else { L = NULL; } } void levelT(Node *L) { Node *p; Node *q[100]; int fornt, rear; fornt = -1; rear = -1; if(L != NULL) { rear = (rear+1)%100; q[rear] = L;

while(fornt != rear) { fornt = (fornt+1)%100; p = q[fornt]; cout<data; if(p->leftchild != NULL) { rear = (rear+1)%100; q[rear] = p->leftchild; } if(p->rightchild != NULL) { rear = (rear+1)%100; q[rear] = p->rightchild; } } } } int main() { Node *p; PreCreate(p); levelT(p); return 0; } 0981统计利用二叉树存储的森林中树的棵树(易)#include #include using namespace std; typedef struct node { char data; node *leftchild; node *rightchild; }Node; void InitTree(Node *&L) { L = (Node *)malloc(sizeof(Node)); }

计算机文化基础-第三次在线作业

计算机文化基础 第三次在线作业 单选题 (共40道题) 展开 收起 1.( 2.5分)Internet实现了分布在世界各地的各类网络的互联,其最基础和核心的协议是()。 ? A、HTTP ? B、FTP ? C、HTML ? D、TCP/IP 我的答案:D 此题得分:2.5分 2.(2.5分)在下述计算机网络的拓扑结构中,可靠性好,适用于广域网中的是()。 ? A、网状结构 ? B、星型结构 ? C、总线结构 ? D、树形结构

我的答案:A 此题得分:2.5分 3.(2.5分)对于个人用户而言,在一般情况下,使用()连入Internet是一个较为恰当的选择。 ? A、专线连接 ? B、微机局域网连接 ? C、微波连接 ? D、电话拨号连接 我的答案:D 此题得分:2.5分 4.(2.5分)以下不是常用的传输媒体的是()。 ? A、双绞线 ? B、同轴电缆 ? C、光纤 ? D、电线 我的答案:D 此题得分:2.5分 5.(2.5分)支持局域网与广域网互连的设备称为()。 ? A、交换机 ? B、路由器 ? C、转发器 ? D、网桥 我的答案:B 此题得分:2.5分

6.(2.5分)下列关于IP地址的叙述中正确的是()。 ? A、IP地址是4个由点号分开的十进制数组成,因此必须转换为二进制数,才能被计算机识别。 ? B、IP地址的分为A、B、C、D、E类,一般从IP地址中第一个数字的取值范围,就能辨别出IP地址的种类。 ? C、IP地址是唯一的,可以任意使用。 ? D、通过拨号上网使用固定的IP地址,通过局域网上网则使用动态分配的IP地址 我的答案:B 此题得分:2.5分 7.(2.5分)以下是A类IP地址的是()。 ? A、126.256.2.6 ? B、202.205.2.1 ? C、102.24.5.21 ? D、224.200.11.31 我的答案:C 此题得分:2.5分 8.(2.5分)DNS的作用是()。 ? A、将数字信号转变成模拟信号 ? B、将十进制转换成二进制 ? C、将文本文件转换成二进制文件 ? D、将域名转换成IP地址 我的答案:D 此题得分:2.5分

数据结构第2章基础习题 作业

第二章习题 一判断题 1.线性表的逻辑顺序与存储顺序总是一致的。× 2.顺序存储的线性表可以按序号随机存取。 3.顺序表的插入和删除操作不需要付出很大的时间代价,因为每次操作平均只有近一半的元素需要移动。× 4.线性表中的元素可以是各种各样的,但同一线性表中的数据元素具有相同的特性,因此是属于同一数据对象。 5.在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上并不一定紧邻。× 6.在线性表的链式存储结构中,逻辑上相邻的元素在物理位置上不一定相邻。 7.线性表的链式存储结构优于顺序存储结构。 8.在线性表的顺序存储结构中,插入和删除时,移动元素的个数与该元素的位置有关。×9.线性表的链式存储结构是用一组任意的存储单元来存储线性表中数据元素的。 10.在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取的存储结构。× 11.线性表中每个元素都有一个直接前驱和一个直接后继。(×) 12.线性表中所有元素的排列顺序必须由小到大或由小到小。(×) 13.静态链表的存储空间在可以改变大小。(×) 14.静态链表既有顺序存储结构的优点,又有动态链表的优点。所以它存取表中第i个元素的时间与i无关。(×) 15.静态链表中能容纳元素个数的最大数在定义时就确定了,以后不能增加。() 16.静态链表与动态链表的插入、删除操作类似,不需要做元素的移动。() 17.线性表的顺序存储结构优于链式结构。(×) 18.在循环单链表中,从表中任一结点出发都可以通过前后的移动操作扫描整个循环链表。(×) 19.在单链表中,可以从头结点开始查找任何一个结点。() 20.在双链表中,可以从任何一结点开始沿同一方向查找到任何其他结点。(×) 二单选题 (请从下列A,B,C,D选项中选择一项) 1.线性表是( ) 。 (A) 一个有限序列,可以为空; (B) 一个有限序列,不能为空; (C) 一个无限序列,可以为空; (D) 一个无序序列,不能为空。 ,在任何位置上插入或删除操作都是等概率的。插n.对顺序存储的线性表,设其长度为2. 入一个元素时平均要移动表中的()个元素。 (A) n/2 (B) n+1/2 (C) (n -1)/2 (D) n

数据结构课程作业

数据结构课程作业_A 交卷时间:2017-08-09 10:08:51 一、单选题 1. (7分)设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置脚注(10)表示用10进制表示。 A. 688 B. 678 C. 692 D. 696 纠错 得分: 7 知识点:第五章 展开解析 答案 C 解析第五章第二节综合题目 2. (7分)若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( ) A. 1,2,3 B. 9,5,2,3 C. 9,5,3 D. 9,4,2,3 纠错 得分: 0 知识点:第九章 展开解析 答案 D 解析第九章第一节有序表的查找

(7分)设某完全无向图中有n个顶点,则该完全无向图中有()条边。 A. n(n-1)/2 B. n(n-1) C. n2 D. n2-1 纠错 得分: 7 知识点:第七章 展开解析 答案 A 解析第七章第一节综合题目 4. (7分)若在任意一棵二叉树中,有n0个叶子结点,有n2个度为2的结点,则:n0=_____ A. n2+1 B. n2-1 C. n2+2 D. n2-2 纠错 得分: 7 知识点:第六章 展开解析 答案 A 解析第六章第二节二叉树的性质 5. (7分)栈的插入和删除操作在()进行。 A. 栈顶 B. 栈底 C. 任意位置 D. 指定位置

得分: 7 知识点:第三章 展开解析 答案 A 解析第三章第一节栈的表示和实现 6. (7分)设有序表中有1000个元素,则用二分查找查找元素X最多需要比较()次。 A. 25 B. 10 C. 7 D. 1 纠错 得分: 7 知识点:第九章 展开解析 答案 B 解析第九章第一节有序表的查找 7. (7分)设某棵二叉树的高度为10,则该二叉树上叶子结点最多有()。 A. 20 B. 256 C. 512 D. 1024 纠错 得分: 7 知识点:第六章 展开解析 答案 C 解析第六章第六节二叉树的性质

第三次作业参考答案

?2.1 比较程序的顺序执行和并发执行。 答: 答: 1)进程是一个动态的概念,而程序则是一个静态的概念。程序是指令的有序集合,没有任何执行含义,而进程则强调执行过程,它动态地被创建,并被调度执行后消亡。 2)进程具有并行特征,而程序没有。进程具有并行特征的两个方面,即独立性和异步性。也就是说,在不考虑资源共享的情况下,各进程的执行是独立的,它们之间不存在逻辑上的制约关系,各进程的是异步的。由于程序不反映执行过程,所以不具有并行特征。 3)进程是系统中独立存在的实体,是竞争资源的基本单位。进程对应特殊的描述结构 并有申请、使用、释放资源的资格。由于系统中存在多个进程,系统资源的有限性必然导致多个进程对资源的共享和竞争,从而使进程的并行性受到系统的制约。 4)进程的存在必然需要程序的存在,但进程和程序不是一一对应的。由于进程是程序 的执行过程,所以程序是进程的一个组成部分。处于静止状态的程序并不对应于任何进程。当程序被处理机执行时,它一定属于某一个或者多个进程。属于进程的程序可以是一个,也可以是多个。不同的进程可以包含同一个程序,只要该程序所对应的数据集不同。 ?2.3 试对进程的状态及状态转换进行总结,注意状态转换的物理含义及转化条件。

答:处于就绪状态的进程,在调度程序为之分配了处理机之后,该进程便可执行,相应地,它就由就绪状态转变为运行状态。正在执行的进程也称为当前进程,如果分配给它的时间 片已完而被暂停执行时,该进程便由执行状态又回复到就绪状态;如果因发生某事件而使 进程的执行受阻,使之无法继续执行,该进程将由执行状态转变为阻塞状态。引入挂起状 态后,又增加了从挂起状态到非挂起状态之间的转换,当进程处于未被挂起的就绪状态时,用挂起原语Suspend将该进程挂起后,该进程便转变成为静止就绪状态,此时进程不再被 调度执行。当进程处于未被挂起的阻塞状态时,用Suspend原语将它挂起后,进程便转变 为静止阻塞状态,处于该状态的进程在其所期待的事件出现后,将从静止阻塞状态变成静 止就绪。处于活动就绪状态的进程,若用激活原语Active激活后,该进程将转变为挂起就 绪状态。处于活动阻塞状态的进程,若用激活原语Active激活后,将转变为阻塞挂起状态。 ?2.4 试举例说明引起进程创建、撤消、阻塞或被唤醒的主要事件分别有哪些? 答:引起进程创建,如用户登录;作业调度;提供服务;应用请求。 进程撤销,当一个进程到达了自然结束点,或时出现了无法克服的错误,或是被操作 系统所中介,或是被其他有终止权的进程所终结,都会引起进程撤销。 进程阻塞,请求系统服务,不能立即满足;启动某种操作,且必须在该操作完成之后才能 继续执行;新数据尚未到达,相互合作进程的一方需首先获得另一进程数据才能继续;无新工 作可做,特定功能系统进程当完成任务且暂无任务。 进程被唤醒,系统服务满足;操作完成;数据到达;新任务出现。 ?2.5 试根据你自己的理解,采用类C语言设计和描述操作系统关于进程控制块的数据结构、组织方式及管理机制。在此基础上,给出进程的创建、终止、阻塞、唤醒、挂起与激活等函数原型及函数代码。注意,对于过于复杂的功能或你无法解决的细节可采用指定功能的函数模块如处理机调度scheduler()来替代。 答:进程控制块的数据结构: Struct task_struct { long state; /*任务的运行状态(-1 不可运行,0 可运行(就绪),>0 已停止)*/ long counter;/*运行时间片计数器(递减)*/ long priority;/*优先级*/ long signal;/*信号*/ struct sigaction sigaction[32];/*信号执行属性结构,对应信号将要执行的操作和标志信息*/ long blocked; /* bitmap of masked signals */ /* various fields */ int exit_code;/*任务执行停止的退出码*/ unsigned long start_code,end_code,end_data,brk,start_stack; /*代码段地址代码长度(字节数) 代码长度 + 数据长度(字节数)总长度堆栈段地址*/ long pid,father,pgrp,session,leader;/*进程标识号(进程号) 父进程号父进程组号会话号会话首领*/ unsigned short uid,euid,suid;/*用户标识号(用户id)有效用户id 保存的用户id*/ unsigned short gid,egid,sgid; /*组标识号(组id)有效组id 保存的组id*/

(完整版)数据结构课后习题及解析第二章

第二章习题 1.描述以下三个概念的区别:头指针,头结点,首元素结点。 2.填空: (1)在顺序表中插入或删除一个元素,需要平均移动元素,具体移动的元素个数与有关。 (2)在顺序表中,逻辑上相邻的元素,其物理位置相邻。在单链表中,逻辑上相邻的元素,其物理位置相邻。 (3)在带头结点的非空单链表中,头结点的存储位置由指示,首元素结点的存储位置由指示,除首元素结点外,其它任一元素结点的存储位置由指示。3.已知L是无表头结点的单链表,且P结点既不是首元素结点,也不是尾元素结点。按要求从下列语句中选择合适的语句序列。 a. 在P结点后插入S结点的语句序列是:。 b. 在P结点前插入S结点的语句序列是:。 c. 在表首插入S结点的语句序列是:。 d. 在表尾插入S结点的语句序列是:。 供选择的语句有: (1)P->next=S; (2)P->next= P->next->next; (3)P->next= S->next; (4)S->next= P->next; (5)S->next= L; (6)S->next= NULL; (7)Q= P; (8)while(P->next!=Q) P=P->next; (9)while(P->next!=NULL) P=P->next; (10)P= Q; (11)P= L; (12)L= S; (13)L= P; 4.设线性表存于a(1:arrsize)的前elenum个分量中且递增有序。试写一算法,将X插入到线性表的适当位置上,以保持线性表的有序性。 5.写一算法,从顺序表中删除自第i个元素开始的k个元素。 6.已知线性表中的元素(整数)以值递增有序排列,并以单链表作存储结构。试写一高效算法,删除表中所有大于mink且小于maxk的元素(若表中存在这样的元素),分析你的算法的时间复杂度(注意:mink和maxk是给定的两个参变量,它们的值为任意的整数)。 7.试分别以不同的存储结构实现线性表的就地逆置算法,即在原表的存储空间将线性表(a1, a2..., an)逆置为(an, an-1,..., a1)。 (1)以一维数组作存储结构,设线性表存于a(1:arrsize)的前elenum个分量中。 (2)以单链表作存储结构。 8.假设两个按元素值递增有序排列的线性表A和B,均以单链表作为存储结构,请编写算法,将A表和B表归并成一个按元素值递减有序排列的线性表C,并要求利用原表(即A 表和B表的)结点空间存放表C。

数据结构第二次实验报告

数据结构与算法分析课程设计报告 课题名称: A Text Editor Imlementation 提交文档学生姓名:苟丁 提交文档学生学号: 0843042229 同组成员名单:无 指导教师姓名:孙界平 指导教师评阅成绩: 指导教师评阅意见: . . 提交报告时间:2010 年 5 月 7 日

1. 实验题目:带括号的算术表达式求值 2. 实验的目的和要求: 1.采用C++的ASCII码文件和串函数实现; 2.熟练掌握串运算的应用; 3.熟练掌握计算机系统的基本操作方法,了解如何编辑、编译、链接和运行一 个C++程序; 4.上机调试程序,掌握查错、排错使程序能正确运行 3.实验的环境: 1、硬件环境:联想笔记本电脑,Intel(R) Pentium(R) Dual T3400 ,2GB内存 2、软件环境:Windows XP 下的Microsoft Visual Studio 2008 4.算法描述: ●具体操作与函数描述 (1)编辑一个文本文件,命名为text.txt. (2)函数run()提供给用户选择符的输入:w,r,I,d,f,c,q,h,n,p,b,e,g,v. 用户可以选择H选择符寻求帮助,得知操作符分别代表的动作。 (3) R代表函数Read()将文本读入缓冲区,缓冲区以前的任何内容都将将消失。 (4) W代表函数Write()将缓冲区的内容写入文本文件。 (5) I代表函数Insert()插入新行,用户可以在适当的提示下键入新行并提供新行。 (6) D代表delete()行数所执行的删除操作,可以删除当前行,并进入下一行。 (7) F代表函数findChar(),用于查找目标行。 (8) C代表函数changLine(),将用户请求的字符串修改成用户请求的替换文本,可选择的是仅在当前行中有效。 (9) Q代表函数quit(),用户执行此命令可以退出编辑。 (10)N代表函数next(),用户可以从当前行移到下一行。 (11)P代表函数pre(),用户可以从当前行移到下一行。 (12)E代表end(),可以移到最后一行。 (13)G代表go(),用户可以指定到选择的行。 (14)V查看缓冲区的全部内 ●测试程序说明:

数据结构作业第1章

第1章绪论 1. 填空 (1)()是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。 (2)()是数据的最小单位,()是讨论数据结构时涉及的最小数据单位。 (3)从逻辑关系上讲,数据结构主要分为()、()、()和()。 (4)数据的存储结构主要有()和()两种基本方法,不论哪种存储结构,都要存储两方面的内容:()和()。 (5)算法具有五个特性,分别是()、()、()、()、()。 (6)在一般情况下,一个算法的时间复杂度是()的函数。 (7)设待处理问题的规模为n,若一个算法的时间复杂度为一个常数,则表示成数量级的形式为(),若为n*log25n,则表示成数量级的形式为()。 2. 选择题 ⑴顺序存储结构中数据元素之间的逻辑关系是由()表示的,链式存储结构中的数据元素之间的逻辑关系是由()表示的。 A 线性结构 B 非线性结构 C 存储位置 D 指针 ⑵假设有如下遗产继承规则:丈夫和妻子可以相互继承遗产;子女可以继承父亲或母亲的遗产;子女间不能相互继承。则表示该遗产继承关系的最合适的数据结构应该是()。 A 树 B 图 C 线性表 D 集合 ⑶算法指的是()。 A 对特定问题求解步骤的一种描述,是指令的有限序列。 B 计算机程序 C 解决问题的计算方法 D 数据处理 ⑷下面()不是算法所必须具备的特性。 A 有穷性 B 确切性 C 高效性 D 可行性 ⑸算法分析的目的是(),算法分析的两个主要方面是()。 A 找出数据结构的合理性 B 研究算法中输入和输出的关系 C 分析算法的效率以求改进 D 分析算法的易读性和文档性 E 空间性能和时间性能 F 正确性和简明性 G 可读性和文档性H 数据复杂性和程序复杂性 3. 判断题 (1)算法的时间复杂度都要通过算法中的基本语句的执行次数来确定。 (2)每种数据结构都具备三个基本操作:插入、删除和查找。 (3)逻辑结构与数据元素本身的内容和形式无关。 (4)基于某种逻辑结构之上的基本操作,其实现是唯一的。 4. 分析以下各程序段,并用大O记号表示其执行时间。

2011年12月考试数据结构第二次作业

2011年12月考试数据结构第二次作业 一、单项选择题(本大题共100分,共 25 小题,每小题 4 分) 1. 树型结构是数据元素之间存在一种:( ) A. 一对多关系 B. 多对多关系 C. 多对一关系 D. 一对一关系 2. 以下的排序算法属于稳定排序算法的是() A. 基数排序 B. 快速排序 C. 希尔排序 D. 堆排序 3. 适于对动态查找表进行高效率查找的组织结构是() A. 有序表 B. 分块有序表 C. 二叉排序树 D. 线性链表 4. 用某种排序方法对关键字序列(25,84,21,47,15,27,68,35,20)进行排序时,序列的变化情况如下: 20,15,21,25,47,27,68,35,84 15,20,21,25,35,27,47,68,84 15,20,21,25,27,35,47,68,84 则所采用的排序方法是() A. 选择排序 B. 希尔排序 C. 归并排序 D. 快速排序 5. 在一棵二叉树中,度为2的结点有2个,那么,该树有()个叶结点。 A. 3 B. 4 C. 5 D. 6 6. 图中有n个顶点,e条边,如果用邻接矩阵表示图,则深度优先搜索遍历图的时间复杂性为()。 A. O(n) B. O(e) C. O(n2) D. O(n+e) 7. 分块查找中块内的查找采用的查找方法是() A. 顺序查找 B. 折半查找 C. 顺序查找、折半查找都可以 D. 顺序查找、折半查找都不可以 8. 假设一个有n个顶点和e条弧的有向图用邻接表表示,则删除与某个顶点vi 相关的所有弧的时间复杂度是( ) A. O(n)

B. O(e) C. O(n+e) D. O(n*e) 9. 在一棵二叉树的二叉链表中,空指针域数等于非空指针域数加()。 A. 2 B. 1 C. 0 D. –1 10. 若n个顶点的无向图采用邻接矩阵存储方法,该邻接矩阵为一个什么矩阵?() A. 对称矩阵 B. 一般矩阵 C. 稀疏矩阵 D. 对角矩阵 11. 平衡二叉树的平衡因子的取值不可能是() A. 1 B. -1 C. 0 D. 2 12. 在二叉树的中序遍历递归算法中,顺着搜索路径,在第( )次经过结点时作访问操作。 A. 1 B. 2 C. 3 D. 4 13. VSAM文件中的记录均存放在()。 A. 数据集 B. 索引集 C. 顺序集 D. 以上都不是 14. 关键路径是AOE网络中() A. 从源点到汇点的最长路径 B. 最短的回路 C. 从源点到汇点的最短路径 D. 最长的回路 15. 对数据元素序列(49,72,68,13,38,50,97,27)进行排序,如果采用起泡排序方法,则第二趟排序结果是() A. 49,68,13,38,50,72,27,97 B. 13,38,49,50,27,68,72,97 C. 49,13,38,50,68,27,72,97 D. 13,38,49,27,50,68,72,97 16. 如果只想得到1024个元素组成的序列中的前6个最小元素,那么用()方法最快。 A. 起泡排序

数据结构第一章课后习题与答案

第 1 章 绪 论 (2005-07-14) - 第 1 章 绪 论 课后习题讲解 1. 填空 ⑴( )是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。 【解答】数据元素 ⑵( )是数据的最小单位,( )是讨论数据结构时涉及的最小数据单位。 【解答】数据项,数据元素 【分析】数据结构指的是数据元素以及数据元素之间的关系。 ⑶ 从逻辑关系上讲,数据结构主要分为( )、( )、( )和( )。 【解答】集合,线性结构,树结构,图结构 ⑷ 数据的存储结构主要有( )和( )两种基本方法,不论哪种存储结构,都要存储两方面的内容:( )和()。 【解答】顺序存储结构,链接存储结构,数据元素,数据元素之间的关系 ⑸ 算法具有五个特性,分别是( )、( )、( )、( )、( )。 【解答】有零个或多个输入,有一个或多个输出,有穷性,确定性,可行性 ⑹ 算法的描述方法通常有( )、( )、( )和( )四种,其中,( )被称为算法语言。 【解答】自然语言,程序设计语言,流程图,伪代码,伪代码 ⑺ 在一般情况下,一个算法的时间复杂度是( )的函数。 【解答】问题规模 ⑻ 设待处理问题的规模为n,若一个算法的时间复杂度为一个常数,则表示成数量级的形式为( ),若为 n*log25n,则表示成数量级的形式为( )。 【解答】Ο(1),Ο(nlog2n) 【分析】用大O记号表示算法的时间复杂度,需要将低次幂去掉,将最高次幂的系数去掉。

2. 选择题 ⑴ 顺序存储结构中数据元素之间的逻辑关系是由( )表示的,链接存储结构中的数据元素之间的逻辑关系是由( )表示的。 A 线性结构 B 非线性结构 C 存储位置 D 指针 【解答】C,D 【分析】顺序存储结构就是用一维数组存储数据结构中的数据元素,其逻辑关系由存储位置(即元素在数组中的下标)表示;链接存储结构中一个数据元素对应链表中的一个结点,元素之间的逻辑关系由结点中的指针表示。 ⑵ 假设有如下遗产继承规则:丈夫和妻子可以相互继承遗产;子女可以继承父亲或母亲的遗产;子女间不能相互继承。则表示该遗产继承关系的最合适的数据结构应该是( )。 A 树 B 图 C 线性表 D 集合 【解答】B 【分析】将丈夫、妻子和子女分别作为数据元素,根据题意画出逻辑结构图。 ⑶ 算法指的是( )。 A 对特定问题求解步骤的一种描述,是指令的有限序列。 B 计算机程序 C 解决问题的计算方法 D 数据处理 【解答】A 【分析】计算机程序是对算法的具体实现;简单地说,算法是解决问题的方法;数据处理是通过算法完成的。所以,只有A是算法的准确定义。 ⑷ 下面( )不是算法所必须具备的特性。 A 有穷性 B 确切性 C 高效性 D 可行性 【解答】C 【分析】高效性是好算法应具备的特性。 ⑸ 算法分析的目的是( ),算法分析的两个主要方面是( )。 A 找出数据结构的合理性 B 研究算法中输入和输出的关系 C 分析算法的效率以求改进 D 分析算法的易读性和文档性 E 空间性能和时间性能 F 正确性和简明性 G 可读性和文档性 H 数据复杂性和程序复杂性

《电大社区治理》第二次作业答案(第3―4章)

《社区治理》第二次作业答案(第3—4章) 一、不定项选择题(每小题2分,共18分) 1.1954年全国人民代表大会常务委员会通过的《城市街道办事处组织条例》规定: 街道办事处是(C)。 A.城市最基层的政府机关 B.城市基层群众性自治组织 C.市辖区或者不设区的市的人民委员会的派出机关 D.城市社区的社会团体 2.1954年全国人民代表大会党务委员会通过的《城市居民委员会组织条例》规定,居民委员会是(B)。 A.街道办事处的派出机构 B.城市基层群众居民组织 C.城市群众性社会团体 D.城市最基层政权形式 3.1958年之前,我国农村基层实行的管理体制是(B)。 A.人民公社政社合一管理体制 B.乡(行政)管理体制 C.三级所有、队为基础管理体制 D.乡政村管理体制 4.

1998年11月,全国人大通过的《中华人民共和国村民委 员会组织法》明确界定了村民委员会的性质为(B)。 A.农村基层的政权组织 B.农村基层群众性自治组织 C.农村基层的经济组织 D.农村基层的社会团体 4.政府机构具有扩张的本性已被(B)所证明。 A.亚当-斯密关于市场“看不见的手”的论述 B.帕金森定律 C.“马太效应”理论 D.凯恩斯的“消费驱动”理论 5.党的领导在社区工作中主要体现为(B)。 A.组织领导 B.政治领导 C.行政领导 D.工作领导 6.社区工作学者杰克-罗斯曼把资本主义国家的社区治理策略划分成(ABC)几种模式。 A.地区发展策略 B.社会行为策略 C.社会计划策略

D.自我帮助策略 7.1954年全国人民代表大会常务委员会通过的《城市街道办事处组织条例》规定: 街道办事处的工作主要包括(ABD)。 A.办理基层政府有关居民工作的交办事项 B.指导居民委员会建设 C.领导辖区经济 D.反映居民意见和要求 8.根据约翰-霍普金斯大学萨拉蒙教授的观点,非营利组织的基本特征,除了正规性和民间性之外,还包括(ABCD)。 A.非营利性 B.自治性 C.志愿性 D.公益性 9.社区党建工作的必要性体现在(ABCD)。 A.加强社区党建工作是抓好党的基层组织建设、巩固执政党地位的需要 B.加强社区党建工作是在社区工作中发挥正确政治思想导向作用的需要 C.搞好社区党建是新时期落实党密切联系群众工作方法的必然选择 D.搞好社区党建是化解社会矛盾、维护社会稳定的需要 二、名词解释(每小题5分,共15分) 1.市场失灵:

数据结构作业

数据结构习题 第一章绪论 1.6 在程序设计中,常用下列三种不同的出错处理方式: 1) 用exit语句终止执行并报告错误; 2) 以函数的返回值区别正确返回或错误返回; 3) 设置一个整形变量的函数参数以区别正确返回或某种错误返回。 试讨论这三种方法各自的优缺点。 1.7 在程序设计中,可采用下列三种方法实现输出和输入: 1) 通过scanf和printf语句; 2) 通过函数的参数显示传递; 3) 通过全局变量隐式传递。 试讨论这三种方法的优缺点。 1.8 设n为正整数。试确定下列各程序段中前置以记号@的语句的频度: 5) for (i = 1; i <= n; i++ ) { for (j = 1; j <= i; j++) { for (k = 1; k <= j; k++) { @ x += delta; } } } 答案:n*(n+1)*(n+2) =1+(1+2)+(1+2+3)+...+(1+2+3+...+n) =∑ =+ n i i i 1 2 / )1 ( * =1/2*∑ =+ n i i i i 1 * =n*(n+1)*(2n+1)/12 +n*(n+1)/4 =n*(n+1)*(n+2)/6 7) x = n; //n是不小于1的常数 y = 0; while (x >= (y + 1) * (y + 1)) { @ y++; } 答案:n向下取整 8) x = 91; y = 100; while (y > 0) { @ if (x > 100) { x -= 10; y--;}

else { x++; } } 答案:if 执行次数为1100, if 判断内部执行为100次 1.19 试编写算法,计算i!·2i (i = 0, 1, …, n-1)的值并分别存入数组a[arrsize]的各个分量中。假设计算机中允许的整数最大值为MAXINT ,则当n > arrsize 或对某个k (0 ≤ k ≤ n-1)使k!·2k > MAXINT 时,应按出错处理。注意选择你认为较好的出错处理方法。 1.20 试编写算法求一元多项式∑==n i i i x a x 0n )(P 的值P n (x 0),并确定算法中每一语句的执行 次数和整个算法的时间复杂度。注意选择你认为较好的输入和输出方法。本题的输入为a i (i=0, 1, …, n )、x 0和n ,输出为P n (x 0)。

数据结构(C++)第二次作业答案

数据结构第二次作业答案 一.单项选择题(20分) ( )1.一棵左子树为空的二叉树在前序线索化后,其空指针域数为 C a、0 b、1 c、2 d、不确定 ( )2.下列排序算法中,___D_____算法可能会出现下面的情况:初始数据有序时,花费的时间反而更长。 a、堆排序 b、起泡排序 c、直接选择排序 d、快速排序 ( )3.在图采用邻接表存储时,求最小生成树的prim算法的时间复杂度是__B_____。 a.O(n*e) b. O(n+e) c. O(n2) d.O(n3) ( )4.下面程序段的时间复杂度是__A______。 i=1; while(i<=n) i++; a. O(n) b. O(n2) c. O(2n) d. O(log2n) ( )5.在有n(>0)个结点且为完全二叉树的二叉排序树中查找一个键值,其平均比较次数的数量级为____B______。 a. O(n) b. O(log2n) c. O(nlog2n) d. O(n2) ( )6.采用分块查找时,若线性表中共有625个元素,查找每个元素的概率相同,假设采用顺序查找来确定结点所在的块时,每块应分为__B_____个结点最佳。 a. 10 b. 25 c. 6 d. 625 ( )7.排序算法的稳定性是指__A____。 a.经过排序之后,能使值相同的数据保持原顺序中的相对位置不变 b.经过排序之后,能使值相同的数据保持原顺序中的绝对位置不变 c.算法的排序性能与被排序元素的数量关系不大 d.算法的排序性能与被排序元素的数量关系密切 ( )8.某二叉树的先序序列和后序序列正好相反,则该二叉树一定是___B____的二叉树。 a. 空或只有一个结点 b. 高度等于其结点数(空树高度为0) c. 任一结点无左孩子 d. 任一结点无右孩子 ( )9.已知有向图G=(V,E)其中V={ V1 V2 V3 V4 V5 V6 V7},E={,,,,,,,,}为 __A_______。 a. V1 V3 V4 V6 V2 V5 V7 b. V1 V3V2 V6 V4 V5 V7 c. V1 V2 V3 V4 V5 V6 V7 d. V1 V2 V5 V3 V4 V6 V7 ( )10.下列关于AOE网的叙述中不正确的是__D______。 a. 关键活动不按期完成会影响整个工程的完成时间 b. 所有的关键活动提前完成,那么整个工程将会提前完成 c. 某些关键活动若提前完成,那么整个工程将会提前完成 d. 任一关键活动提前完成,那么整个工程将会提前完成 二.填空作图简答题(共64分): 1.将算术表达式((a+b)+c*(d+e)+f)*(g+h)转化为二叉树,并写出其前序序列。 二叉树略

相关文档
最新文档