数据结构习题汇编01第一章绪论试题.doc

数据结构习题汇编01第一章绪论试题.doc
数据结构习题汇编01第一章绪论试题.doc

《数据结构与算法设计》习题册

第一章绪论

一、单项选择题

1. 数据结构是一门研究非数值计算的程序设计问题中计算机的①以及它们之间的②和运

算等的学科。

① A. 数据元素 B. 计算方法 C. 逻辑存储 D. 数据映象

② A. 结构 B. 关系 C. 运算 D. 算法

2. 数据结构被形式地定义为(K, R),其中 K 是①的有限集, R是 K上的②有限集。

① A. 算法 B. 数据元素 C. 逻辑结构 D. 数据操作

② A. 操作 B. 存储 C. 映象 D. 关系

3. 在数据结构中,从逻辑上可以把数据结构分成。

A. 动态结构和静态结构

B. 紧凑结构和非紧凑结构

C. 线性结构和非线性结构

D. 内部结构和外部结构

4. 数据结构在计算机内存中的表示是指。

A. 数据的存储结构

B. 数据结构

C. 数据的逻辑结构

D. 数据元素之间的关系

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

A. 逻辑

B. 存储

C. 逻辑和存储

D. 物理

6. 算法分析的目的是①,算法分析的两个主要方面是②。

① A. 找出数据结构的合理性 B. 研究算法中的输入和输出的关系

C. 分析算法的效率以求改进

D. 分析算法的易懂性和文档性

② A. 空间复杂度和时间复杂度 B. 正确性和简明性

C. 可读性和文档性

D. 数据复杂性和程序复杂性

7. 计算机算法指的是①,它必须具备输入、输出和②等 5 个特性。

① A. 计算方法 B. 排序方法

C. 解决问题的有限运算序列

D. 调度方法

② A. 可行性、可移植性和可扩充性 B. 可行性、确定性和有穷性

C. 确定性、有穷性和稳定性

D. 易读性、稳定性和安全性

8. 在以下叙述中,正确的是。

A. 线性表的线性存储结构优于链表存储结构

B. 二维数组是其数据元素为线性表的线性表

C. 栈的操作方式是先进先出

D. 队列的操作方式是先进后出

9. 在决定选取何种存储结构时,一般不考虑。

A. 各结点的值如何

B. 结点个数的多少

C. 对数据有哪些运算

D. 所用编程语言实现这种结构是否方便

10.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储。

A. 数据的处理方法C. 数据元素之间的关系

B.数据元素的类型D. 数据的存储方法

11.下面说法错误的是。

( 1)算法原地工作的含义是指不需要任何额外的辅助空间

n

( 2)在相同的规模n 下,复杂度O(n) 的算法在时间上总是优于复杂度O(2 ) 的算法

(3)所谓时间复杂度是指最坏情况下,估计算法执行时间的一个上界

(4)同一个算法,实现语句的级别越高,执行效率越低

A. ( 1)

B.(1)、(2)

C. ( 1)、(4)

D. ( 3)

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

A.数据元素具有同一特点

B.不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致

C.每个数据元素都一样

D.数据元素所包含的数据项的个数要相等

13.以下说法正确的是。

A.数据元素是数据的最小单位

B.数据项是数据的基本单位

C.数据结构是带结构的各数据项的集合

D.一些表面上很不相同的数据可以有相同的逻辑结构

二、填空题

1. 一个数据结构在计算机中的称为存储结构。

2. 数据逻辑结构包括①、②和③三种结构,树形结构和图形结构合称为④。

3. 在线性结构中,第一个结点①前驱结点,其余每个结点有且只有②个前驱结点;最后一

个结点③后继结点,其余每个结点有且只有④个前驱结点。

4. 在树形结构中,树根结点没有①结点,其余每个结点有且只有②个前驱结点;叶子结点

没有③结点,其余每个结点的后继结点可以有④个。

5. 在图形结构中,每个结点的前驱结点数和后继结点数都可以有个。

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

间存在③关系。

7. 算法的五个重要特性是、、、输入和输出。

8.算法可以用不同的语言描述,如果用C 语言或 PASCAL语言等高级语言来描述,则算法实现上就是程

序了。这个断言是(正确的或错误的)。

三、简答题

1.设有数据逻辑结构为:

B=(K,R) K={k1,k2,...,k9}

R={,,,,,,,

,,,}

画出这个逻辑结构的图示,并确定相对关系R,哪些结点是开始结点,哪些结点是终端结点。

2.设有如图 1 所示的逻辑结构图示,给出它的逻辑结构。

k1

k2k3

k6k4

k8k7k5

k9

图 1

3.有下列几种用二元组表示的数据结构,画出它们分别对应的逻辑图形表示,并指出它们分别属于何种

结构。

(1) A=(K,R) ,其中: K={a,b,c,d,e,f,g,h} R={r}

r={,,,,,,}

(2) B=(K,R) ,其中: K={a,b,c,d,e,f,g,h} R={r}

r={,,,,,,}

(3) C=(K,R) ,其中: K={1,2,3,4,5,6} R={r}

r={(1,2),(2,3),(2,4),(3,4),(3,5),(3,6),(4,5),(4,6)}

这里的圆括号对表示两结点是双向的。

(4) D=(K,R) ,其中: K={48,25,64,57,82,36,75} R={r1,r2}

r1={<25,36>,<36,48>,<48,57>,<57,64>,<64,75>,<75,82>}

r2={<48,25>,<48,64>,<64,57>,<64,82>,<25,36>,<82,75>}

4.当你为解决某一问题而选择数据结构时,应从哪些方面考虑?

四、算法设计题

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

