数据结构课堂笔记di

数据结构课堂笔记di
数据结构课堂笔记di

一、数据:是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。它是计算机程序加工的“原料”。

二、数据元素:是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。一个数据元素可由若干个数据项组成。数据项是数据的不可分割的最小单位。

三、数据对象:是性质相同的数据元素的集合,是数据的一个子集。

四、数据机构:是相互之间存在一种或多种特定关系的数据元素的集合。在任何问题中,数据元素都不是孤立存在的,而是在它们之间存在着某种关系,这种数据元素相互之间的关系称为结构。根据数据元素之间关系的不同特性,通常有下列4类基本结构:(1)集合------------数据元素仅有同属一个关系的关系(2)线性结构----------结构中数据元素之间存在一个对一个的关系(3)树形结构------------结构中的数据元素之间存在一个对多个的关系(4)图状结构或网状结构-----------结构中的数据元素之间存在多个对多个的关系

五、元素在存贮结构(1)物理结构(存储结构):它包括数据元素的表示和关系。(2)逻辑结构

六、位bit:在计算机中表示信息的最小单位是二进制的一位

七、元素element/节点node:位串

八、数据域:当数据元素由若干数据项组成时,位串中对应于各个数据项的子位串

九、数据元素之间的关系在计算机中有两种不同的表示方法,顺序映像和非顺序映像,并由此得到两种不同的存储结构:顺序存储结构(借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系)和链式存储结构(借助指示元素存储地址的指针表示数据元素之间的逻辑关系)。

类C语言语句:

(1)预定义常量和类型:

#define TRUE 1 FALSE 0

#define OK 1 ERROR 0

#define INFEASIBLE -1 OVERFLOW -2

(2)数据元素类型ElemType

(3)赋值语句:

简单赋值变量名=表达式;

串联赋值变量名1=变量名2=…=变量名k=表达式;

成组赋值(变量名1,…,变量名k)=(表达式1,…,表达式k);

结构名=结构名;

结构名=(值1,…,值k);

变量名[]=表达式;

变量名[起始下标..终止下标]= 变量名[起始下标..终止下标];

交换赋值:变量名<->变量名;

条件赋值:变量名=条件表达式?表达式T:表达式F;

(4)选择语句有

条件语句1 if(表达式)语句;

条件语句2 if(表达式)语句;

else语句;

开关语句1 switch(表达式){

case值1:语句序列1;break;

case值n:语句序列n;break;

default:语句序列n+1;

}

开关语句2 switch(表达式){

case条件1:语句序列1;break;

case条件n:语句序列n;break;

default:语句序列n+1;

}

(6)循环语句有:

for语句for(赋初值表达式序列;条件;修改表达式序列)语句;

while语句while(条件)语句;

do-while语句do{

语句序列;

}while(条件);

(7)结束语句有

函数结束语句return表达式;

return;

case结束语句break;

异常结束语句exit(异常代码);

(8)输入和输出语句有:

输入语句scanf([格式串],变量1,…,变量n);

输出语句printf([格式串],表达式1,…,表达式n);

通常省略格式串。

(9)注释

单行注释//文字序列

(10)基本函数有:

求最大值max(表达式1,…,表达式n)

求最小值min(表达式1,…,表达式n)

求绝对值abs(表达式)

求不足整数值floor(表达式)

求进位整数值ceil(表达式)

判定文件结束eof(文件变量)或eof

判定行结束eoln(文件变量)或eoln

(11)逻辑运算约定

与运算&&:对于A&&B,当A的值为0时,不再对B求值。

或运算||:对于A||B,当A的值为非0时,不再对B求值。

算法:是对特定问题求解步骤的一种描述,它是指令的有限序列。

(1)有穷性(2)确定性(3)可行性(4)输入(5)输出

算法设计要求:(1)正确性(2)可读性(3)健壮性(4)效率与低存储量需求线性表:是最常用且最简单的一种数据结构。

一、线性表:除表中的第一个元素外,其余元素仅有一个前驱。

除表中最后一个元素外,其余元素仅有一个后继。

二、线性表的存贮结构

1.解决存贮问题

2.反映元素之间关系

三、线性表的操作:

1.插入一个元素

2.删除一个元素

3.查找一个元素

4.排序

……

怎么删除ai?覆盖算不算删除?

答:不算。删除正是为了得到。

SeqlistDelete(A[],n,i)

{

if(i<1 OR i>n)

{

Printf(“参数非法”);

}return 0;

}

Else

