1、数据构造(本)形成性考核作业册使用阐明本作业册是中央广播电视大学计算机科与技术专业(本科)数据构造(本)课程形成性考核根据,与数据构造(本科)教材(李伟生主编,中央电大出版社出版)配套使用。数据构造(本)课程是中央广播电视大学计算机科学技术专业一门统设必修、学位课程,4学分,共72学时。其中实验24学时,开设一学期。本课程特点是综合性、实践性强,内容抽象,在专业中具备承上启下作用。因而,在学习本课程时,要注意理论联系实际,结合教学内容进行上机实践,认真完毕作业和实验内容。本课程总成绩按百分制记分,其中形成性考核所占比例为30%,终结性考试占70(闭卷,答题时限为90分钟)。课程总成绩达到60分
2、及以上者为合格,可以获得该课程学分。本课程学位课程学分为70分,即课程总成绩达到70分及以上者有资格申请专业学位。本课程共设计了4次形考作业,每次形考作业均涉及实验内容,由各地电大依照学生对作业中各种题型练习和实验完毕状况进行考核。对于实验内容规定按实验规定认真完毕,并提交实验报告。数据构造(本)课程作业作业1(本某些作业覆盖教材第1-2章内容)一、单项选取题1在数据构造中,从逻辑上可以把数据构造分为( )。A动态构造和静态构造 B紧凑构造和非紧凑构造 C线性构造和非线性构造 D内部构造和外部机构2下列说法中,不对的是( )。A数据元素是数据基本单位 B数据项是数据中不可分割最小可标记单位 C
3、数据可有若干个数据元素构成 D数据项可由若干个数据元素构成3一种存储结点存储一种( )。A数据项 B数据元素 C数据构造 D数据类型4每个存储结点只存储一种数据元素,各结点存储在持续存储空间,该存储方式是( )存储方式。A顺序 B链接 C索引 D散列5每个存储结点不但具有一种数据元素,还包括一组指针,该存储方式是( )存储方式。A顺序 B链接 C索引 D散列6数据构造中,与所使用计算机无关是数据( )。A存储构造 B物理构造C逻辑构造 D物理和存储构造7下列论述中,不属于算法特性是( )。A有穷性 B输入性 C可行性 D可读性8算法分析目是( )。 A找出数据构造合理性 B研究算法中输入和输出
4、关系 C分析算法效率以求改进 D分析算法易懂性和文档性9数据构造是一门研究计算机中( )对象及其关系科学。A数值运算 B非数值运算C集合 D非集合 10算法时间复杂度与( )关于。 A所使用计算机 B与计算机操作系统 C与算法自身 D与数据构造11把数据存储到计算机中,并详细体现数据元素间逻辑构造称为( )。 A逻辑构造 B物理构造 C算法详细实现 D给有关变量分派存储单元12设有一种长度为n顺序表,要在第i个元素之前(也就是插入元素作为新表第i个元素),则移动元素个数为( )。 An-i+1 Bn-i Cn-i-1 Di13设有一种长度为n顺序表,要删除第i个元素移动元素个数为( )。 An
5、-i+1 Bn-i Cn-i-1 Di14在一种单链表中,p、q分别指向表中两个相邻结点,且q所指结点是p所指结点直接后继,现要删除q所指结点,可用语句( )。 Ap=q-next Bp-next=q Cp-next=qnext Dq-next=NULL15在一种单链表中p所指结点之后插入一种s所指结点时,可执行( )。 Ap-next= s;snext= pnext Bp-next=snext;Cp=s-next Ds-next=p-next;p-next=s;16非空单向循环链表尾结点满足( )(设头指针为head,指针p指向尾结点)。 A.P-next= =NULL BP= =NULL
6、CP-next= =head DP= = head 17链表不具备特点是( )。 A可随机访问任一元素 B插入删除不需要移动元素 C不必事先预计存储空间 D所需空间与线性表长度成正比18带头结点链表为空判断条件是( )(设头指针为head)。Ahead = =NULLBhead-next= =NULL Chead-next= =headDhead!=NULL19在一种单链表中,p、q分别指向表中两个相邻结点,且q所指结点是p所指结点直接后继,现要删除q所指结点,可用语句( )。Ap=q-nextBp-next=qCp-next=q-nextDq-next=NULL20下面关于线性表论述错误是(
7、 )。 A.线性表采用顺序存储,必要占用一片地址持续单元 B线性表采用顺序存储,便于进行插入和删除操作 C线性表采用链式存储,不必占用一片地址持续单元 D线性表采用链式存储,便于进行插入和删除操作21在一种链队中,假设f和r分别为队头和队尾指针,则删除一种结点运算为( )。 Ar=f-next; Br=r-next; Cf=f-next; Df=r-next;22在一种链队中,假设f和r分别为队头和队尾指针,则插入s所指结点运算为( )。 Af-next=s;f=s; Br-next=s;r=s; Cs-next=r;r=s; Ds-next=f;f=s;23.一种顺序表第一种元素存储地址是9
8、0,每个元素长度为2,则第6个元素地址是( )。A98 B100 C102 D106 24用链表表达线性表长处是( )。A便于随机存取 B耗费存储空间较顺序存储少C便于插入和删除 D数据元素物理顺序和逻辑顺序相似 25关于线性表对的说法是( )。A每个元素均有一种直接前驱和一种直接后继 B线性表至少规定一种元素C表中元素必要按由小到大或由大到下排序 D除了一种和最后一种元素外,别的元素均有一种且仅有一种直接前驱和一种直接后继二、填空题1在一种长度为n顺序存储构造线性表中,向第i(1in+1)个元素之前插入新元素时,需向后移动 个数据元素。2从长度为n采用顺序存储构造线性表中删除第i(1in+1
9、)个元素 ,需向前移动 个元素。3数据构造按结点间关系,可分为4种逻辑构造: 、 、 、 。4数据逻辑构造在计算机中表达称为 或 。5除了第1个和最后一种结点外,别的结点有且只有一种前驱结点和后继结点数据构造为 ,每个结点可有任意各种前驱和后继结点数构造为 。6算法5个重要特性是 、 、 、 、 。7数据构造中数据元素存在多对多关系称为_ _构造。8数据构造中数据元素存在一对多关系称为_ _构造。9数据构造中数据元素存在一对一关系称为_ _构造。10规定在n个数据元素中找其中值最大元素,设基本操作为元素间比较。则比较次数和算法时间复杂度分别为_ _和 _ _ 。11在一种单链表中p所指结点之后
10、插入一种s所指结点时,应执行_ _和p-next=s;操作。12设有一种头指针为head单向循环链表,p指向链表中结点,若p-next= =_ _,则p所指结点为尾结点。13在一种单向链表中,要删除p所指结点,已知q指向p所指结点前驱结点。则可以用操作_ _。14设有一种头指针为head单向链表,p指向表中某一种结点,且有p-next= =NULL,通过操作_ _,就可使该单向链表构导致单向循环链表。15每个结点只包括一种指针域线性表叫 。16线性表具备 和 两种存储构造。17数据逻辑构造是从逻辑关系上描述数据,它与数据关系 无关,是独立于计算机。18在双向循环链表每个结点中包括 指针域,其中
11、next指向它 ,prior指向它 ,而头结点prior指向 ,尾结点next指向 。19单向循环链表是单向链表一种扩充,当单向链表带有头结点时,把单向链表中尾结点指针域由空指针改为 ;当单向链表不带头结点时,则把单向链表中尾结点指针域由空指针改为指向 。20线性链表逻辑关系时通过每个结点指针域中指针来表达。其逻辑顺序和物理存储顺序不再一致,而是一种 存储构造,又称为 。 三、问答题1简述数据逻辑构造和存储构造区别与联系,它们如何影响算法设计与实现?2解释顺序存储构造和链式存储构造特点,并比较顺序存储构造和链式存储构造优缺陷。3什么状况下用顺序表比链表好?4头指针、头结点、第一种结点(或称首元
12、结点)区别是什么?5解释带头结点单链表和不带头结点单链表区别。6与单链表相比,双向循环链表有哪些长处?四、程序填空题1下列是用尾插法建立带头结点且有n个结点单向链表算法,请在空格内填上恰当语句。NODE *create1(n)/* 对线性表(1,2,.,n),建立带头结点单向链表 */ NODE *head,*p,*q; int i; p=(NODE *)malloc(sizeof(NODE); head=p;q=p;p-next=NULL; for(i=1;inext=NULL; (2) ; for(i=1;idata=i; if(i=1) (3) ; else(4) ;(5) ; retu
13、rn(head);3下列是在具备头结点单向列表第ij个结点之间插入新结点x算法(1 i n+1),请在空格内填上恰当语句。int insert(NODE *head,int x,int i) NODE *q,*p; int j;(1) ; j=0; while(q!=NULL)&(jnext;j+; if(q=NULL) return(0); p=(NODE *)malloc(sizeof(NODE); p-data=x; (2) ; (3) ; return(1); 4下列是在具备头结点单向列表中删除第i个结点,请在空格内填上恰当语句。int delete(NODE *head,int i)NODE *p,*q; int j; q=head;j=0; while(q!=NULL)&(jnext;j+; if(q=NULL) return(0);(1) ; (2) ; free(p); return(1);五、完毕:实验1线性表依照实验规定(见教材P201-202)认真完毕本实验,并提交实验报告。