for(i=0;i

for(j=0;j

A[i][j]=0;

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

i=s=0;

while(s

i++; s+=i;

}

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

s=0;

for(i=0;i

for(j=0;j

s+=B[i][j];

sum=s;

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

i=1;

while(i<=n)

i=i*3;

5.有如下递归函数 fact(n) ,分析其时间复杂度。

fact(int n){

if(n<=1) return 1;

else return (n*fact(n-1));

}

6.指出下列个算法的时间复杂度。

( 1) prime(int n){ m]和有 n 个整数的递减有序数组递增有序数组c[1..m+n],要求算法的时间复杂度为

b[1..n]

O(m+n)。

,试写一个算法,将数组 a 和b 归并为

7.求解盘片为 n 的汉诺塔问题的算法如下,分析其算法时间复杂度。

void hanoi(int n,char x,char y,char z){

if(n==1) printf(“ Move disk %d from %c to %c.\n”,n,x,z);

else{

hanoi(n-1,x,z,y);

printf( “ Move disk %d from %c to %c.\n” ,n,x,z);

hanoi(n-1,y,x,z);

}

}

8.分析以下程序段的时间复杂度。

s=0;

for(i=0;i<=n;i++)

for(j=0;j<=n;j++)

for(k=0;k

s++;

混凝土结构设计原理复习重点(非常好)

混凝土结构设计基本原理复习重点(总结很好) 第 1 章绪论 1.钢筋与混凝土为什么能共同工作: (1)钢筋与混凝土间有着良好的粘结力,使两者能可靠地结合成一个整体,在荷载作用下能够很好地共同变形,完成其结构功能。 (2)钢筋与混凝土的温度线膨胀系数也较为接近,因此,当温度变化时,不致产生较大的温度应力而破坏两者之间的粘结。 (3)包围在钢筋外面的混凝土,起着保护钢筋免遭锈蚀的作用,保证了钢筋与混凝土的共同作用。 1、混凝土的主要优点:1)材料利用合理2 )可模性好3)耐久性和耐火性较好4)现浇混凝土结构的整体性好5)刚度大、阻尼大6)易于就地取材 2、混凝土的主要缺点:1)自重大2)抗裂性差3 )承载力有限4)施工复杂、施工周期较长5 )修复、加固、补强较困难 建筑结构的功能包括安全性、适用性和耐久性三个方面 作用的分类:按时间的变异,分为永久作用、可变作用、偶然作用 结构的极限状态:承载力极限状态和正常使用极限状态 结构的目标可靠度指标与结构的安全等级和破坏形式有关。 荷载的标准值小于荷载设计值;材料强度的标准值大于材料强度的设计值 第2章钢筋与混凝土材料物理力学性能 一、混凝土 立方体抗压强度(f cu,k):用150mm×150mm×150mm的立方体试件作为标准试件,在温度为(20±3)℃,相对湿度在90%以上的潮湿空气中养护28d,按照标准试验方法加压到破坏,所测得的具有95%保证率的抗压强度。(f cu,k为确定混凝土强度等级的依据) 1.强度轴心抗压强度(f c):由150mm×150mm×300mm的棱柱体标准试件经标准养护后用标准试验方法测得的。(f ck=0.67 f cu,k) 轴心抗拉强度(f t):相当于f cu,k的1/8~1/17, f cu,k越大,这个比值越低。 复合应力下的强度:三向受压时,可以使轴心抗压强度与轴心受压变形能力都得到提高。 双向受力时,(双向受压:一向抗压强度随另一向压应力的增加而增加;双向受拉:混凝土的抗拉强度与单向受拉的基本一样; 一向受拉一向受压:混凝土的抗拉强度随另一向压应力的增加而降低,混凝土的抗压强度随另一向拉应力的增加而降低) 受力变形:(弹性模量:通过曲线上的原点O引切线,此切线的斜率即为弹性模量。反映材料抵2.变形抗弹性变形的能力) 体积变形(温度和干湿变化引起的):收缩和徐变等。 混凝土单轴向受压应力-应变曲线数学模型 1、美国E.Hognestad建议的模型 2、德国Rusch建议的模型 混凝土的弹性模量、变形模量和剪变模量 弹性模量 变形模量 切线模量 3、(1)徐变:混凝土的应力不变,应变随时间而增长的现象。 混凝土产生徐变的原因: 1、填充在结晶体间尚未水化的凝胶体具有粘性流动性质 2、混凝土内部的微裂缝在载荷长期作用下不断发展和增加的结果 线性徐变:当应力较小时,徐变变形与应力成正比;非线性徐变:当混凝土应力较大时,徐变变形与应力不成正比,徐变比应力增长更快。影响因素:应力越大,徐变越大;初始加载时混凝土的龄期愈小,徐变愈大;混凝土组成成分水灰比大、水泥用量大,徐变大;骨料愈坚硬、弹性模量高,徐变小;温度愈高、湿度愈低,徐变愈大;尺寸大小,尺寸大的构件,徐变减小。养护和使用条件 对结构的影响:受弯构件的长期挠度为短期挠度的两倍或更多;长细比较大的偏心受压构件,侧向挠度增大,承载力下降;由于徐变产生预应力损失。(不利)截面应力重分布或结构内力重分布,使构件截面应力分布或结构内力分布趋于均匀。(有利) (2)收缩:混凝土在空气中结硬时体积减小的现象,在水中体积膨胀。 影响因素:1、水泥的品种:水泥强度等级越高,则混凝土的收缩量越大; 2、水泥的用量:水泥越多,收缩越大;水灰比越大,收缩也越大; 3、骨料的性质:骨料的弹性模量大,则收缩小; 4、养护条件:在结硬过程中,周围的温、湿度越大,收缩越小; 5、混凝土制作方法:混凝土越密实,收缩越小; 6、使用环境:使用环境的温度、湿度大时,收缩小; 7、构件的体积与表面积比值:比值大时,收缩小。 对结构的影响:会使构件产生表面的或内部的收缩裂缝,会导致预应力混凝土的预应力损失等。 措施:加强养护,减少水灰比,减少水泥用量,采用弹性模量大的骨料,加强振捣等。 混凝土的疲劳是荷载重复作用下产生的。(200万次及其以上) 二、钢筋 光圆钢筋:HPB235 表面形状 带肋钢筋:HRB335、HRB400、RRB400 有明显屈服点的钢筋:四个阶段(弹性阶段、屈服阶段、强化阶段、破坏阶段),屈服强度力学性能是主要的强度指标。 (软钢)

数据结构练习 第一章 绪论