{

for(k=i+1;k

A[k-1]<=A[k];

n<=n-1;

return n;

}

栈(heap)

五、堆栈(stack):是一种特殊形式(表的插入和删除)的线性表限定在表的。。。运行

作业1:线性表中元素为整型,以50为界,小于50在左,大于50在右。作业讲解:x<=A[i];

while(A[j]>=x and i

{

j<=j-1;

if(A[j]

{

A[i]<=A[j];

i<=i+1;

}

while(A[i]

i<=i+1;

if(A[i]>=x)

{

A[j] <=A[i];

j<=j-1;

}

第三章:链式存贮结构的线性表

一、为什么要引入链表?

顺序表的优点:结构紧凑,存储空间利用率高,操作简单。

缺点:它需要一块连续的存贮空间。

多任务多生产

则找不出谁是前驱谁是后继

插入a1:*p=a1; 改为:p->date=a1;指针p指向对象date=a1,该对象是一个结构体,指向结构体里a1那部分

删除a1并把存储空间解放:free(p);

动态存储结构

地址=malloc(大小);字节

free(p);

区别:数组:编译时确定(静态)

链表:编译时确定(动态)<原本不存在>

P=(ElemType*)=malloc(sizeof(ElemType));

改为NODE* 改为NODE

因为是无类型指针,所以必须强制转换。

Typedef 类型定义struct node NODE(定义为新的类型)

二、链表的构造

q<=NULL;

for(j=n;i>=1;i--)

{

p<=(NODE*)malloc(sizeof(NODE));

p->date<=an; 将an替换为ai 注:i此处为n-1

p->next<=NULL;把指针设为空指针,替换为q

q<=p;

}

考虑链表的头指针

当ai未插入时:

算法:

CreatLinkList(n) 构造链表,n为节点

{

q<=NULL;

for(i=n;i>=1;i--)

{

p<=(NODE*)malloc(sizeof(NODE));

scanf(ai);

p->date<=ai;

p->next<=q;

q<=p;

}

return(p);

}

注:此时p、q一样∵已被赋值给对方

作业4:倒过来。

从前节点到后节点。

头指针head p<=head;

从头指针出发,依次输出节点。

可用for循环或while循环(不确定循环次数时用)

p<=head;

while(p=\NULL)

{

printf(p->data);

p<=p->next;

}

三、链表的插入算法:

假定:在表中值为x的节点前面插入一个值为y的节点。分析:1.空链

2.表中第1个节点的值为x

3.表中有一个值为x的节点

4.表中没有值为x的节点

5.表中有多个值为x的节点。

NODE*InsertLinkList(head,x,y)

{

q<=(NODE*)malloc(sizeof(NODE));

q->data<=y;

q->next<=NULL;

if(head=NULL)

head<=q;

else if(head->date=x)

{

q->next<=head;

head<=q;

}

else

{

r<=head;

p<=head->next;

while(p->data=/x and p=\NULL)

p<=p->next;

if(p=\NULL)

{

q->next<=p;

r->next<=q;

}

else

r->next<=q;

}

return(head);

}

假定:删除表中值为x的节点

分析:1.空表;

2.第1个节点的值为x;

3.在表中有值为x的节点;

4.在表中没有值为x的节点

NODE *=DeleteLinkList(head,x,t) (返回指针)a.值参call by value { b.变参call by address s<=NULL;

if(head=NULL)

printf("这是一个空表")

else if(head->data=x)

{

s<=head;

head<=head->next;

}

else

q<=head; (返回内容不同)p<=head->next;

while(p->data=\x and p->next=\NULL)

{

q<=p;

p<=p->next;

}

if(p->data=x)

{

s<=p;

q->next<=p->next;

}

else

printf("表中没有值为x的节点");

}

if(s=\NULL)

{

t<=s->data;

free(s);

return(head); (返回值)}

}

四、链式存贮结构的栈

五、链式存贮结构的队列

六、循环链表

L=(a1,a2,…an) ai——存在元素

双向链表

插入:

值为x的节点前面加入值为y的节点

删除值为x的节点:

一个指针指向一个整体,指向同个整体的必须是相同的指针,不管是P还是m。

八、十字链表

NODE *PoliAdd (ah,bh)

{

Pa<=ah;Pb<=bh;

已知头指针分别为ah和bh的两条链。

PC<=(NODE*)malloc(sizeof(NODE));

ST<=PC;

while(Pa<=\NULL and Pb<=\NULL)

{

ct<=Compare(Pa->exp,Pb->exp); 假定有compare比较

switch(ct)

{

case">":

attach(PC,Pa->coof,Pa->exp);

Pa<=Pa->next;

break;

case"=":

m<=Pa->coof+Pb->coof

attach(PC,m,Pa->exp);

Pb<=Pa->next;

break;

case"<":

attach(PC,Pb->coof,pb->exp);

Pb<=Pb->next;

break;

}

}

while循环可能出现一条链结束了一条链还未结束∴还剩下一节结点,但可能同时结束

while(Pa=\NULL)

{

attach(PC,Pa->coof,Pa->exp);

Pa<=Pa->next;

}

while(Pb=\NULL)

{

attach(PC,Pb->coof,Pb->exp);

Pb<=Pb->next;

}

该部分算法将剩余部分未加的链挂上去但PC走动,ST仍指向空结点

PC<=ST->next;

free(ST);

}

如图:

a.比较指数的大小

b.比较完后考虑是否相加,还是挂在一条链上

从前往后产生链。产生一个结点往上挂。

例题:一元多项式相加,

前提:不破坏原本两条链,相加求第三条链

分析:数据结构

必须考虑抵消指数的情况m=\0.

用项对应结点

Compare(a,b)

{

if(a>b)

{

if(a>b)

return('>');

else if(a=b)

return('=');

else

return('<');

}

}

}

void attach(PC,coof,exp)

{

栈:是限定仅在表尾进行插入或删除操作的线性表

表尾(栈顶)表头(栈底)

压栈算法:int PushStack(s[],top,x)

{

if(top>=SMAX)

{

printf("overlow");

return 0;

}

else

{

S[top]<=x;

top=top++;

}

}

出栈算法:

ElemType Popstack(s[],top,bottom)

{

if(top<=bottom)

{

printf("overlow");

}

return 0;

}

else

{

top<=top-1;

y<=S[top];

return y;

}

作业2:为了节省空间,两个栈共享一段内存,写出这两个栈的压栈及出栈

算法。

队列:1.什么是队列?也是一种特殊的线性表(插入在表的一端,删除在表的另一端)

区别于线性表:插入、删除在同一端。

2.队列的操作:

1.插入。

如何判断其满?

int Queue Insert(Q[],front,rear,x)

{

if(rear>=QMAX)

{

printf("Overlow");

return 0;

}

else

{

rear=rear+1;

Q[rear]<=x;

return 1;

}

}

2.删除:

ElemType Queue Delete(Q[],front,rear)

{

if(rear<=front)

{

printf("Overlow");

return 0;

}

else

{

front=front+1;

}

}

以上为错误算法,rear

rear=100

rear+1=\101

=1

mol->%求余

(100+1)%=1->即令100+1=1

正确的队列插入与删除算法如下:

int Queue Insert(Q[],front,rear,x)

{

if((rear+1)mod QMAX=front)

{

printf("Overlow");

return 0;

}

else

{

mod QMAX

Q[rear]<=x;

return 1;

}

}

ElemType Queue Delete(Q[],front,rear)

{

if(rear<=front)

{

printf("Overlow");

return 0;

}

else

{

mod QMAX

}

3.队列的应用keyboard buffer 32byte

如何解决“假满”?---------还有空的地方却不能再插入。

答:接为环状(上弯下弯不同)

元素本身是字符型。

1Byte=指针4Byte

总结:

优点:1.不要求连续的、大块的内存,充分地利用内存空间

2.动态的存储结构

不足:1.空间复杂度增加

2.操作(算法)复杂些

作业4:给定一个链表,将其倒过来。

数据结构第二章试题

第2章线性表 一、选择题 1. 链表不具备的特点是()。 A.可随机访问任意结点 B. 插入删除不需要移动元素 C. 不必事先估计存储空间 D. 所需空间与其长度成正比 2. 不带头结点的单链表head为空的判定条件是()。 ==NULL B. head->next==NULL >next==head !=NULL 3.带头结点的单链表head为空的判定条件是()。 ==NULL B. head->next==NULL >next==head !=NULL 4.带头结点的双循环链表L为空表的条件是()。 A.L==NULL B.L->next->==NULL C.L->prior==NULL >next==L 5.非空的循环链表head的尾结点(由P所指向)满足()。 A.p->next==NULL B.p==NULL C.p->next==head ==head 6.在循环双链表的p所指结点之前插入s所指结点的操作是()。 A.p->prior=s;s->next=p;p->prior->next=s;s->prior=p->prior; B.p->prior=s;p->prior->next=s;s->next=p;s->prior=p->prior; C.s->next=p;s->prior=p->prior;p->prior=s;p->right->next=s; D. s->next=p;s->prior=p->prior;p->prior->next=s;p->prior=s; 7.若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用()存储方式最节省运算时间。 A.单链表 B.给出表头指针的单循环链表 C.双链表 D. 带头结点的双循环链表 8.某线性表最常用的操作是在最后一个结点之后插入一个节点或删除第一个结点,故采用()存储方式最节省运算时间。 A.单链表 B.仅有头结点的单循环链表 C.双链表 D. 仅有尾指针的单循环链表 9.需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是()。 A.单链表 B.静态链表 C.线性链表 D. 顺序存储结构 10.如果最常用的操作是取第i个结点及前驱,则采用()存储方式最节省时间。 A.单链表 B.双链表 C.单循环链表 D.顺序表 11.在一个具有n个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是()。 A.O(1) B.O(n) C.O(n*n) D. O(nlog2n) 12.在一个长度为n(n>1)的单链表上,设有头和尾两个指针,执行()操作与链表的长度有关。A.删除单链表中的第一个元素 B.删除单链表中的最后一个元素 C. 在单链表第一个元素前插入一个新元素 D.在单链表最后一个元素后插入一个新元素 13.设线性表有n个元素,以下算法中,()在顺序表上实现比在链表上实现效率更高。A.输出第i(0<=i<=n-1)个元素值 B.交换第0个元素与第1个元素的值 C. 顺序输出这n个元素的值 D.输出与给定值x相等的元素在线性表中的序号 14.设线性表有2n个元素,算法(),在单链表上实现比在顺序表上实现效率更高。 A.删除所有值为x的元素 B.在最后一个元素的后面插入一个新元素 C. 顺序输出前k个元素 D.交换第i个元素和第2n-i-1个元素的值(i=0,1,…,n-1)

数据集成整体解决处理办法

数据集成整体解决方案 继系统集成、应用集成、业务集成之后,最头痛的数据集成(Data Integration)已渐被各大企业纷纷触及。目前国内大多数企业还仅停留在服务于单个系统的多对一架构数据集成应用,这种架构常见于数据仓库系统领域,服务于企业的商务智能。早期那些数据集成大家大都是从ETL启蒙开始的,当时ETL自然也就成了数据集成的代名词,只是忽然一夜春风来,各厂商相继推出DI新概念后,我们不得不再次接受新一轮的DI洗脑,首推的有SAS DI、Business Objects DI、Informatica DI、Oracle DI(ODI)等厂商。 数据集成,主要是指基于企业分散的信息系统的业务数据进行再集中、再统一管理的过程,是一个渐进的过程,只要有新的、不同的数据产生,就不断有数据集成的步聚执行。企业有了五年、八年的信息化发展,凌乱、重复、歧义的数据接踵而至,数据集成的空间与需求日渐迫切,企业需要一个主数据管理(Master Data Manager)系统来统一企业的产品信息、客户信息;企业需要一个数据仓库(Data Warehouse)系统来提高领导层的决策意识,加快市场战略调整行动;企业需要一个数据中心(Data Center)系统来集中交换、分发、调度、管理企业基础数据。 数据集成的必要性、迫切性不言而喻,不断被推至企业信息化战略规划的首要位置。要实现企业数据集成的应用,不光要考虑企业急需集成的数据范围,还要从长远发展考虑数据集成的架构、能力和技术等方面内容。从数据集成应用的系统部署、业务范围、实施成熟性看主要可分三种架构。一种是单个系统数据集成架构、一种是企业统一数据集成架构、一种是机构之间数据集成架构。 单个系统数据集成架构,是国内目前大兴土木所采用的架构,主要是以数据仓库系统为代表提供服务而兴建的数据集成平台,面向企业内部如ERP、财务、OA等多各业务操作系统,集成企业所有基础明细数据,转换成统一标准,按星型结构存储,面向市场经营分析、客户行为分析等多个特有主题进行商务智能体现。这种单个系统数据集成应用架构的主要特点是多对一的架构、复杂的转换条件、TB级的数据量处理与加载,数据存储结构特殊,星型结构、多维立方体并存,数据加载层级清晰。

结构力学课程教学改革

结构力学课程教学改革 摘要:文章通过阐述笔者在“结构力学”课程教学中所遇到的一些问题,并针对这些问题在教学内容、教学方式等方面进行了思考,最后对课程的教学改革提出了自己的一些看法。 关键词:结构力学;教学方法;教学改革 前言 结构力学是高校土木工程专业最重要的一门专业基础课之一,在整个土木工程专业教学中不但具有承上启下的核心地位,而且贯穿于整个专业学习的过程。结构力学的先修课包括高等数学、线性代数、计算机基础知识、工程力学等,作为土木工程学科主要的专业基础课之一,它是联系基础力学课程与工程设计课程的纽带,是从力学基本理论过渡到工程实际应用的重要桥梁。结构力学课程的教学质量直接决定了后续钢筋混凝土结构设计原理、钢结构、地基基础和抗震结构设计、以及课程设计和毕业设计等课程的教学效果,同时也是学生今后在设计或施工工作中解决工程问题的基础。因此,想要学生将大学的专业课程学习扎实,结构力学这门课程必须学好,这就对我们结构力学的教室提出了更高的要求。本人在结构力学的教学过程中,发现了一些教学上所存在的问题,文章将从这些问题着手,提出一些解决问题的方法,并对该课程的教学的改革提出几点自己的见解。 一、结构力学教学中存在的问题 (一)课时少 在教育部大力推行“大土木”专业背景下,学生的课程数量大幅

增加,导致各专业课分配到的课时不可避免的减少,结构力学也不例外。而结构力学是一门专业基础课,主要研究杆系结构的内力和变形,具有内容较多,理论性强,概念较为抽象,解决问题的思路多样化等特点。有很多重要的内容必须细细讲授,要耗费大量课时,课时少与内容多的矛盾相当突出。因此,必须增加结构力学课程的学时。 (二)内容繁琐、零乱 在目前的结构力学的培养方案中,有一些内容较为繁琐、零乱。例如在理论力学中,桁架杆的内力计算已经被讲授过,而结构力学又要重新再讲一次,内容得不到很好的衔接,导致学生上课一头雾水。而像矩阵位移法这类本科学生今后在工作中很少被运用到的内容,大纲却要求重点讲授,不仅浪费课时,也浪费学生学习的精力。因此,教学内容改革势在必行。 (三)内容抽象 结构力学研究计算的是结构在各种效应作用下的响应,包括内力的计算及位移的计算。由于内力看不见,摸不着,学生在学习的过程中缺乏感性的认识,学生很容易将内力等概念混淆,造成对知识点的模糊。且由于课程的内容抽象,这就造成学生在接触到这门课程时容易产生畏难情绪,再者由于学生在学习过程中没有明确的目的性,“怎样去学习”、“知识点该如何运用”、“如何分析力学模型”等问题普遍存在,导致学生不能学以致用,自然而然缺乏对结构力学这门理论性较强的课程的学习兴趣。学生学习后不知道学习结构力学对今后工作有何帮助。

数据结构试题库答案

数据结构试题及答案 一、单项选择题 (1)一个算法应该就是()。 A)程序???B)问题求解步骤得描述 C)要满足五个基本属性??D) A与C (2)算法指得就是()。 A)计算机程序???B)解决问题得计算方法 C)排序算法???D)解决问题得有限运算序列。 (3)与数据元素本身得形式、内容、相对位置、个数无关得就是数据得()。 A) 存储结构B) 逻辑结构C)算法D)操作 (4)从逻辑上可以把数据结构分为( )两大类。 A)动态结构、静态结构??B) 顺序结构、链式结构 C)线性结构、非线性结构???D)初等结构、构造型结构 (5)下列叙述中正确得就是()。 A)一个逻辑数据结构只能有一种存储结构 B)数据得逻辑结构属于线性结构,存储结构属于非线性结构 C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理得效率 D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理得效率 (6)数据得基本单位就是() ?A) 数据项??B) 数据类型C)数据元素??D)数据变量 (7)下列程序得时间复杂度为() i=0;s=0; while(s

数据集成解决方案

数据集成解决方案 篇一:大数据整合集成解决方案 数据集成,主要是指基于企业分散的信息系统的业务数据进行再集中、再统一管理的过程,是一个渐进的过程,只要有新的、不同的数据产生,就不断有数据集成的步聚执行。企业有了五年、八年的信息化发展,凌乱、重复、歧义的数据接踵而至,数据集成的空间与需求日渐迫切,企业需要一个主数据管理(Master Data Manager)系统来统一企业的产品信息、客户信息;企业需要一个数据仓库(Data Warehouse)系统来提高领导层的决策意识,加快市场战略调整行动;企业需要一个数据中心(Data Center)系统来集中交换、分发、调度、管理企业基础数据。 数据集成的必要性、迫切性不言而喻,不断被推至企业信息化战略规划的首要位置。要实现企业数据集成的应用,不光要考虑企业急需集成的数据范围,还要从长远发展考虑数据集成的架构、能力和技术等方面内容。从数据集成应用的系统部署、业务范围、实施成熟性看主要可分三种架构。一种是单个系统数据集成架构、一种是企业统一数据集成架构、一种是机构之间数据集成架构。 企业统一数据集成架构,组织结构较复杂的大型企业、政府机构尤为偏爱这种数据集成的架构,因此类单位具有业

务结构相对独立、数据权力尤为敏感、数据接口复杂繁多等特征,更需要多个部门一起协商来建立一个统一的数据中心平台,来解决部门之间频繁的数据交换的需求。如金融机构、电信企业,公安、税务等政府机构,业务独立、层级管理的组织结构决定了内部数据交互的复杂性。概括来说此类应用属于多对多的架构、数据交换频繁、要有独立的数据交换存储池、数据接口与数据类型繁多等特点。 对于企业管理性、决策性较强的信息系统如主数据管理系统、财务会计管理系统、数据仓库系统等数据可直接来源于数据中心,摆脱了没有企业数据中心前的一对多交叉的困扰,避免了业务系统对应多种管理系统时需要数据重复传送篇二:T1数据整合解决方案 T1数据整合解决方案 一、T1数据整合概念 数据整合的概念在业界比较混乱,比如系统整合、应用整合、主机整合、存储整合、数据库整合、数据大集中等等。这些不同的概念是在不同的层次、不同的角度阐述计算机系统整合的内涵和外延,是在计算机系统整合这一大的概念范畴下,存在着多种整合形式和技术手段,例如国内大型银行和电信业已经开展的全国性数据大集中,应属于数据整

数据结构第二章线性表测试题

第二章线性表 1、描述一下三个概念的区别:头指针,头结点,首元结点。并给予图示。 2、对于有头结点的单链表,分别写出定位成功时,实现下列定位语句序列。(1)定位到第i 个结点a i ; (2)定位到第i 个结点的前驱a i-1; (3)定位到尾结点; (4)定位到尾结点的前驱。 3、已知L 是有表头结点的单链表,且P 结点既不是首元结点,也不是尾结点,试写出实现下列功能的语句序列。 (1)在P 结点后插入S 结点;(2)在P 结点前插入S 结点;(3)在表首插入S 结点;(4)在表尾插入S 结点 . p=head; p=head; j=0; while ( p && jnext; j++;} p=head; j=0; while ( p && jnext; j++;} p=head; while ( p ->next ) p=p->next; while ( p->next->next ) p=p->next; (1)s->next=p->next; p->next=s; (2)q =L ; whil e ( q ->next !=p ) q =q ->next;s->next=p 或 q ->next ; q ->next=s; (3 ) s->next=L ->next; L ->next=s; (4)q =L ; whil e ( q ->next !=NULL) q =q ->next;s->next= q ->next ; q ->next=s;

4、设计算法:在顺序表中删除值为e 的元素,删除成功,返回1;否则,返回0。 5、设计一个算法,将一个带头节点的数据域依次为a 1,a 2,…,a n (n ≥3)的单链表的所有节点逆置,即第一个节点的数据域变为a n ,…,最后一个节点的数据域为a 1。(注意:先用自然语言描述算法基本思想,然后用类C++语言描述) int Sqlist::DeleteElem( T e ) { for (i=1; i<=len g t h ; i ++) // 按值顺序查找 * i 可从0开始 if (elem[i-1]= =e) // 找到,进行删除操作 { for ( j=i; jnext; 4 LinkList* pri = NULL; //之前的节点 5 while(p){ 6 LinkList* q = new LinkList; 7 q->data = p->data; //把当前节点记录下来 8 q->next = pri; 9 pri = q; 10 head->next = q; 11 LinkList* t = p; //当前节点没用了删除掉 12 p=p->next; 13 delete(t); 14 } 15 }

数据中心集成安全解决方案

数据中心集成安全解决方案 1.系统功能简介 ?数据中心负责存储、计算和转发企业最重要的数据信息,这些信息的安全可靠成为了企业发展和生存的前提条件。思科数据中心安全保护套件提供数据中心信息的安全防护。 ?考虑到Cisco Catalyst 6500系列交换机已经广泛部署在企业数据中心,安全套件主要由内嵌防火墙模块(FWSM)和内嵌入侵检测系统模块(IDSM)两个组件构成。 ?FWSM使用一个实时的、牢固的嵌入式系统,可以消除安全漏洞,防止各种可能导致性能降低的损耗。这个系统的核心是一种基于自适应安全算法(ASA)的保护机制,它可以提供面向连接的全状态防火墙功能。利用FWSM可以根据源地址和目的地地址,随机的TCP序列号,端口号,以及其他TCP标志,为一个会话流创建一个连接表条目。FWSM可以通过对这些连接表条目实施安全策略,控制所有输入和输出的流量。IDSM对进入网络的流量进行旁路的深层数据包检测,判断和分析数据包是否能够安全的在数据中心进行发送、接收,防止业务资产受到威胁,提高入侵防范的效率。 ?思科数据中心安全保护套件示意图如下:

2.系统先进特性 ?灵活的扩展性:集成模块 FWSM安装在Cisco Catalyst 6500系列交换机的内部,让交换机的任何物理端口都可以成为防火墙端口,并且在网络基础设施中集成了状态防火墙安全。对于那些机架空间非常有限的系统来说,这种功能非常重要。系统可以通过虚拟防火墙功能将一台物理的防火墙模块划分为最多250台虚拟的防火墙系统,以满足用户业务的不断扩展。IDSM可以通过VLAN访问控制列表(VACL)获取功能来提供对数据流的访问权限,并根据自己的需要,同时安装多个模块,为更多的VLAN和流量提供保护。当设备需要维护时,热插拔模块也不会导致网络性能降低或者系统中断。 ?强大的安全防护功能:该系统不仅可以保护企业网络免受未经授权的外部接入的攻击,还可以防止未经授权的用户接入企业网络的子网、工作组和LAN。强大的入侵检测能力还可以提供高速的分组检查功能,让用户可以为各种类型的网络和流量提供更多的保护。多种用于获取和响应的技术,包括SPAN/RSPAN和VACL获取功能,以及屏蔽和TCP重置功能,从而让用户可以监控不同的网段和流量,同时让产品可以采取及时的措施,以消除威胁。 ?便于管理:设备管理器的直观的图形化用户界面(GUI)可以方便的管理和配置FWSM。系统更加善于检测和响应威胁,同时能够就潜在的攻击向管理人员发出警报,便于管理人员及时对安全事件进行响应。 3.系统配置说明(硬件软件需要与产品列表) ?FWSM+IDSM(详细报价请参考Excel文件) ?系统配置说明: Catalyst 6500 IDSM-2入侵检测模块需购买签名(IPS SIGNATURE)升级服务。

数据结构试题(含答案)

一.是非题 (正确的打“√”,错误的打“×”。) 1. 数据结构可用三元式表示(D,S,P)。其中:D是数据对象,S是D上的关系, P是对D的基本操作集。× 2. 线性表的链式存储结构具有可直接存取表中任一元素的优点。× 3. 字符串是数据对象特定的线性表。 4. 二叉树是一棵结点的度最大为二的树。× 5.邻接多重表可以用以表示无向图,也可用以表示有向图。× 6.可从任意有向图中得到关于所有顶点的拓扑次序。× 7.一棵无向连通图的生成树是其极大的连通子图。× 8.二叉排序树的查找长度至多为log2n。× 9.对于一棵m阶的B-树.树中每个结点至多有m 个关键字。除根之外的所有非终端结点至少有┌m/2┐个关键字。× 10.对于目前所知的排序方法,快速排序具有最好的平均性能。 11. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。× 12. 二维数组是其数据元素为线性表的线性表。 13. 连通图G的生成树是一个包含G的所有n个顶点和n-1条边的子图。× 14. 折半查找不适用于有序链表的查找。 15. 完全二叉树必定是平衡二叉树。 16. 中序线索二叉树的优点是便于在中序下查找直接前驱结点和直接后继结点。 17. 队列是与线性表完全不同的一种数据结构。× 18. 平均查找长度与记录的查找概率有关。 19. 二叉树中每个结点有两个子结点,而对一般的树,则无此限制,所以,二叉树是树的特殊情形。× 20. 算法的时间复杂性越好,可读性就越差;反之,算法的可读性越好,则时间复杂性就越差。× 二.选择题 1. 若对编号为1,2,3的列车车厢依次通过扳道栈进行调度,不能得到 ( e ) 的序列。 a:1,2,3 b:1,3,2 c:2,1,3 d:2,3,1 e:3,1,2 f:3,2,1 2. 递归程序可借助于( b )转化为非递归程序。 a:线性表 b: 栈 c:队列 d:数组 3. 在下列数据结构中( c )具有先进先出(FIFO)特性, ( b )具有先进后出(FILO)特性。 a:线性表 b:栈 c:队列 d:广义表 4. 对字符串s=’data-structure’ 执行操作replace(s,substring(s,6,8),’bas’)

办公大楼大数据信息化系统集成整体解决方案

智慧大厦信息化系统集成整体解决方案 北京XX科技有限公司 2019年X月

目录 第1章系统概述 (4) 1.1 系统概述 (4) 1.2 设计原则 (4) 1.3 设计依据 (5) 第2章系统详细设计 (7) 2.1 网络信息安全系统 (7) 2.1.1 系统综述 (7) 2.1.2 硬件部分技术及子网的划分 (9) 2.1.3 网络平台软件设计 (47) 2.1.4 网络安全设计 (61) 2.2 前端子系统 (78) 2.2.1 高清监控点组成 (79) 2.2.2 高清特点 (79) 2.3 存储子系统 (83) 2.3.1 编码压缩能力 (83) 2.3.2 压缩编码特点 (84) 2.4 解码子系统 (86) 2.4.1 数字矩阵工作方式 (86) 2.4.2 数字矩阵功能 (87) 2.4.3 数字矩阵优势 (88) 2.5 管理平台 (89) 2.5.1 中心服务模块 (92) 2.5.2 存储服务模块 (94) 2.5.3 流媒体服务模块 (96) 2.5.4 电视墙服务模块 (97) 2.5.5 报警服务模块 (99) 2.5.6 配置客户端模块 (100) 2.5.7 操作客户端模块 (105) 2.6 产品清单 (112) 2.7 产品选型 (112) 2.7.1 DS-2CD4535FWD-I(Z)(H) (112) 2.7.2 DS-2CD4A35FWD-IZ(H)(S) (123) 2.7.3 DS-2DF7296-A (134) 2.7.4 IS-VSE2326B-BBC服务器 (146) 2.7.5 DS-6408HD-T (151) 2.8 网络安全及信息安全 (156) 2.9 OA办公系统 (160) 2.9.1 系统设计理念 (160) 2.9.2 系统应用价值 (169) 2.9.3 需求分析 (172) 2.9.4 系统总体设计 (179) 2.9.5 功能应用设计 (187) 2.9.6 移动办公应用 (215)

软件项目集成管理解决方案

软件项目集成管理解决方案 1 系统概述 软件项目集成管理是实现软件开发过程和软件管理过程的全面管理。软件项目集成管理是通过将项目管理工具(如:MS project)和软件开发平台工具(如:IBM Rational Suite)有机地集成和扩展,依据软件工程和CMM/CMMI理论,按照组织统一的项目管理流程和方法针对软件开发过程、里程碑目标、任务级目标等进行集中管理的过程。软件项目管理一般面向软件开发团队以及有关管理者等部门或个人,最终提高企业软件生产力和项目成功率。 软件项目集成管理技术架构如下图所示: 2 软件项目管理 2.1软件项目计划 2.1.1计划编制 项目经理运用Microsoft Project2003 标准版编写项目计划。Microsoft Project 2003提供了强大的智能任务分解的工具。由于在系统的资源管理模块中已经完成对系统资源的定义,因此在此模块的任务分配中可以首先定义资源的成本,例如人员的计时工资,设备的每次使用成本等有关项目的成本信息,在将资源与相对的任务建立关系后相应资源的成本变为每个任务的成本,所有任务的成本构成项目的总成本。资源的成本定义如下图:

对相应任务分配资源后的项目以及任务成本图例: 项目的计划编写完毕后向服务器发布项目计划,这样项目计划成为最终的项目执行依据。 2.1.2任务执行管理 项目组成员可以在Project中对自己负责任务的完成情况进行设置,待设置被项目经理确认后,登录系统就可以查看项目各个任务的完成情况,如下图: 2.2软件项目跟踪和监督

软件项目跟踪和监控包括对照已文档化的估计、约定、计划评审跟踪软件完成情况和结果,基于实际的完成情况和结果调整这些计划。 在项目经理使用Microsoft Project 2003 标准版做好项目计划时,将做好的最初计划保存为比较基准;当项目进展到一定阶段后可以与比较基准进行比较,得出项目是否按计划进行,还有多少任务没有按时完成,多少任务提前完成等等信息。如下图: 通过这一模块可对项目进度进行控制与更新。以便于上级更好的掌握各种计划的进展情况,同时提供多种形式的进度查询,使领导及时掌握各种任务进展的更新信息。进度更新是更新自己所属任务的进展以及完成情况,便于上级更好的掌握各种计划的安排,以保证项目顺利进行。 3 软件开发过程管理 3.1需求管理 系统采用IBM Rational RequisitePro进行软件需求管理。IBM Rational RequisitePro利用了被广泛应用和熟悉的Microsoft Word工具来简化需求的获取。虽然文档有助于需求的获取,但它不是对信息进行优先级排序和组织的最佳环境,而这些活动在使用数据库时却可以达到最佳效果。通过链接需求文档和数据库,IBM Rational RequisitePro将两者的最佳功能结合在一起。 这个独特的结构充分利用了数据库的强大功能和Word的易用性,以便有效的进行需求管理。IBM Rational RequisitePro中的文档不是简单地将需求从数据库中输入或输出。它们包含当前最新的需求信息,使您可以在熟悉的Microsoft Word环境中对需求进行修改。Word文档中的需求被动态链接到数据库中存储的补充需求信息。数据库和文档被链接在一起,只需简单地在数据库中双击需求,就可启动Microsoft Word,将您直接带到书写该需求的文档

数据结构考试题库含答案

数据结构习题集含答案 目录

选择题 第一章绪论 1.数据结构这门学科是针对什么问题而产生的(A ) A、针对非数值计算的程序设计问题 B、针对数值计算的程序设计问题 C、数值计算与非数值计算的问题都针对 D、两者都不针对 2.数据结构这门学科的研究内容下面选项最准确的是(D ) A、研究数据对象和数据之间的关系 B、研究数据对象 C、研究数据对象和数据的操作 D、研究数据对象、数据之间的关系和操作 3.某班级的学生成绩表中查得张三同学的各科成绩记录,其中数据结构考了90分,那 么下面关于数据对象、数据元素、数据项描述正确的是(C ) A、某班级的学生成绩表是数据元素,90分是数据项 B、某班级的学生成绩表是数据对象,90分是数据元素 C、某班级的学生成绩表是数据对象,90分是数据项 D、某班级的学生成绩表是数据元素,90分是数据元素 4.*数据结构是指(A )。 A、数据元素的组织形式 B、数据类型 C、数据存储结构 D、数据定义 5.数据在计算机存储器内表示时,物理地址与逻辑地址不相同,称之为(C )。 A、存储结构 B、逻辑结构 C、链式存储结构 D、顺序存储结构 6.算法分析的目的是(C ) A、找出数据的合理性 B、研究算法中的输入和输出关系 C、分析算法效率以求改进 D、分析算法的易懂性和文档型性

7.算法分析的主要方法(A )。 A、空间复杂度和时间复杂度 B、正确性和简明性 C、可读性和文档性 D、数据复杂性和程序复杂性 8.计算机内部处理的基本单元是(B ) A、数据 B、数据元素 C、数据项 D、数据库 9.数据在计算机内有链式和顺序两种存储方式,在存储空间使用的灵活性上,链式存储 比顺序存储要(B )。 A、低 B、高 C、相同 D、不好说 10.算法的时间复杂度取决于( C ) A 、问题的规模B、待处理数据的初始状态 C、问题的规模和待处理数据的初始状态 D、不好说 11.数据结构既研究数据的逻辑结构,又研究物理结构,这种观点(B )。 A、正确 B、错误 C、前半句对,后半句错 D、前半句错,后半句对 12.在数据结构中,从逻辑上可以把数据结构分成( C ) A、动态结构和静态结构 B、紧凑结构和非紧凑结构 C、线性结构和非线性结构 D、内部结构和外部结构 13.线性表的顺序存储结构是一种( )的存储结构,线性表的链式存储结构是一种( A ) 存储结构。 A、随机存取 B、顺序存取 C、索引存取 D、散列存取 14.*下列程序的时间复杂度是(A ) for (i=1; i<=n; ++i){ for (j=1; j<=n; ++j){ c [i][j]=0;

数据结构试题及答案

一、单选题(每题2 分,共20分) 1. 1.对一个算法的评价,不包括如下(B )方面的内容。 A.健壮性和可读性B.并行性C.正确性D.时空复杂度 2. 2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结 点,则执行( A )。 A. p->next=HL->next; HL->next=p; B. p->next=HL; HL=p; C. p->next=HL; p=HL; D. HL=p; p->next=HL; 3. 3.对线性表,在下列哪种情况下应当采用链表表示?(B ) A.经常需要随机地存取元素 B.经常需要进行插入和删除操作 C.表中元素需要占据一片连续的存储空间 D.表中元素的个数不变 4. 4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是 ( C ) A. 2 3 1 B. 3 2 1 C. 3 1 2 D. 1 2 3 5. 5.AOV网是一种( D )。 A.有向图B.无向图C.无向无环图D.有向无环图 6. 6.采用开放定址法处理散列表的冲突时,其平均查找长度(B)。 A.低于链接法处理冲突 B. 高于链接法处理冲突 C.与链接法处理冲突相同D.高于二分查找 7.7.若需要利用形参直接访问实参时,应将形参变量说明为(D )参数。 A.值B.函数C.指针D.引用 8.8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具 有相同的(A)。 A.行号B.列号C.元素值D.非零元素个数 9.9.快速排序在最坏情况下的时间复杂度为(D )。 A.O(log2n) B.O(nlog2n) C.0(n) D.0(n2) 10.10.从二叉搜索树中查找一个元素时,其时间复杂度大致为( C )。 A. O(n) B. O(1) C. O(log2n) D. O(n2) 二、二、运算题(每题 6 分,共24分) 1. 1.数据结构是指数据及其相互之间的______________。当结点之间存在M 对N(M:N)的联系时,称这种结构为_____________________。 2. 2.队列的插入操作是在队列的___尾______进行,删除操作是在队列的 ____首______进行。 3. 3.当用长度为N的数组顺序存储一个栈时,假定用top==N表示栈空,则 表示栈满的条件是___top==0___(要超出才为满)_______________。 4. 4.对于一个长度为n的单链存储的线性表,在表头插入元素的时间复杂度 为____O(1)_____,在表尾插入元素的时间复杂度为____O n________。

数据结构试题及答案

第一章概论 一、选择题 1、研究数据结构就是研究(D)。 A. 数据的逻辑结构?B。数据的存储结构 C。数据的逻辑结构和存储结构?D.数据的逻辑结构、存储结构及其基本操作(研究非数值计算的程序设计问题中,计算机操作对象以及他们之间的关系和操作) 2、算法分析的两个主要方面是(A)。 A.空间复杂度和时间复杂度???B。正确性和简单性 C。可读性和文档性D.数据复杂性和程序复杂性 3、具有线性结构的数据结构是( D )。(线性结构就是:在非空有限集合中,存在为一个被称为第一个的数据元素和最后一个元素,有除了第一个元素,集合中每一个元素均只有一个前驱,除了最后一个元素有唯一后继)(链表、栈、队列、数组、串) A. 图B. 树??C.广义表(线性表的推广) D.栈 4、计算机中的算法指的是解决某一个问题的有限运算序列,它必须具备输入、输出、( B )等5个特性。 A.可执行性、可移植性和可扩充性? B. 可执行性、有穷性和确定性 C。确定性、有穷性和稳定性??? D. 易读性、稳定性和确定性 5、下面程序段的时间复杂度是( C )。 for(i=0;i

大数据整合集成解决方案

数据集成,主要是指基于企业分散的信息系统的业务数据进行再集中、再统一管理的过程,是一个渐进的过程,只要有新的、不同的数据产生,就不断有数据集成的步聚执行。企业有了五年、八年的信息化发展,凌乱、重复、歧义的数据接踵而至,数据集成的空间与需求日渐迫切,企业需要一个主数据管理(Master Data Manager)系统来统一企业的产品信息、客户信息;企业需要一个数据仓库(Data Warehouse)系统来提高领导层的决策意识,加快市场战略调整行动;企业需要一个数据中心(Data Center)系统来集中交换、分发、调度、管理企业基础数据。 数据集成的必要性、迫切性不言而喻,不断被推至企业信息化战略规划的首要位置。要实现企业数据集成的应用,不光要考虑企业急需集成的数据范围,还要从长远发展考虑数据集成的架构、能力和技术等方面内容。从数据集成应用的系统部署、业务范围、实施成熟性看主要可分三种架构。一种是单个系统数据集成架构、一种是企业统一数据集成架构、一种是机构之间数据集成架构。 企业统一数据集成架构,组织结构较复杂的大型企业、政府机构尤为偏爱这种数据集成的架构,因此类单位具有业务结构相对独立、数据权力尤为敏感、数据接口复杂繁多等特征,更需要多个部门一起协商来建立一个统一的数据中心平台,来解决部门之间频繁的数据交换的需求。如金融机构、电信企业,公安、税务等政府机构,业务独立、层级管理的组织结构决定了内部数据交互的复杂性。概括来说此类应用属于多对多的架构、数据交换频繁、要有独立的数据交换存储池、数据接口与数据类型繁多等特点。

对于企业管理性、决策性较强的信息系统如主数据管理系统、财务会计管理系统、数据仓库系统等数据可直接来源于数据中心,摆脱了没有企业数据中心前的一对多交叉的困扰,避免了业务系统对应多种管理系统时需要数据重复传送

数据结构第二章练习题 - 副本

《数据结构》第二章练习题 1.单项选择题 2.1链表不具备的特点是() A 可随机访问任一结点 B 插入删除不需要移动元素 C 不必事先估计存储空间 D 所需空间与其长度成正比 2.2 不带头节点的单链表head为空的判定条件是() A head==NULL B head->next==NULL C head->next==head D head!=NULL 2.3带头节点的单链表head为空的判定条件是() A head==NULL B head->next==NULL C head->next==head D head!=NULL 2.4 带头结点的双循环链表L为空的条件是() A L==NULL B l->next->==NULL C L->prior==NULL D L->next==L 2.5 非空的循环单链表head尾结点(由P所指向)满足() A P->next==NULL B P==NULL C P->next==head D P==head 2.6在双循环链表中的P所指结点之前插入s所指结点的操作是() A p->prior=s;s->next=p;p->prior>next=s;s->prior=p->prior; B p->prior=s;p->prior>next=s;s->next=p;s->prior=p->prior; C s->next=p;s->prior=p->prior; p->prior=s;p->right->next=s; D s->next=p;s->prior=p->prior;p->prior->next=s;p->prior=s; 2.7若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用()存储方式最节省运算时间 A 单链表 B 给出表头指针的单循环链表 C 双链表 D 带头结点的双循环链表 2.8某线性表最常用的操作时在最后一个结点之后插入一个结点或删除第一个结点,故采用()存储方式最节省运算时间 A 单链表B仅有头结点的单循环链表

《数据结构》题库及答案

《数据结构》题库及答案 一、选择题 1.线性表的顺序存储结构是一种 的存储结构,线性表的链式存储结构是一种 的存储结构。 a. 随机存储; b.顺序存储; c. 索引存取; d. HASH 存取 2.一个栈的入栈序列是a,b,c,d,e ,则栈的不可能的输出序列是 。 a. edcba; b. decba; c. dceab; d.abcde 3.一个队列的入队序列是1,2,3,4,则队列的输出序列是 。 a. 4,3,2,1; b. 1,2,3,4; c. 1,4,3,2; d.3,2,4,1 4.在一个单链表中,已知p 结点是q 结点的直接前驱结点,若在p 和q 之间插入结点s ,则执行的操作是 。 a. s->nxet=p->next; p->next=s; b. p->next=s->next; s->next=p; c. q->next=s; s->next=p; d. p->next=s; s->next=q; 5.设有两个串p,q ,求q 在p 中首次出现的位置的运算称作 。 a.联接 b.模式匹配 c.求子串 d.求串长 6.二维数组M 的成员是6个字符(每个字符占一个存储单元)组成的串,行下标i 的范围从0到8,列下标j 的范围从1到10,则存放M 至少需要 个字节。 a. 90 b.180 c.240 d.540 7.在线索二叉树中,结点p 没有左子树的充要条件是 。 a. p->lch==NULL b. p->ltag==1 c. p->ltag==1且p->lch=NULL d. 以上都不对 8.在栈操作中,输入序列为(A ,B ,C ,D ),不可能得到的输出序列为:______ A 、(A , B , C , D ) B 、(D ,C ,B ,A ) C 、(A ,C ,D ,B ) D 、(C ,A ,B ,D ) 9.已知某二叉树的后序序列是dabec ,中序序列是debac ,则它的先序序列是 。 A 、acbed B 、decab C 、deabc D 、cedba 10.设矩阵A 是一个对称矩阵,为了节省存储空间,将其下三角部分(见下图)按行序存放在一维数组B[1..n(n-1)/2]中,对任一上三角部分元素)(j i a ij ,在一维数组B 的存放位置是 。

数据结构试题及答案修2

试卷一 一、单选题(每题 2 分,共20分) 1. 对一个算法的评价,不包括如下()方面的内容。 A.健壮性和可读性B.并行性C.正确性D.时空复杂度 2. 在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( )。 A. p->next=HL->next; HL->next=p; B. p->next=HL; HL=p; C. p->next=HL; p=HL; D. HL=p; p->next=HL; 3. 对线性表,在下列哪种情况下应当采用链表表示?( ) A.经常需要随机地存取元素 B.经常需要进行插入和删除操作 C.表中元素需要占据一片连续的存储空间 D.表中元素的个数不变 4. 一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( ) A. 2 3 1 B. 3 2 1 C. 3 1 2 D. 1 2 3 5. AOV网是一种()。 A.有向图B.无向图C.无向无环图D.有向无环图 7. 若需要利用形参直接访问实参时,应将形参变量说明为()参数。 A.值B.函数C.指针D.引用 8. 在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的()。 A.行号B.列号C.元素值D.非零元素个数 二、填空题(每空1分,共28分) 1. 数据结构是指数据及其相互之间的______________。当结点之间存在M对N(M:N)的联系时,称这种结构为_____________________。 2. 队列的插入操作是在队列的___尾______进行,删除操作是在队列的____首______进行。 3. 当用长度为N的数组顺序存储一个栈时,假定用top==N表示栈空,则表示栈满的条件是___top==0_____________。 4. 对于一个长度为n的单链存储的线性表,在表头插入元素的时间复杂度为_________,在表尾插入元素的时间复杂度为____________。 7. 二叉树是指度为2的____________________树。一棵结点数为N的二叉树,其所有结点的度的总和是_____________。 8. 对一棵二叉搜索树进行中序遍历时,得到的结点序列是一个______________。对一棵由算术表达式组成的二叉语法树进行后序遍历得到的结点序列是该算术表达式的__________________。 9. 对于一棵具有n个结点的二叉树,用二叉链表存储时,其指针总数为_____________个,其中_______________个用于指向孩子,_________________个指针是空闲的。 10. 若对一棵完全二叉树从0开始进行结点的编号,并按此编号把它顺序存储到一维数组A中,即编号为0的结点存储到A[0]中。其余类推,则A[ i ]元素的左孩子元素为________,右孩子元素为