数据结构练习第一章绪论 一、选择题 1.以下数据结构中哪一个是非线性结构?( ) A. 队列 B. 栈 C. 线性表 D. 二叉树 2.设某数据结构的二元组形式表示为A=(D,R),D={01,02,03,04,05,06,07,08,09},R={r},r={<01,02>,<01,03>,<01,04>,<02,05>,<02, 06>,<03,07>,<03,08>,<03,09>},则数据结构A是()。 A. 线性结构 B. 树型结构 C. 物理结构 D. 图型结构 3.下面程序的时间复杂为() for(i=1,s=0; i<=n; i++) {t=1;for(j=1;j<=i;j++) t=t*j;s=s+t;} A. O(n) B.O(n2) C. O(n3) D. O(n4) 4.数据的最小单位是()。 A.数据项 B. 数据类型 C.数据元素 D. 数据变量 5.程序段s=i=0;do {i=i+1; s=s+i;}while(i<=n);的时间复杂度为()。 A. O(n) B. O(nlog 2 n) C. O(n2) D. O(n3/2) 6.下列程序段的时间复杂度为()。 for(i=0; i

(完整版)非常实用的数据结构知识点总结

数据结构知识点概括 第一章概论 数据就是指能够被计算机识别、存储和加工处理的信息的载体。 数据元素是数据的基本单位,可以由若干个数据项组成。数据项是具有独立含义的最小标识单位。 数据结构的定义: ·逻辑结构:从逻辑结构上描述数据,独立于计算机。·线性结构:一对一关系。 ·线性结构:多对多关系。 ·存储结构:是逻辑结构用计算机语言的实现。·顺序存储结构:如数组。 ·链式存储结构:如链表。 ·索引存储结构:·稠密索引:每个结点都有索引项。 ·稀疏索引:每组结点都有索引项。 ·散列存储结构:如散列表。 ·数据运算。 ·对数据的操作。定义在逻辑结构上,每种逻辑结构都有一个运算集合。 ·常用的有:检索、插入、删除、更新、排序。 数据类型:是一个值的集合以及在这些值上定义的一组操作的总称。 ·结构类型:由用户借助于描述机制定义,是导出类型。 抽象数据类型ADT:·是抽象数据的组织和与之的操作。相当于在概念层上描述问题。 ·优点是将数据和操作封装在一起实现了信息隐藏。 程序设计的实质是对实际问题选择一种好的数据结构,设计一个好的算法。算法取决于数据结构。 算法是一个良定义的计算过程,以一个或多个值输入,并以一个或多个值输出。 评价算法的好坏的因素:·算法是正确的; ·执行算法的时间; ·执行算法的存储空间(主要是辅助存储空间); ·算法易于理解、编码、调试。 时间复杂度:是某个算法的时间耗费,它是该算法所求解问题规模n的函数。 渐近时间复杂度:是指当问题规模趋向无穷大时,该算法时间复杂度的数量级。 评价一个算法的时间性能时,主要标准就是算法的渐近时间复杂度。 算法中语句的频度不仅与问题规模有关,还与输入实例中各元素的取值相关。 时间复杂度按数量级递增排列依次为:常数阶O(1)、对数阶O(log2n)、线性阶O(n)、线性对数阶O(nlog2n)、平方阶O (n^2)、立方阶O(n^3)、……k次方阶O(n^k)、指数阶O(2^n)。

结构设计个人工作总结最新总结

结构设计个人工作总结 专业技术工作总结 本人马xx于2xx年6月毕业于xx科技学院,取得土木工程专业学士学位。毕业后进入xx新宇建筑设计有限公司参加工作,从事结构设计的技术工作,现任助理工程师职务。在各位领导和同事的支持和帮助下,自己的思想、工作、学习等各方面都取得了一定的成绩,个人综合素质也得到了一定的提高,下面就从专业技术角度对我的工作做一次全面总结: (一)、政治思想方面 在工作中,我坚决拥护党的各项政策、方针,每天都密切关注国内、国外的重大新闻和事件,关心和学习国家时事政治,把党的政治思想和方针应用于工程建设中。 (二)、主要工作业绩 在工作这些年里,我设计完成了如xx市xx房地产开发有限公司城东街道半沙村地块住宅建设项目,金海湾花苑商住建设项目,xx市北白象镇经济适用房和限价房建设工程项目,长城电器集团有限公司生产用房及辅助非生产。 (三)、结构技术工作方面的一些经验总结

(1)、拿到条件图不要盲目建模计算。先进行全面分析,与建筑设计人员进行沟通,充分了解工程的各种情况(功能、选型等)。 (2)、建模计算前的前处理要做好。比如荷载的计算要准确,不能估计。要完全根据建筑做法或使用要求来输入。 (3)、在进行结构建模的时候,要了解每个参数的意义,不要盲目修改参数,修改时要有依据。 (4)、在计算中,要充分考虑在满足技术条件下的经济性。不能随意加大配筋量或加大构件的截面。这一点要作为我们的设计理念之一来重视。 (5)、梁、柱、板等电算结束后要进行优化调整和修改,这都要有依据可循(需根据验算简图等资料)。 (四)、努力学习新知识,用知识武装自己 在完成好本职工作的同时,我还不断学习新知识,努力丰富自己。在这几年工作任务十分繁重的情况下,学习上,我一直严格要求自己,认真对待自己的工作。理论来源于生活,高于生活,更应该还原回到生活。工作中我时刻牢记要不断的学习,将理论知识与实际的工作很

数据结构 习题 第一章 绪论

第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. 下面说法错误的是()【南京理工大学 2000 一、2 (1.5分)】 (1)算法原地工作的含义是指不需要任何额外的辅助空间 (2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法 (3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界 (4)同一个算法,实现语言的级别越高,执行效率就越低 A.(1) B.(1),(2) C.(1),(4) D.(3) 7.从逻辑上可以把数据结构分为()两大类。【武汉交通科技大学 1996 一、4(2分)】A.动态结构、静态结构 B.顺序结构、链式结构 C.线性结构、非线性结构 D.初等结构、构造型结构 8.以下与数据的存储结构无关的术语是()。【北方交通大学 2000 二、1(2分)】A.循环队列 B. 链表 C. 哈希表 D. 栈 9.以下数据结构中,哪一个是线性结构()?【北方交通大学 2001 一、1(2分)】A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串 10.以下那一个术语与数据的存储结构无关?()【北方交通大学 2001 一、2(2分)】A.栈 B. 哈希表 C. 线索树 D. 双向链表 11.在下面的程序段中,对x的赋值语句的频度为()【北京工商大学 2001 一、10(3分)】 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]对换; 其中 n为正整数,则最后一行的语句频度在最坏情况下是()

数据结构复习要点(整理版).docx

第一章数据结构概述 基本概念与术语 1.数据:数据是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序所处理的符号的总称。 2. 数据元素:数据元素是数据的基本单位,是数据这个集合中的个体,也称之为元素,结点,顶点记录。 (补充:一个数据元素可由若干个数据项组成。数据项是数据的不可分割的最小单位。 ) 3.数据对象:数据对象是具有相同性质的数据元素的集合,是数据的一个子集。(有时候也 叫做属性。) 4.数据结构:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 (1)数据的逻辑结构:数据的逻辑结构是指数据元素之间存在的固有逻辑关系,常称为数据结构。 数据的逻辑结构是从数据元素之间存在的逻辑关系上描述数据与数据的存储无关,是独立于计算机的。 依据数据元素之间的关系,可以把数据的逻辑结构分成以下几种: 1. 集合:数据中的数据元素之间除了“同属于一个集合“的关系以外,没有其他关系。 2. 线性结构:结构中的数据元素之间存在“一对一“的关系。若结构为非空集合,则除了第一个元素之外,和最后一个元素之外,其他每个元素都只有一个直接前驱和一个直接后继。 3. 树形结构:结构中的数据元素之间存在“一对多“的关系。若数据为非空集,则除了第一个元素 (根)之外,其它每个数据元素都只有一个直接前驱,以及多个或零个直接后继。 4. 图状结构:结构中的数据元素存在“多对多”的关系。若结构为非空集,折每个数据可有多个(或零个)直接后继。 (2)数据的存储结构:数据元素及其关系在计算机内的表示称为数据的存储结构。想要计算机处理数据,就必须把数据的逻辑结构映射为数据的存储结构。逻辑结构可以映射为以下两种存储结构: 1. 顺序存储结构:把逻辑上相邻的数据元素存储在物理位置也相邻的存储单元中,借助元素在存储器中的相对位置来表示数据之间的逻辑关系。 2. 链式存储结构:借助指针表达数据元素之间的逻辑关系。不要求逻辑上相邻的数据元素物理位置上也相邻。 5. 时间复杂度分析:1.常量阶:算法的时间复杂度与问题规模n 无关系T(n)=O(1) 2. 线性阶:算法的时间复杂度与问题规模 n 成线性关系T(n)=O(n) 3. 平方阶和立方阶:一般为循环的嵌套,循环体最后条件为i++ 时间复杂度的大小比较: O(1)< O(log 2 n)< O(n )< O(n log 2 n)< O(n2)< O(n3)< O(2 n )

结构设计原理知识点

第一章 钢筋混凝土结构基本概念及材料的物理力学性能 1.混凝土立方体抗压强度cu f :(基本强度指标)以边长150mm 立方体试件,按标准方法制作养护28d ,标准试验方法(不涂润滑剂,全截面受压,加载速度0.15~0.25MPa/s )测得的抗压强度作为混凝土立方体抗压强度 cu f 。 影响立方体强度主要因素为试件尺寸和试验方法。尺寸效应关系: cu f (150)=0.95cu f (100) cu f (150)=1.05cu f (200) 2.混凝土弹性模量和变形模量。 ①原点弹性模量:在混凝土受压应力—应变曲线图的原点作切线,该切线曲率即为原点弹性模量。表示为:E '=σ/ε=tan α0 ②变形模量:连接混凝土应力应变—曲线的原点及曲线上某一点K 作割线,K 点混凝土应力为σc (=0.5c f ),该割线(OK )的斜率即为变形模量,也称割线模量或弹塑性模量。 E c '''=tan α1=σc /εc 混凝土受拉弹性模量与受压弹性模量相等。 ③切线模量:混凝土应力应变—上某应力σc 处作一切线,该切线斜率即为相应于应力σc 时的切线模量''c E =d σ/d ε 3 . 徐变变形:在应力长期不变的作用下,混凝土的应变随时间增长的现象称为徐变。 影响徐变的因素:a. 内在因素,包括混凝土组成、龄期,龄期越早,徐变越大;b. 环境条件,指养护和使用时的温度、湿度,温度越高,湿度越低,徐变越大;c. 应力条件,压应力σ﹤0.5 c f ,徐变与应力呈线性关系;当压应力σ介于(0.5~0.8)c f 之间,徐变增长比应力快;当压应力σ﹥0.8 c f 时,混凝土的非线性徐变不收敛。 徐变对结构的影响:a.使结构变形增加;b.静定结构会使截面中产生应力重分布;c.超静定结构引起赘余力;d.在预应力混凝土结构中产生预 应力损失。 4.收缩变形:在混凝土中凝结和硬化的物理化学过程中体积随时间推移而减少的现象称为收缩。 混凝土收缩原因:a.硬化初期,化学性收缩,本身的体积收缩;b.后期,物理收缩,失水干燥。 影响混凝土收缩的主要因素:a.混凝土组成和配比;b.构件的养护条件、使用环境的温度和湿度,以及凡是影响混凝土中水分保持的因素;c.构件的体表比,比值越小收缩越大。 混凝土收缩对结构的影响:a.构件未受荷前可能产生裂缝;b.预应力构件中引起预应力损失;c.超静定结构产生次内力。 5.钢筋的基本概念 1.钢筋按化学成分分类,可分为碳素钢和普通低合金钢。 2钢筋按加工方法分类,可分为a.热轧钢筋;b.热处理钢筋;c.冷加工钢筋(冷拉钢筋、冷轧钢筋、冷轧带肋钢筋和冷轧扭钢筋。) 6.钢筋的力学性能 物理力学指标:(1)两个强度指标:屈服强度,结构设计计算中强度取值主要依据;极限抗拉强度,材料实际破坏强度,衡量钢筋屈服后的抗拉能力,不能作为计算依据。(2)两个塑性指标:伸长率和冷弯性能:钢材在冷加工过程和使用时不开裂、弯断或脆断的性能。 7.钢筋和混凝土共同工作的的原因:(1)混凝土和钢筋之间有着良好的黏结力;(2)二者具有相近的温度线膨胀系数;(3)在保护层足够的前提下,呈碱性的混凝土可以保护钢筋不易锈蚀,保证了钢筋与混凝土的共同作用。 第二章 结构按极限状态法设计计算的原则 1.结构概率设计的方法按发展进程划分为三个水准:a.水准Ⅰ,半概率设计法,只对影响结构可靠度的某些参数,用数理统计分析,并与经验结合,对结构的可靠度不能做出定量的估计;b.水准Ⅱ,近似概率设计法,用概率论和数理统计理论,对结构、构件、或截面设计的可靠概率做出近似估计,忽略了变量随时间的关系,非线性极限状态方程线性化;c.水准Ⅲ,全概略设计法,我国《公桥规》采用水准Ⅱ。 2.结构的可靠性:指结构在规定时间(设计基准期)、规定的条件下,完成预定功能的能力。 可靠性组成:安全性、适用性、耐久性。 可靠度:对结构的可靠性进行概率描述称为结构可靠度。 3.结构的极限状态:当整个结构或构件的一部分超过某一特定状态而不能满足设计规定的某一功能要求时,则此特定状态称为该功能的极限状态。 极限状态分为承载能力极限状态、正常使用极限状态和破坏—安全状态。 承载能力极限状态对应于结构或构件达到最大承载力或不适于继续承载的变形,具体表现:a.整个构件或结构的一部分作为刚体失去平衡;b.结构构件或连接处因超过材料强度而破坏;c.结构转变成机动体系;d.结构或构件丧失稳定;e.变形过大,不能继续承载和使用。 正常使用极限状态对应于结构或构件达到正常使用或耐久性能的某项规定限值,具体表现:a.由于外观变形影响正常使用;b.由于耐久性能的局部损坏影响正常使用;c.由于震动影响正常使用;d.由于其他特定状态影响正常使用。 破坏—安全状态是指偶然事件造成局部损坏后,其余部分不至于发生连续倒塌的状态。(破坏—安全极限状态归到承载能力极限状态中) 4.作用:使结构产生内力、变形、应力、应变的所有原因。 作用分为:永久作用、可变作用和偶然作用。 永久作用:在结构使用期内,其量值不随时间变化,或其变化与平均值相比可忽略不计的作用 可变作用:在结构试用期内,其量值随时间变化,且其变化值与平均值相比较不可忽略的作用。

《数据结构》习题汇编01 第一章 绪论 试题

《数据结构与算法设计》习题册 第一章绪论 一、单项选择题 1.数据结构是一门研究非数值计算的程序设计问题中计算机的①以及它们之间的②和运 算等的学科。 ①A. 数据元素 B. 计算方法 C. 逻辑存储 D. 数据映象 ②A. 结构 B. 关系 C. 运算 D. 算法 2.数据结构被形式地定义为(K,R),其中K是①的有限集,R是K上的②有限集。 ①A. 算法 B. 数据元素 C. 逻辑结构 D. 数据操作 ②A. 操作 B. 存储 C. 映象 D. 关系 3.在数据结构中,从逻辑上可以把数据结构分成。 A. 动态结构和静态结构 B. 紧凑结构和非紧凑结构 C. 线性结构和非线性结构 D. 内部结构和外部结构 4.数据结构在计算机内存中的表示是指。 A. 数据的存储结构 B. 数据结构 C. 数据的逻辑结构 D. 数据元素之间的关系 5.在数据结构中,与所使用的计算机无关的是数据的结构。 A. 逻辑 B. 存储 C. 逻辑和存储 D. 物理 6.算法分析的目的是①,算法分析的两个主要方面是②。 ①A. 找出数据结构的合理性 B. 研究算法中的输入和输出的关系 C. 分析算法的效率以求改进 D. 分析算法的易懂性和文档性 ②A. 空间复杂度和时间复杂度 B. 正确性和简明性 C. 可读性和文档性 D. 数据复杂性和程序复杂性 7.计算机算法指的是①,它必须具备输入、输出和②等5个特性。 ①A. 计算方法 B. 排序方法 C. 解决问题的有限运算序列 D. 调度方法 ②A. 可行性、可移植性和可扩充性 B. 可行性、确定性和有穷性 C. 确定性、有穷性和稳定性 D. 易读性、稳定性和安全性 8.在以下叙述中,正确的是。 A. 线性表的线性存储结构优于链表存储结构 B. 二维数组是其数据元素为线性表的线性表 C. 栈的操作方式是先进先出 D. 队列的操作方式是先进后出 9.在决定选取何种存储结构时,一般不考虑。 A. 各结点的值如何 B. 结点个数的多少 C. 对数据有哪些运算 D. 所用编程语言实现这种结构是否方便 10.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储。

数据结构复习提纲(整理)

复习提纲 第一章数据结构概述 基本概念与术语(P3) 1.数据结构是一门研究非数值计算程序设计问题中计算机的操作对象以及他们之间的关系和操作的学科. 2.数据是用来描述现实世界的数字,字符,图像,声音,以及能够输入到计算机中并能被计算机识别的符号的集合 2.数据元素是数据的基本单位 3.数据对象相同性质的数据元素的集合 4.数据结构包括三方面内容:数据的逻辑结构.数据的存储结构.数据的操作. (1)数据的逻辑结构指数据元素之间固有的逻辑关系. (2)数据的存储结构指数据元素及其关系在计算机内的表示 ( 3 ) 数据的操作指在数据逻辑结构上定义的操作算法,如插入,删除等. 5.时间复杂度分析 -------------------------------------------------------------------------------------------------------------------- 1、名词解释:数据结构、二元组 2、根据数据元素之间关系的不同,数据的逻辑结构可以分为 集合、线性结构、树形结构和图状结构四种类型。 3、常见的数据存储结构一般有四种类型,它们分别是___顺序存储结构_____、___链式存储结构_____、___索引存储结构_____和___散列存储结构_____。 4、以下程序段的时间复杂度为___O(N2)_____。 int i,j,x; for(i=0;i

关于结构设计基础知识

第一章金属材料

抗大气、酸、碱、盐等介质腐蚀作用的不锈耐酸钢总称。要达到不锈耐蚀作用,含铬(Cr)量不少于13%;此外可加入镍(Ni)或钼(Mo)等来增加效果。由于合金种类及含量不同,种类繁多。 不锈钢特点:耐蚀好,光亮度好,强度高;有一定弹性;昂贵。 不锈钢材料特性: 1、铁素体型不锈钢:其含Cr量高,具有良好耐蚀性及高温抗氧化性能。 2、奥氏体不锈钢:典型牌号如1Cr18Ni9,1Cr18Ni9T1无磁性,耐蚀性能良好,温强度及高温抗氧化性能好,塑性好,冲击韧性好,且无缺口效应,焊接性能优良,因而广泛使用。这种钢一般强度不高,屈服强度低,且不能通过热处理强化,但冷压,加工后,可使抗拉强度高,且改善其弹性,但其在高温下冷拉获得的强度易化。不宜用于承受高载荷。 3、马氏体不锈钢: 典型如2Cr13,GX-8,具磁性,消震性优良,导热性好,具高强度和屈服极限,热处理强化后具良好综合机械性能。加含碳量多,焊后需回为处理以消除应力、高温冷却易形成8氏体,因此锻后要缓冷,并应立即进行回火。主要用于承载部件。 例: SUS 301 弹性不锈钢 SUS304 不锈钢 10Cr18Ni9 它是一种奥氏体不锈钢,淬火不能强化,只能消除冷作硬化和获得良好的抗蚀,淬火冷却必须在水是进行,以保证得到最好的抗蚀性;在900℃以下有稳定的抗氧化性。适于各种方法焊接;有晶间腐蚀倾向,零件长期在腐蚀介质、水中及蒸汽介质中工作时可能遭受晶界腐蚀破坏;钢淬火后冷变形塑性高,延伸性能良好,但切削加工性较差。

1Cr18Ni9 它是标准的18-8型奥氏体不锈钢,淬火后能强化,但此时具有良好的耐蚀性和冷塑性变形性能;因塑性和韧性很高,切削性较差;适于各种方法焊接;由于含碳量较0Cr18ni9高,对晶界腐蚀敏感性较焊接后需热处理,一般不适宜用作耐腐蚀的焊接件;在850℃以下空气介质、以及750℃以下航空燃料燃烧产物的气氛中肯有较稳定的抗氧化性。 Cr13Ni4Mn9 它属奥氏体不锈耐热钢,淬火不能强化,钢在淬火状态下塑性很高,可时行深压延及其它类型的冷冲压;钢的切削加工性较差;用点焊和滚焊焊接的效果良好,经过焊接后必须进行热处理;在大气中具有高耐蚀性;易产晶界腐蚀,故在超过450的腐蚀介质是为宜采用;在750~800℃以下的热空气中具有稳定的抗氧化性。 1Cr13 它属于铁素体-马氏体型为锈钢,在淬火回火后使用;为提高零件的耐磨性,疲劳性能及抗腐蚀性可渗氮、氰化;淬火及抛光后在湿性大气、蒸汽、淡水、海水、和自来水中具有足够的抗腐蚀性,在室温下的硝酸中有较好的安定性;在750℃温度以下具有稳定的抗氧化性。退火状态下的钢的塑性较高,可进行深压延钢、冲压、弯曲、卷边等冷加工;气焊和电弧焊结果还满意;切削加工性好,抛光性能优良;钢锻造后冷并应立即进行回火处理。 2Cr13 它属于马氏体型不锈钢,在淬火回火后使用;为提高零件的耐磨性耐腐蚀性、疲劳性能及抗蚀性并可用于渗氮处理、氰化;淬火回火后钢的强度、硬度均较1Cr13钢高,抗腐蚀性与耐热性稍低;在700℃温度以下的空气介质中仍有稳定的抗氧化性。钢的焊接性和退火状态下塑性虽比不上1Cr13 ,但仍满意;切削加工性好;抛光性能优良;钢在锻造后应缓冷,并立即进行回火处理。 3Cr13 它属于马氏体型不锈钢,在淬火回火后使用,耐腐蚀性和在700℃以下的热稳定性均比1Cr13 ,2Cr13低,但强度、硬度,淬透性和热强性都较高。冷加工性和焊接性不良,焊后应立即热处理;在退火后有较好的切削性;在锻造后应缓冷,并应立即进行回火处理。 9Cr18 它属于高碳含铬马氏体不锈钢,淬火后具有高的硬度和耐磨性;对海水,盐水等介质尚能抗腐蚀;钢经退火后有很好的切削性;由于会发生硬化和应力裂纹,不适于焊接;为了避免锻后产生裂纹,必须缓慢冷却(最好在炉中冷却),在热态下,将零件转放入700~725℃的炉中进行回火处理。 特点:保持了低碳钢较好的塑性,及成形性;一般料厚不超过0.6mm。 用途:遮蔽磁干扰的遮片及冲制少零件; 中碳钢含锰(Mn)、铬(Cr)、硅(Si)等合金钢; 特性:材料可以产生很大弹性变形,利用弹性变形来吸收冲击或减震,亦可储存能量使机件完成动作。 特点:导电、导热、耐蚀性好,光泽度好,塑性加工容易,易于电镀、涂装。 1.纯铜(含Cu 99.5%以上) 亦称紫铜,材料强度低,塑性好;极好导电性,导热性,耐蚀性;用于电线、电缆、导电设备上。 2.黄铜 铜锌合金,机械性能同含锌量有关;一般锌量不超过50%。 特点:延展性,冲压性好,运用于电镀,对海水及大气腐蚀有好的抗力。但本体容易发生局部腐蚀。 3. 青铜 铜锡合金为主的一类铜基合金金属统称。 特点:比纯铜及黄铜有更好的耐磨性:加工性好,耐腐蚀。 4. 铍铜 含铍(Be)的铜合金;

2021年自考02331数据结构重点总结最终修订

自考02331数据构造重点总结(最后修订) 第一章概论 1.瑞士计算机科学家沃思提出:算法+数据构造=程序。算法是对数据运算描述,而数据构造涉及逻辑构造和存储构造。由此可见,程序设计实质是针对实际问题选取一种好数据构造和设计一种好算法,而好算法在很大限度上取决于描述实际问题数据构造。 2.数据是信息载体。数据元素是数据基本单位。一种数据元素可以由若干个数据项构成,数据项是具备独立含义最小标记单位。数据对象是具备相似性质数据元素集合。 3.数据构造指是数据元素之间互有关系,即数据组织形式。 数据构造普通涉及如下三方面内容:数据逻辑构造、数据存储构造、数据运算 ①数据逻辑构造是从逻辑关系上描述数据,与数据元素存储构造无关,是独立于计算机。 数据逻辑构造分类:线性构造和非线性构造。 线性表是一种典型线性构造。栈、队列、串等都是线性构造。数组、广义表、树和图等数据构造都是非线性构造。 ②数据元素及其关系在计算机内存储方式,称为数据存储构造(物理构造)。 数据存储构造是逻辑构造用计算机语言实现,它依赖于计算机语言。 ③数据运算。最惯用检索、插入、删除、更新、排序等。 4.数据四种基本存储办法:顺序存储、链接存储、索引存储、散列存储 (1)顺序存储:普通借助程序设计语言数组描述。 (2)链接存储:普通借助于程序语言指针来描述。 (3)索引存储:索引表由若干索引项构成。核心字是能唯一标记一种元素一种或各种数据项组合。 (4)散列存储:该办法基本思想是:依照元素核心字直接计算出该元素存储地址。 5.算法必要满足5个准则:输入,0个或各种数据作为输入;输出,产生一种或各种输出;有穷性,算法执行有限步后结束;拟定性,每一条指令含义都明确;可行性,算法是可行。 算法与程序区别:程序必要依赖于计算机程序语言,而一种算法可用自然语言、计算机程序语言、数学语言或商定符号语言来描述。当前惯用描述算法语言有两类:类Pascal和类C。 6.评价算法优劣:算法"对的性"是一方面要考虑。此外,重要考虑如下三点: ①执行算法所耗费时间,即时间复杂性; ②执行算法所耗费存储空间,重要是辅助空间,即空间复杂性; ③算法应易于理解、易于编程,易于调试等,即可读性和可操作性。

混凝土结构设计复习知识点

1.屋面可变荷载包括屋面均布活荷载、屋面雪荷载和屋面积灰荷载三部分,作用点同屋盖自重。屋面均布活荷载不与屋面雪荷载同时考虑,取两者中的较大值。所以考虑组合时,只有a.屋面均布活荷载+屋面积灰荷载 b.屋面雪荷载+屋面积灰荷载取a, b 中较大值考虑 2.适筋梁(或柱,当主要是梁)受拉纵筋屈服后,截面可以有较大转角,形成类似于铰一样的效果,称作塑性铰。 3.塑性铰与一般理想铰的区别在于:塑性铰不是集中在一点,而是形成一小段局部变形很大的区域;塑性铰为单向铰,仅能沿弯矩作用方向产生一定限度的转动,而理想铰不能承受弯矩,但可以自由转动;塑性铰在钢筋屈服后形成,截面能承受一定的弯矩,但转动能力受到纵筋配筋率、钢筋种类和砼极限压应变的限制。配筋率越大或截面相对受压区高度越大,塑性铰的转动能力却越小。 4.厂房竖向荷载传递路线图 5. a.横向框架承重方案:纵向布置连系梁。横向抗侧刚度大。有利采光和通风。 b.纵向框架承重方案:横向布置连系梁。横向抗侧刚度小。有利获得较高净空。 c.纵横向框架承重方案: 两个方向均有较好的抗侧刚度。 6.为什么钢筋混凝土框架梁的弯距能作塑性调幅?如何进行调幅?调幅与组合的先后次序什么安排? 答:(1)因为在计算钢筋混凝土框架梁的梁端弯矩时,是按固端支撑计算的,但实际上柱子并不是无限刚性的,这就导致得出的梁端弯矩偏大,所以能进行塑性调幅。 (2)为了减少钢筋混凝土框架梁支座处的配筋数量,在竖向荷载作用下可以考虑框架梁塑性内力重分布,主要是降低支座负弯矩,以减小支座处的配筋,跨中则应相应增大弯矩. (3)在竖向荷载作用下的弯矩应先调幅,再与其它荷载效应进行组合。 7.考虑厂房的整体空间作用时,上柱内力将增大,下柱内力将减小;μ越小,整体空间作用越强。 8.何谓弯矩调幅?考虑塑性内力重分布的分析方法中,为什么要对塑性铰除弯矩调查幅度加以限制? 答:弯矩调整幅度是指按弹性理论获得的弯矩值与其塑性铰处弯矩绝对值的差值。若弯矩调幅系数β为正值,属于截面弯矩值减小的情况,将导致混凝土裂缝宽度及结构变形增大,

数据结构(C语言版)第一章绪论练习及答案

一、选择题 1、数据结构通常是研究数据的()及它们之间的相互联系。 A、存储和逻辑结构 B、存储结构 C、顺序结构 D、链式存储结构 2、数据在计算机存储器内表示时,物理地址和逻辑位置相同并且是连续的,称之为() A、存储结构 B、逻辑结构 C、顺序存储结构 D、链式存储结构 3、线性结构是数据元素之间存在一种() A、一对多关系 B、多对多关系 C、多对一关系 D、一对一关系 4、计算机算法指的是(),它具备输入、输出和()等五个特性。 1)A、计算方法B、排序方法C、解决问题的有限运算序列D、调度方法2)A、可行性、可移植性和可扩充性B、可行性、确定性和有穷性 C、确定性、有穷性和稳定性 D、易读性、确定性和安全性 5、在计算机中数据有链式和顺序两种存储方式,在存储空间利用率上,链式存储比顺序存储更() A、高 B、低 C、相同 D、不确定 6、计算机内部数据处理的基本单位是() A、数据 B、数据元素 C、数据项 D、数据库 7、设语句x++的时间是单位时间,则语句: for(I=1;I<=n;I++) x++; 时间复杂度为() A、O(1) B、O(n) C、O(n2) D、O(n3) 二、填空题 1、数据结构按逻辑结构可分为两大类,分别是(线性结构)和(非线性结构)。 2、一个算法的效率可分为(时间)效率和(空间)效率。 3、在树型结构中,根结点没有(双亲)结点,其余每个结点有且只有(一)个前驱结点;叶子结点没有(孩子)结点,其余每个结点的都可以(一个或多个)个这种结点。 4、下面程序段的时间复杂度是(O(N1/2)) I=s=0; while (s

数据结构作业及答案

第一章绪论 一、选择题 1.数据结构是一门研究非数值计算的程序设计问题中计算机的1以及它们之间的2和运算等的学科。1 A.数据元素 B.计算方法 C.逻辑存储 D.数据映像 2 A.结构 B.关系 C.运算 D.算法 2.数据结构被形式地定义为(K, R),其中K是1的有限集,R是K上的2有限集。 1 A.算法 B.数据元素 C.数据操作 D.逻辑结构 2 A.操作 B.映像 C.存储 D.关系 3.在数据结构中,从逻辑上可以把数据结构分成。 A.动态结构和静态结构 B.紧凑结构和非紧凑结构 C.线性结构和非线性结构 D.内部结构和外部结构 4.线性结构的顺序存储结构是一种1的存储结构,线性表的链式存储结构是一种2的存储结构。A.随机存取 B.顺序存取 C.索引存取 D.散列存取 5.算法分析的目的是1,算法分析的两个主要方面其一是指2,其二是指正确性和简单性。1 A.找出数据结构的合理性 B.研究算法中的输入和输出的关系 C.分析算法的效率以求改进 D.分析算法的易懂性和文档性 2 A.空间复杂度和时间复杂度 B.研究算法中的输入和输出的关系 C.可读性和文档性 D.数据复杂性和程序复杂性k 6.计算机算法指的是1,它必须具备输入、输出和2等5个特性。 1 A.计算方法 B.排序方法 C.解决问题的有限运算序列 D.调度方法 2 A.可执行性、可移植性和可扩充性 B.可行性、确定性和有穷性 C.确定性、有穷性和稳定性 D.易读性、稳定性和安全性 7.线性表的逻辑顺序与存储顺序总是一致的,这种说法。A.正确 B.不正确 8线性表若采用链式存储结构时,要求内存中可用存储单元的地址。 A.必须连续的 B.部分地址必须连续的 C.一定是不续的D连续不连续都可以 9.以下的叙述中,正确的是。A.线性表的存储结构优于链式存储结构 B.二维数组是其数据元素为线性表的线性表C.栈的操作方式是先进先出D.队列的操作方式是先进后出10.每种数据结构都具备三个基本运算:插入、删除和查找,这种说法。A.正确B.不正确 二、填空题1.数据逻辑结构包括三种类型、和,树形结构和图形结构合称为。2.在线性结构中,第一个结点前驱结点,其余每个结点有且只有个前驱结点;最后一个结点后续结点,其余每个结点有且只有个后续结点。3.算法的五个重要特性是、、、、。 4.下面程序段的时间复杂度是。 for( i = 0; i < n; i++) for( j = 0; j < m; j++) A[i][j] = 0; 5.下面程序段的时间复杂度是。 i = s = 0; while ( s < n) { i ++; /* i = i +1*/ s += i; /* s = s + i*/ } 6.下面程序段的时间复杂度是。 s = 0; for( i = 0; i < n; i++) for( j = 0; j < n; j++) s += B[i][j]; sum = s; 7.下面程序段的时间复杂度是。 i = 1; while ( i <= n ) i = i * 3;

大学数据结构期末知识点重点总结

第一章概论 1.数据结构描述的是按照一定逻辑关系组织起来的待处理数据元素的表示及相关操作,涉及数据的逻辑结构、存储结构和运算 2.数据的逻辑结构是从具体问题抽象出来的数学模型,反映了事物的组成结构及事物之间的逻辑关系 可以用一组数据(结点集合K)以及这些数据之间的一组二元关系(关系集合R)来表示:(K, R) 结点集K是由有限个结点组成的集合,每一个结点代表一个数据或一组有明确结构的数据 关系集R是定义在集合K上的一组关系,其中每个关系r(r∈R)都是K×K上的二元关系 3.数据类型 a.基本数据类型 整数类型(integer)、实数类型(real)、布尔类型(boolean)、字符类型(char)、指针类型(pointer)b.复合数据类型 复合类型是由基本数据类型组合而成的数据类型;复合数据类型本身,又可参与定义结构更为复杂的结点类型 4.数据结构的分类:线性结构(一对一)、树型结构(一对多)、图结构(多对多) 5.四种基本存储映射方法:顺序、链接、索引、散列 6.算法的特性:通用性、有效性、确定性、有穷性 7.算法分析:目的是从解决同一个问题的不同算法中选择比较适合的一种,或者对原始算法进行改造、加工、使其优化 8.渐进算法分析 a.大Ο分析法:上限,表明最坏情况 b.Ω分析法:下限,表明最好情况 c.Θ分析法:当上限和下限相同时,表明平均情况 第二章线性表 1.线性结构的基本特征 a.集合中必存在唯一的一个“第一元素” b.集合中必存在唯一的一个“最后元素” c.除最后元素之外,均有唯一的后继 d.除第一元素之外,均有唯一的前驱 2.线性结构的基本特点:均匀性、有序性 3.顺序表 a.主要特性:元素的类型相同;元素顺序地存储在连续存储空间中,每一个元素唯一的索引值;使用常数作为向量长度 b. 线性表中任意元素的存储位置:Loc(ki) = Loc(k0) + i * L(设每个元素需占用L个存储单元) c. 线性表的优缺点: 优点:逻辑结构与存储结构一致;属于随机存取方式,即查找每个元素所花时间基本一样 缺点:空间难以扩充 d.检索:ASL=【Ο(1)】 e.插入:插入前检查是否满了,插入时插入处后的表需要复制【Ο(n)】 f.删除:删除前检查是否是空的,删除时直接覆盖就行了【Ο(n)】 4.链表 4.1单链表 a.特点:逻辑顺序与物理顺序有可能不一致;属于顺序存取的存储结构,即存取每个数据元素所花费的时间不相等 b.带头结点的怎么判定空表:head和tail指向单链表的头结点 c.链表的插入(q->next=p->next; p->next=q;)【Ο(n)】 d.链表的删除(q=p->next; p->next = q->next; delete q;)【Ο(n)】 e.不足:next仅指向后继,不能有效找到前驱 4.2双链表 a.增加前驱指针,弥补单链表的不足 b.带头结点的怎么判定空表:head和tail指向单链表的头结点 c.插入:(q->next = p->next; q->prev = p; p->next = q; q->next->prev = q;) d.删除:(p->prev->next = p->next; p->next->prev = p->prev; p->prev = p->next = NULL; delete p;) 4.3顺序表和链表的比较 4.3.1主要优点 a.顺序表的主要优点 没用使用指针,不用花费附加开销;线性表元素的读访问非常简洁便利 b.链表的主要优点 无需事先了解线性表的长度;允许线性表的长度有很大变化;能够适应经常插入删除内部元素的情况 4.3.2应用场合的选择 a.不宜使用顺序表的场合 经常插入删除时,不宜使用顺序表;线性表的最大长度也是一个重要因素 b.不宜使用链表的场合 当不经常插入删除时,不应选择链表;当指针的存储开销与整个结点内容所占空间相比其比例较大时,应该慎重选择 第三章栈与队列 1.栈 a.栈是一种限定仅在一端进行插入和删除操作的线性表;其特点后进先出;插入:入栈(压栈);删除:出栈(退栈);插入、删除一端被称为栈顶(浮动),另一端称为栈底(固定);实现分为顺序栈和链式栈两种 b.应用: 1)数制转换 while (N) { N%8入栈; N=N/8;} while (栈非空){ 出栈; 输出;} 2)括号匹配检验 不匹配情况:各类括号数量不同;嵌套关系不正确 算法: 逐一处理表达式中的每个字符ch: ch=非括号:不做任何处理 ch=左括号:入栈 ch=右括号:if (栈空) return false else { 出栈,检查匹配情况, if (不匹配) return false } 如果结束后,栈非空,返回false 3)表达式求值 3.1中缀表达式: 计算规则:先括号内,再括号外;同层按照优先级,即先乘*、除/,后加+、减-;相同优先级依据结合律,左结合律即为先左后右 3.2后缀表达式: <表达式> ::= <项><项> + | <项><项>-|<项> <项> ::= <因子><因子> * |<因子><因子>/|<因子> <因子> ::= <常数> ?<常数> ::= <数字>|<数字><常数> <数字> ∷= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 3.3中缀表达式转换为后缀表达式 InfixExp为中缀表达式,PostfixExp为后缀表 达式 初始化操作数栈OP,运算符栈OPND; OPND.push('#'); 读取InfixExp表达式的一项 操作数:直接输出到PostfixExp中; 操作符: 当‘(’:入OPND; 当‘)’:OPND此时若空,则出错;OPND若 非空,栈中元素依次弹出,输入PostfixExpz 中,直到遇到‘(’为止;若为‘(’,弹出即 可 当‘四则运算符’:循环(当栈非空且栈顶不是 ‘(’&& 当前运算符优先级>栈顶运算符优先 级),反复弹出栈顶运算符并输入到 PostfixExp中,再将当前运算符压入栈 3.4后缀表达式求值 初始化操作数栈OP; while (表达式没有处理完) { item = 读取表达式一项; 操作数:入栈OP; 运算符:退出两个操作数, 计算,并将结果入栈} c.递归使用的场合:定义是递归的;数据结构是 递归的;解决问题的方法是递归的 2.队列 a.若线性表的插入操作在一端进行,删除操作 在另一端进行,则称此线性表为队列 b.循环队列判断队满对空: 队空:front==rear;队满: (rear+1)%n==front 第五章二叉树 1.概念 a. 一个结点的子树的个数称为度数 b.二叉树的高度定义为二叉树中层数最大的叶 结点的层数加1 c.二叉树的深度定义为二叉树中层数最大的叶 结点的层数 d.如果一棵二叉树的任何结点,或者是树叶, 或者恰有两棵非空子树,则此二叉树称作满二 叉树 e.如果一颗二叉树最多只有最下面的两层结点 度数可以小于2;最下面一层的结点都集中在 该层最左边的位置上,则称此二叉树为完全二 叉树 f.当二叉树里出现空的子树时,就增加新的、特 殊的结点——空树叶组成扩充二叉树,扩充二 叉树是满二叉树 外部路径长度E:从扩充的二叉树的根到每个 外部结点(新增的空树叶)的路径长度之和 内部路径长度I:扩充的二叉树中从根到每个内 部结点(原来二叉树结点)的路径长度之和 2.性质 a. 二叉树的第i层(根为第0层,i≥0)最多有 2^i个结点 b. 深度为k的二叉树至多有2k+1-1个结点 c. 任何一颗二叉树,度为0的结点比度为2的 结点多一个。n0 = n2 + 1 d. 满二叉树定理:非空满二叉树树叶数等于其 分支结点数加1 e. 满二叉树定理推论:一个非空二叉树的空子 树(指针)数目等于其结点数加1 f. 有n个结点(n>0)的完全二叉树的高度为 ?log2(n+1)?,深度为?log2(n+1)?? g. 对于具有n个结点的完全二叉树,结点按层 次由左到右编号,则有: 1) 如果i = 0为根结点;如果i>0,其父结点 编号是(i-1)/2 2) 当2i+1∈N,则称k是k'的父结点,k'是 的子结点 若有序对∈N,则称k' k″互为兄弟 若有一条由k到达ks的路径,则称k是 的祖先,ks是k的子孙 2.树/森林与二叉树的相互转换 a.树转换成二叉树 加线: 在树中所有兄弟结点之间加一连线 抹线: 对每个结点,除了其最左孩子外, 与其余孩子之间的连线 旋转: 45° b.二叉树转化成树 加线:若p结点是双亲结点的左孩子,则将 的右孩子,右孩子的右孩子, 所有右孩子,都与p的双亲用线连起来 线 调整:将结点按层次排列,形成树结构 c.森林转换成二叉树 将各棵树分别转换成二叉树 将每棵树的根结点用线相连 为轴心,顺时针旋转,构成二叉树型结构 d.二叉树转换成森林 抹线:将二叉树中根结点与其右孩子连线,及 沿右分支搜索到的所有右孩子间连线全部抹 掉,使之变成孤立的二叉树 还原:将孤立的二叉树还原成树 3.周游 a.先根(次序)周游 若树不空,则先访问根结点,然后依次先根周 游各棵子树 b.后根(次序)周游 若树不空,则先依次后根周游各棵子树,然后 访问根结点 c.按层次周游 若树不空,则自上而下自左至右访问树中每个 结点 4.存储结构 “左子/右兄”二叉链表表示法:结点左指针指 向孩子,右结点指向右兄弟,按树结构存储, 无孩子或无右兄弟则置空 5. “UNION/FIND算法”(等价类) 判断两个结点是否在同一个集合中,查找一个 给定结点的根结点的过程称为FIND 归并两个集合,这个归并过程常常被称为 UNION “UNION/FIND”算法用一棵树代表一个集合, 如果两个结点在同一棵树中,则认为它们在同 一个集合中;树中的每个结点(除根结点以外) 有仅且有一个父结点;结点中仅需保存父指针 信息,树本身可以存储为一个以其结点为元素 的数组 6.树的顺序存储结构 a. 带右链的先根次序表示法 在带右链的先根次序表示中,结点按先根次序 顺序存储在一片连续的存储单元中 每个结点除包括结点本身数据外,还附加两个 表示结构的信息字段,结点的形式为: info是结点的数据;rlink是右指针,指向结点 的下一个兄弟;ltag是一个左标记,当结点没 有子结点(即对应二叉树中结点没有左子结点 时),ltag为1,否则为0 b. 带双标记位的先根次序表示法 规定当结点没有下一个兄弟(即对应的二叉树 中结点没有右子结点时)rtag为1,否则为0 c. 带双标记位的层次次序表示法 结点按层次次序顺序存储在一片连续的存储单 元中 第七章图 1.定义 a.假设图中有n个顶点,e条边: 含有e=n(n-1)/2条边的无向图称作完全图 含有e=n(n-1) 条弧的有向图称作有向完全图 若边或弧的个数e < nlogn,则称作稀疏图, 否则称作稠密图 b. 顶点的度(TD)=出度(OD)+入度(ID) 顶点的出度: 以顶点v为弧尾的弧的数目 顶点的入度: 以顶点v为弧头的弧的数目 c.连通图、连通分量 若图G中任意两个顶点之间都有路径相通,则 称此图为连通图 若无向图为非连通图,则图中各个极大连通子 图称作此图的连通分量 d.强连通图、强连通分量 对于有向图,若任意两个顶点之间都存在一条 有向路径,则称此有向图为强连通图 否则,其各个极大强连通子图称作它的强连通 分量 e.生成树、生成森林 假设一个连通图有n个顶点和e条边,其中n-1 条边和n个顶点构成一个极小连通子图,称该 极小连通子图为此连通图的生成树 对非连通图,则将由各个连通分量构成的生成 树集合称做此非连通图的生成森林 2.存储结构 a.相邻矩阵表示法 表示顶点间相邻关系的矩阵 若G是一个具有n个顶点的图,则G的相邻矩 阵是如下定义的n×n矩阵: A[i,j]=1,若(Vi, Vj)(或)是图G的边 A[i,j]=0,若(Vi, Vj)(或)不是图G的边 b.邻接表表示法 为图中每个顶点建立一个单链表,第i个单链表 中的结点表示依附于顶点Vi的边(有向图中指 以Vi为尾的弧)(建立单链表时按结点顺序建 立) 3.周游 a. 深度优先周游: 从图中某个顶点V0出发,访问此顶点,然后依 次从V0的各个未被访问的邻接点出发,深度优 先搜索遍历图中的其余顶点,直至图中所有与 V0有路径相通的顶点都被访问到为止 b. 广度优先周游: 从图中的某个顶点V0出发,并在访问此顶点之 后依次访问V0的所有未被访问过的邻接点,随 后按这些顶点被访问的先后次序依次访问它们 的邻接点,直至图中所有与V0有路径相通的顶 点都被访问到为止,若此时图中尚有顶点未被 访问,则另选图中一个未曾被访问的顶点作起 始点,重复上述过程,直至图中所有顶点都被 访问到为止 4.拓扑排序 拓扑排序的方法是:1)选择一个入度为0的顶 点且输出之 2)从图中删掉此顶点及所有的出边 3)回到第1步继续执行,直至图空或者图不空 但找不到无前驱(入度为0)的顶点为止 5.单源最短路径(Dijkstra算法) 6.每对顶点间的最短路径(Floyd算法) 7.最小生成树 a.Prim算法 b.Kruskal算法 c.两种算法比较:Prim算法适合稠密图, Kruskal算法适合稀疏图 第八章内排序 算法最大时间平均时间 直接插入排 序 Θ(n2) Θ(n2) 冒泡排序Θ(n2) Θ(n2) 直接选择排 序 Θ(n2) Θ(n2) Shell排序Θ(n3/2) Θ(n3/2) 快速排序Θ(n2) Θ(nlog n) 归并排序Θ(nlog n) Θ(nlog n) 堆排序Θ(nlog n) Θ(nlog n) 桶式排序Θ(n+m) Θ(n+m) 基数排序Θ(d·(n+r)) Θ(d·(n+r)) 最小时间S(n) 稳定性 Θ(n) Θ(1) 稳定 Θ(n) Θ(1) 稳定 Θ(n2) Θ(1) 不稳定 Θ(n3/2) Θ(1) 不稳定 Θ(nlog n) Θ(log n) 不稳定 Θ(nlog n) Θ(n) 稳定 Θ(nlog n) Θ(1) 不稳定 Θ(n+m) Θ(n+m) 稳定 Θ(d·(n+r)) Θ(n+r) 稳定 第十章检索 1.平均检索长度(ASL)是待检索记录集合中元 素规模n的函数,其定义为: ASL= Pi为检索第i个元素的概率;Ci为找到第i个元 素所需的比较次数 2.散列 a.除余法 用关键码key除以M(取散列表长度),并取余 数作为散列地址 散列函数为:hash(key) =key mod M b.解决冲突的方法 开散列方法:把发生冲突的关键码存储在散列 表主表之外(在主表外拉出单链表) 闭散列方法:把发生冲突的关键码存储在表中 另一个位置上 c.线性探查 基本思想:如果记录的基位置存储位置被占用, 就在表中下移,直到找到一个空存储位置;依 次探查下述地址单元:d0+1,d0+2,...,m-1, 0,1,...,d0-1;用于简单线性探查的探查 函数是:p(K, i) = i d.散列表的检索 1.假设给定的值为K,根据所设定的散列函数h, 计算出散列地址h(K) 2. 如果表中该地址对应的空间未被占用,则检 索失败,否则将该地址中的值与K比较 3. 若相等则检索成功;否则,按建表时设定的 处理冲突方法查找探查序列的下一个地址,如 此反复下去,直到某个地址空间未被占用(可 以插入),或者关键码比较相等(有重复记录, 不需插入)为止 e.散列表的删除:删除后在删除地点应加上墓 碑(被删除标记) f.散列表的插入:遇到墓碑不停止,知道找到真 正的空位置 第十一章索引技术 1.概念: a.主码:数据库中的每条记录的唯一标识 b.辅码:数据库中可以出现重复值的码 2.B树 a.定义:B树定义:一个m阶B树满足下列条 件: (1) 每个结点至多有m个子结点; (2) 除根和叶外 其它每个结点至少有??个子结点; (3) 根结点至少有两个子结点 例外(空树,or独根) (4) 所有的叶在同一层,可以有??- 1到m-1个 关键码 (5) 有k个子结点的非根结点恰好包含k-1个关 键码 b.查找 在根结点所包含的关键码K1,…,Kj中查找给 定的关键码值(用顺序检索(key少)/二分检索 (key多));找到:则检索成功;否则,确定要查 的关键码值是在某个Ki和Ki+1之间,于是取 pi所指结点继续查找;如果pi指向外部结点, 表示检索失败. c.插入 找到的叶是插入位置,若插入后该叶中关键码 个数

相关文档
最新文档