当前位置:文档之家› 张乃孝主编《算法与数据结构—C语言描述》.

张乃孝主编《算法与数据结构—C语言描述》.

张乃孝主编《算法与数据结构—C语言描述》.
张乃孝主编《算法与数据结构—C语言描述》.

张乃孝主编《算法与数据结构—C语言描述》

勘误表

二○○三年一月

数据结构与算法基础知识总结

数据结构与算法基础知识总结 1 算法 算法:是指解题方案的准确而完整的描述。 算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。 算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。特征包括: (1)可行性; (2)确定性,算法中每一步骤都必须有明确定义,不充许有模棱两可的解释,不允许有多义性; (3)有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止,包括合理的执行时间的含义; (4)拥有足够的情报。 算法的基本要素:一是对数据对象的运算和操作;二是算法的控制结构。 指令系统:一个计算机系统能执行的所有指令的集合。 基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。 算法的控制结构:顺序结构、选择结构、循环结构。 算法基本设计方法:列举法、归纳法、递推、递归、减斗递推技术、回溯法。 算法复杂度:算法时间复杂度和算法空间复杂度。 算法时间复杂度是指执行算法所需要的计算工作量。 算法空间复杂度是指执行这个算法所需要的内存空间。 2 数据结构的基本基本概念 数据结构研究的三个方面: (1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构; (2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;(3)对各种数据结构进行的运算。 数据结构是指相互有关联的数据元素的集合。 数据的逻辑结构包含: (1)表示数据元素的信息; (2)表示各数据元素之间的前后件关系。 数据的存储结构有顺序、链接、索引等。 线性结构条件:

(1)有且只有一个根结点; (2)每一个结点最多有一个前件,也最多有一个后件。 非线性结构:不满足线性结构条件的数据结构。 3 线性表及其顺序存储结构 线性表由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。 在复杂线性表中,由若干项数据元素组成的数据元素称为记录,而由多个记录构成的线性表又称为文件。 非空线性表的结构特征: (1)且只有一个根结点a1,它无前件; (2)有且只有一个终端结点an,它无后件; (3)除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。结点个数n称为线性表的长度,当n=0时,称为空表。 线性表的顺序存储结构具有以下两个基本特点: (1)线性表中所有元素的所占的存储空间是连续的; (2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。 ai的存储地址为:adr(ai)=adr(a1)+(i-1)k,,adr(a1)为第一个元素的地址,k代表每个元素占的字节数。 顺序表的运算:插入、删除。(详见14--16页) 4 栈和队列 栈是限定在一端进行插入与删除的线性表,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。 栈按照“先进后出”(filo)或“后进先出”(lifo)组织数据,栈具有记忆作用。用top表示栈顶位置,用bottom表示栈底。 栈的基本运算:(1)插入元素称为入栈运算;(2)删除元素称为退栈运算;(3)读栈顶元素是将栈顶元素赋给一个指定的变量,此时指针无变化。 队列是指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。rear指针指向队尾,front指针指向队头。 队列是“先进行出”(fifo)或“后进后出”(lilo)的线性表。 队列运算包括(1)入队运算:从队尾插入一个元素;(2)退队运算:从队头删除一个元素。循环队列:s=0表示队列空,s=1且front=rear表示队列满

算法与数据结构复习资料

算法与数据结构复习资料 一、单选题 在一个带有附加表头结点的单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( B)。 A. HL=p;p->next=HL; B.p->next=HL->next;HL->next=p; C.p->next=HL;p=HL; D.p->next=HL;HL=p; 若顺序存储的循环队列的QueueMaxSize=n,则该队列最多可存储(B)个元素. A. n B.n-1 C.n+1 D.不确定 下述哪一条是顺序存储方式的优点?(A) A.存储密度大B.插入和删除运算方便 C. 获取符合某种条件的元素方便 D.查找运算速度快 设有一个二维数组A[m][n],假设A[0][0]存放位置在600 (10),A[3][3]存放位置在678 (10) , 每个元素占一个空间,问A[2][3] (10)存放在什么位置?(脚注 (10) 表示用10进制表示,m>3)C A.658 B.648 C.633 D.653 下列关于二叉树遍历的叙述中,正确的是( D) 。 A. 若一个树叶是某二叉树的中序遍历的最后一个结点,则它必是该二叉树的前序遍历最后一个结点 B.若一个点是某二叉树的前序遍历最后一个结点,则它必是该二叉树的中序遍历的最后一个结点 C.若一个结点是某二叉树的中序遍历的最后一个结点,则它必是该二叉树的前序最后一个结点 D.若一个树叶是某二叉树的前序最后一个结点,则它必是该二叉树的中序遍历最后一个结点 k层二叉树的结点总数最多为(A). A.2k-1 B.2K+1 C.2K-1 D. 2k-1 对线性表进行二分法查找,其前提条件是( C). A.线性表以链接方式存储,并且按关键码值排好序 B.线性表以顺序方式存储,并且按关键码值的检索频率排好序 C. 线性表以顺序方式存储,并且按关键码值排好序 D. 线性表以链接方式存储,并且按关键码值的检索频率排好序 对n个记录进行堆排序,所需要的辅助存储空间为(C) A. O(1og2n) B. O(n) C. O(1) D.O(n2) 对于线性表(7,34,77,25,64,49,20,14)进行散列存储时,若选用H(K)=K%7作为散列函数,则散列地址为0的元素有(D)个, A.1 B.2 C.3 D.4 下列关于数据结构的叙述中,正确的是( D). A. 数组是不同类型值的集合 B. 递归算法的程序结构比迭代算法的程序结构更为精炼 C. 树是一种线性结构 D. 用一维数组存储一棵完全二叉树是有效的存储方法 在决定选取何种存储结构时,一般不考虑( A )。 A.各结点的值如何B.结点个数的多少 C.对数据有哪些运算D.所用的编程语言实现这种结构是否方便 需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是(B)。A.单链表B.静态链表C.线性链表D.顺序存储结构 设指针变量p指向单链表中结点A,若删除单链表中结点A,则需要修改指针的操作序列为(A)。 A.q=p->next;p->data=q->data;p->next=q->next;free(q); B.q=p->next;q->data=p->data;p->next=q->next;free(q); C.q=p->next;p->next=q->next;free(q);

(完整版)化工原理第二版(下册)夏清贾绍义课后习题解答带图

化工原理第二版夏清,贾绍义 课后习题解答 (夏清、贾绍义主编.化工原理第二版(下册).天津大学出版) 社,2011.8.) 第1章蒸馏 1.已知含苯0.5(摩尔分率)的苯-甲苯混合液,若外压为99kPa,试求该溶液的饱和温度。苯 和甲苯的饱和蒸汽压数据见例1-1附表。 t(℃) 80.1 85 90 95 100 105 x 0.962 0.748 0.552 0.386 0.236 0.11 解:利用拉乌尔定律计算气液平衡数据 查例1-1附表可的得到不同温度下纯组分苯和甲苯的饱和蒸汽压P B *,P A *,由于总压 P = 99kPa,则由x = (P-P B *)/(P A *-P B *)可得出液相组成,这样就可以得到一组绘平衡t-x 图数据。

以t = 80.1℃为例 x =(99-40)/(101.33-40)= 0.962 同理得到其他温度下液相组成如下表 根据表中数据绘出饱和液体线即泡点线 由图可得出当x = 0.5时,相应的温度为92℃ 2.正戊烷(C 5H 12 )和正己烷(C 6 H 14 )的饱和蒸汽压数据列于本题附表,试求P = 13.3kPa下该 溶液的平衡数据。 温度 C 5H 12 223.1 233.0 244.0 251.0 260.6 275.1 291.7 309.3 K C 6H 14 248.2 259.1 276.9 279.0 289.0 304.8 322.8 341.9 饱和蒸汽压(kPa) 1.3 2.6 5.3 8.0 13.3 26.6 53.2 101.3 解:根据附表数据得出相同温度下C 5H 12 (A)和C 6 H 14 (B)的饱和蒸汽压 以t = 248.2℃时为例,当t = 248.2℃时 P B * = 1.3kPa 查得P A *= 6.843kPa 得到其他温度下A?B的饱和蒸汽压如下表 t(℃) 248 251 259.1 260.6 275.1 276.9 279 289 291.7 304.8 309.3 P A *(kPa) 6.843 8.00012.472 13.30026.600 29.484 33.42548.873 53.200 89.000101.300 P B *(kPa) 1.300 1.634 2.600 2.826 5.027 5.300 8.000 13.300 15.694 26.600 33.250 利用拉乌尔定律计算平衡数据 平衡液相组成以260.6℃时为例 当t= 260.6℃时 x = (P-P B *)/(P A *-P B *) =(13.3-2.826)/(13.3-2.826)= 1 平衡气相组成以260.6℃为例 当t= 260.6℃时 y = P A *x/P = 13.3×1/13.3 = 1 同理得出其他温度下平衡气液相组成列表如下 t(℃) 260.6 275.1 276.9 279 289 x 1 0.3835 0.3308 0.0285 0

数据结构与算法复习题及参考答案

复习题集─参考答案 一判断题 (√)1. 在决定选取何种存储结构时,一般不考虑各结点的值如何。 (√)2. 抽象数据类型与计算机部表示和实现无关。 (×)3. 线性表采用链式存储结构时,结点和结点部的存储空间可以是不连续的。 (×)4. 链表的每个结点中都恰好包含一个指针。 (×)5.链表的删除算法很简单,因为当删除链中某个结点后,计算机会自动地将后续的各个单元向前移动。(×)6. 线性表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。 (×)7. 顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。 (×)8. 线性表在物理存储空间中也一定是连续的。 (×)9. 顺序存储方式只能用于存储线性结构。 (√)10.栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。 (√)11.对于不同的使用者,一个表结构既可以是栈,也可以是队列,也可以是线性表。 (√)12.栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。 (√)13.两个栈共享一片连续存空间时,为提高存利用率,减少溢出机会,应把两个栈的栈底分别设在这片存空间的两端。 (×)14.二叉树的度为2。 (√)15.若二叉树用二叉链表作存贮结构,则在n个结点的二叉树链表中只有n—1个非空指针域。 (×)16.二叉树中每个结点的两棵子树的高度差等于1。 (√)17.用二叉链表法存储包含n个结点的二叉树,结点的2n个指针区域中有n+1个为空指针。 (√)18.具有12个结点的完全二叉树有5个度为2的结点。 (√)19.二叉树的前序遍历序列中,任意一个结点均处在其孩子结点的前面。 (×)20.在冒泡法排序中,关键值较小的元素总是向前移动,关键值较大的元素总是向后移动。 (×)21.计算机处理的对象可以分为数据和非数据两大类。[计算机处理的对象都是数据] (×)22.数据的逻辑结构与各数据元素在计算机中如何存储有关。 (×)23.算法必须用程序语言来书写。 (×)24.判断某个算法是否容易阅读是算法分析的任务之一。 (×)25.顺序表是一种有序的线性表。[任何数据结构才用顺序存储都叫顺序表] (√)26.分配给顺序表的存单元地址必须是连续的。 (√)27.栈和队列具有相同的逻辑特性。[它们的逻辑结构都是线性表] (√)28.树形结构中每个结点至多有一个前驱。 (×)29.在树形结构中,处于同一层上的各结点之间都存在兄弟关系。 (×)30.如果表示图的邻接矩阵是对称矩阵,则该图一定是无向图。 (×)31.如果表示图的邻接矩阵是对称矩阵,则该图一定是有向图。 (×)32.顺序查找方法只能在顺序存储结构上进行。 (×)33.折半查找可以在有序的双向链表上进行。

数据结构与算法知识点必备

数据结构与方法 1、算法的基本特征:可行性、确定性、有穷性、拥有足够的情报 2、算法的基本运算与操作:算术运算、逻辑运算、关系运算、数据传输 3、算法的基本控制结构:顺序结构、选择结构、循环(重复)结构 4、算法设计的基本方法:列举法、归纳法、递推、递归、减半递推技术、回溯法 5、算法的复杂度主要包括:时间复杂度、空间复杂度 6、算法的时间复杂度:指执行算法所需要的计算工作量 7、算法的空间复杂度:指执行这个算法所需要的内存空间 8、数据结构主要研究:数据的逻辑结构、数据的存储结构、对各种数据结构进行的运算 9、数据结构研究的目的:提高数据处理的效率 10、数据处理的效率:数据处理的速度、减少处理过程中占用计算机的存储空间 11、数据处理:指对数据集合中的各元素以各种方式进行运算 12、数据元素:指在数据处理中,每一个需要处理的对象都可以抽象成数据元素 13、数据结构:指反映数据元素之间关系的数据元素集合的表示 14、数据的逻辑结构:指反映数据元素之间逻辑关系的数据结构,两要素:数据元素的集合、数据元素在集合上的关系 15、数据的存储结构:指数据的逻辑结构在计算机存储空间的存放形式,常用的存储结构有:顺序、链接、索引等 16、数据结构的图形表示中每个元素加上方框成为结点 17、数据结构一般分为:线性结构、非线性结构 18、线性结构满足:有且仅有一个根结点、每个结点最多有一个前件与后件、在一个线性结构中插入与删除任何一个结点后还就是线性结构 19、线性表定义:线性表就是由n个数据元素a1、a2、a3、a4……an组成的一个有限序列,表中每一个数据元素,除了第一个外,有且仅有一个前件,除了最后一个外,有且仅有一个后件20、非线性表的特征:有且只有一个根节点a1,它无前件、有且只有一个终结点an,它无后件、除了第一个与最后一个外,其她所有结点只有一个前件与一个后件 21、线性表的长度:线性表中的结点的个数n成为线性表的长度,当n=0时,成为空表 22、线性表的顺序存储的特点:所有元素所占的存储空间就是连续的、各数据元素在存储空间中就是按逻辑顺序一次存放的 23、线性表的随机存取地址计算公式:ADD(ai)=ADD(a1)+(i-1)*k 24、线性表的主要操作:插入、删除、查找、排序、分解、合并、复制、逆转 25、栈的定义:栈就是限定在一端进行插入与删除的线性表,它按照“先进后出,后进先出”的原则组织数据 26、栈的顺序存储:在程序设计语言中,一般一维数组S(1:m)作为栈的顺序存储空间,其中m 为栈的最大容量 27、栈的基本运算:入栈、退栈、读栈顶元素 28、入栈运算:首先将栈顶指针(top)加1,然后将新元素插入到栈顶指针指向的位置。当栈顶指针已经指向存储空间的最后一个位置时,说明栈空间已满,称为“上溢”错误 29、退栈运算:首先将栈顶元素赋给一个指定的变量,然后将栈顶指针(top)减1。当栈顶指针为0时,说明栈空,成为“下溢”错误 30、队列的定义:队列就是指允许在一端进行插入,而在另一端进行删除的线性表,它按照“先进先出”的原则组织数据 31、循环队列:在实际应用中,队列的顺序存储结构一般采用循环队列的形式。所谓循环队列,

数据结构与算法设计知识点

数据结构与算法设计知识点 试题类型: 本课程为考试科目(闭卷笔试),试题类型包括:概念填空题(10 %),是非判断题(10 %),单项选择题(40 %),算法填空题(10%),算法应用题(20 %),算法设计题(10 %)。 第一章绪论 重点内容及要求: 1、了解与数据结构相关的概念(集合、数据、数据元素、数据项、关键字、元 素之间的关系等)。 数据:所有能被输入到计算机中,且能被计算机处理的符号的 集合。是计算机操作的对象的总称。是计算机处理的信息的某种特定 的符号表示形式。 数据元素:是数据(集合)中的一个“个体”,数据结构中的基本 单位,在计算机程序中通常作为一个整体来考虑和处理。 数据项:是数据结构中讨论的最小单位,数据元素可以是一个或 多个数据项的组合 关键码:也叫关键字(Key),是数据元素中能起标识作用的数 据项。 其中能起到唯一标识作用的关键码称为主关键码(简称主码); 否则称为次关键码。通常,一个数据元素只有一个主码,但可以有多 个次码。 关系:指一个数据集合中数据元素之间的某种相关性。 数据结构:带“结构”的数据元素的集合。这里的结构指元素之 间存在的关系。 数据类型:是一个值的集合和定义在此集合上的一组操作的总

称。 2、掌握数据结构的基本概念、数据的逻辑结构(四种)和物理结构(数据元素 的表示与关系的表示、两类存储结构:顺序存储结构和链式存储结构)。 数据结构包括逻辑结构和物理结构两个层次。 数据的逻辑结构:是对数据元素之间存在的逻辑关系的一种抽象的描述,可以用一个数据元素的集合和定义在此集合上的若干关系来表示 逻辑结构有四种:线性结构、树形结构、图状结构、集合结构数据的物理结构:是其逻辑结构在计算机中的表示或实现,因此又称其为存储结构。 存储结构:顺序存储结构和链式存储结构 顺序存储结构:利用数据元素在存储器中相对位置之间的某种特定的关系来表示数据元素之间的逻辑关系; 链式存储结构:除数据元素本身外,采用附加的“指针”表示数据元素之间的逻辑关系。 3、了解算法分析的基本方法,掌握算法时间复杂度相关的概念。 算法:是为了解决某类问题而规定的一个有限长的操作序列 或处理问题的策略 一个算法必须满足以下五个重要特性:1.有穷性2.确定性3.可行性4.有输入5.有输出 设计算法时,通常还应考虑满足以下目标: 1.正确性, 2.可读性, 3.健壮性 4.高效率与低存储量需求

化工原理考研试题夏清版(可编辑修改word版)

1 4..d 22 简答题 1、一定量的流体在圆形直管内作层流流动,若将其管径增加一倍,问能量损失变为原来 的多少倍?h1=1.l d1 u1 2 . 2g 。d 2= 2d1,u 2= V =1u 1 , 4 2=64 /d 2.u 2 .= 2 1。h2 =2. l d 2 u 2 2 . 2g = 1 h1 。 16 2、何谓气缚现象?如何防止?离心泵只能空转而不能输送液体的现象。离心泵启动前应灌 满液体。 3、何谓沉降?沉降可分为哪几类?何谓重力沉降速度?沉降是指依靠外力的作用,利用分散物质与分散介质的密度差异,使之发生相对运动而分离的过程。沉降可分为重力沉降和离心沉降。颗粒以加速运动的末速度这一不变的速度作匀速沉降运动,这一速度称为重力沉降速度。 4、在列管式换热器中,用饱和蒸汽加热空气,问: (1)传热管的壁温接近于哪一种流体的温度? (2)传热糸数 K 接近于哪一种流体的对流传热膜糸数? (3)那一种流体走管程?那一种流体走管外?为什么? 传热管的壁温接近于蒸汽的温度;传热糸数K 接近于空气的对流传热膜糸数;空气走管内,饱和蒸汽走管外。(蒸汽散热快)。 5、换热器的设计中为何常常采用逆流操作? 因为逆流操作:推动力大,所需的传热面积小;减少载热体的用量。 6、单效减压蒸发操作有何优点? 可以降低溶液的沸点,可以利用低压蒸汽或废气作为加热剂,可以浓缩不耐高温的溶液,可以减少蒸发器的热损失。 1、流体的流动形态有哪几种?如何判断?

流体的流动形态有两种:层流和湍流;用雷诺准数来判断,当R e 2000 ,为层流,

当 R e 4000 为湍流。 2、 何谓层流内层?其厚度受哪些因素影响? 在湍流主体内靠近管壁处始终存在着一层作层流流动 的流体薄层,此薄层称为层流内层。受管径、流速、粘度和密度。 3、 采用多级压缩的优点有哪些? 避免压缩后气体温度过高,提高气缸容积糸数,减小功率,使压缩机结构更为合理。 4、 列管式换热器为何要进行热补偿? 列管式换热器中,由于两流体的温度不同,使管束和壳体的温度也不相同,因此它们的热膨胀程度也有区别。若两流体的温度差较大( 500 C 以上)时,由于热应力会引起设备的变形,甚至弯曲和破裂。因此我们要考虑热补偿 5、单层圆筒壁的内、外半径分别为r 1 和 r 2 ,壁表面温度分别为T ' 试写出圆筒任意半径 r 处的温度表达式? 和t ' ,若t ' 〈T ' , ' ' ( ' ) .(T '-t ' ) .ln r 2.L ..(T -t ) ln r 2 r 1 2.L .. T -t ln r r 1 t =T '- r 1 ln r 2 r 1 二:判断题(18 分) 1、在并联管路中,它们的阻力相等,同理在串联管路中,它们的流速也是相等 的。(稳定流动)。 2、 转子流量计可以读出任何流体的流量。 3、用雷诺准数来判断流体的流动形态时,在 SI 制中属层流范围,在 cgs 制中属 湍流范围。 4、粘度是流体的物理性质之一,则雷诺准数也是流体的物理性质之一。离心泵铭牌上的性能参数是指泵扬程最高点下的性能参数。 5、往复式压缩机的工作循环是由吸气、排气、膨胀、压缩四个阶段组成。 Q = =

数据结构与算法基础

数据结构与算法基础 一.判断题: 1.数据元素是数据的最小单位。 2.数据结构是带有结构的数据元素的集合。 3.数据结构、数据元素、数据项在计算机中的映像(或表示)分别称为存储结构、结点、数据域。 4.数据项是数据的基本单位。 5.数据的逻辑结构是指各数据元素之间的逻辑关系,是用户按使用需要而建立的。 6.数据的物理结构是指数据在计算机内实际的存储形式。 7.算法和程序没有区别,所以在数据结构中二者是通用的。 答案: 1.错误 2.正确 3.正确 4.错误 5.正确 6.正确 7.错误 二. 数据结构是研究数据的 A 和 B 以及它们之间的相互关系,并对这种结构定义相应的 C ,设计出相应的 D ,而确保经过这些运算后所得到的新结构是 E 结构类型。 供选择答案: A、B:a理想结构b抽象结构c物理结构d逻辑结构 C、D、E:a运算b算法c结构d规则e现在的f原来的 答案: A:cB;dC:aD:bE:f 三.从供选择的答案中选取正确的答案填在下面叙述中的横线上: 1. A 是描述客观事物的数字、字符以及所能输入到计算机中并被计算机程序加工处理的符号的集合。 2. B 是数据的基本单位,即数据集合中的个体。有时一个 B 由若干个___C____组成,在这种情况下,称 B 为记录。 C 是数据的最小单位。而由记录所组成的线性表为 D 。 3. E 是具有相同特性的数据元素的集合,是数据的子集。 4. F是带有结构特性数据元素的集合。 5. 被计算机加工的数据元素不是孤立无关的,它们彼此之间一般存在着某种联系。通常将数据元素的这种关系称为G。 6. 算法的计算量的大小称为计算的H。 供选择的答案: A-F:a数据元素b符号c记录d文件e数据f数据项g数据对象h关键字i数据结构

全国计算机二级第1章数据结构与算法

考点1 算法的复杂度 【考点精讲】 1.算法的基本概念 计算机算法为计算机解题的过程实际上是在实施某种算法。 算法的基本特征:可行性、确定性、有穷性、拥有足够的情报。 2.算法复杂度 算法复杂度包括时间复杂度和空间复杂度。 名称 描述 时间复杂度 是指执行算法所需要的计算工作量 空间复杂度 是指执行这个算法所需要的内存空间 考点2 逻辑结构和存储结构 【考点精讲】 1.逻辑结构 数据的逻辑结构是对数据元素之间的逻辑关系的描述,它可以用一个数据元素的集合和定义在此集合中的若干关系来表示。数据的逻辑结构有两个要素:一是数据元素的集合,通常记为D;二是D上的关系,它反映了数据元素之间的前后件关系,通常记为R。一个数据结构可以表示成 B=(D,R) 其中B表示数据结构。为了反映D中各数据元素之间的前后件关系,一般用二元组来表示。例如,如果把一年四季看作一个数据结构,则可表示成 B =(D,R) D ={春季,夏季,秋季,冬季} R ={(春季,夏季),(夏季,秋季),(秋季,冬季)} 2.存储结构 数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。 由于数据元素在计算机存储空间中的位置关系可能与逻辑关系不同,因此,为了表示存放在计算机存储空间中的各数据元素之间的逻辑关系(即前后件关系),在数据的存储结构中,不仅要存放各数据元素的信息,还需要存放各数据元素之间的前后件关系的信息。 一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、链接等存

储结构。 顺序存储方式主要用于线性的数据结构,它把逻辑上相邻的数据元素存储在物理上相邻的存储单元里,结点之间的关系由存储单元的邻接关系来体现。 链式存储结构就是在每个结点中至少包含一个指针域,用指针来体现数据元素之间逻辑上的联系。 考点3 线性结构和非线性结构 【考点精讲】 根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。如果一个非空的数据结构满足下列两个条件: (1)有且只有一个根结点; (2)每一个结点最多有一个前件,也最多有一个后件。 则称该数据结构为线性结构。线性结构又称线性表。在一个线性结构中插入或删除任何一个结点后还应是线性结构。栈、队列、串等都线性结构。 如果一个数据结构不是线性结构,则称之为非线性结构。数组、广义表、树和图等数据结构都是非线性结构。 考点4 栈 【考点精讲】 1.栈的基本概念 栈(stack)是一种特殊的线性表,是限定只在一端进行插入与删除的线性表。在栈中,一端是封闭的,既不允许进行插入元素,也不允许删除元素;另一端是开口的,允许插入和删除元素。通常称插入、删除的这一端为栈顶,另一端为栈底。当表中没有元素时称为空栈。栈顶元素总是后被插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。 栈是按照“先进后出”或“后进先出”的原则组织数据的。例如,枪械的子弹匣就可以用来形象的表示栈结构。子弹匣的一端是完全封闭的,最后被压入弹匣的子弹总是最先被弹出,而最先被压入的子弹最后才能被弹出。 2.栈的顺序存储及其运算 栈的基本运算有三种:入栈、退栈与读栈顶元素。 (1)入栈运算:入栈运算是指在栈顶位置插入一个新元素。 (2)退栈运算:退栈是指取出栈顶元素并赋给一个指定的变量。 (3)读栈顶元素:读栈顶元素是指将栈顶元素赋给一个指定的变量。 考点5 队列 【考点精讲】 1.队列的基本概念 队列是只允许在一端进行删除,在另一端进行插入的顺序表,通常将允许删除的这一端称为队头,允许插入的这一端称为队尾。 当表中没有元素时称为空队列。 队列的修改是依照先进先出的原则进行的,因此队列也称为先进先出的线性表,或者后进后出的线性表。例如:火车进遂道,最先进遂道的是火车头,最后是火车尾,而火车出遂道的时候也是火车头先出,最后出的是火车尾。若有队列: Q =(q1,q2,…,qn) 那么,q1为队头元素(排头元素),qn为队尾元素。队列中的元素是按照q1,q2,…,qn 的顺序进入的,退出队列也只能按照这个次序依次退出,即只有在q1,q2,…,qn-1 都退队之后,qn才能退出队列。因最先进入队列的元素将最先出队,所以队列具有先进先出的

算法与数据结构复习重点全

一、单项选择题(50个) 1. 数据是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称,而(B)是数据不分割的最小单位。 A.数据元素B.数据项C.数据对象D.数据结构 2.以下数据结构中,(A)是非线性数据结构 A.树 B.字符串 C.队 D.栈 3.在定义ADT时,除数据对象和数据关系外,还需说明(c)。 A.数据元素B.算法C.基本D.数据项 4.算法分析的两个方面是( C)。 A. 正确性和简明性 B. 可读性和文档性 C. 空间复杂性和时间复杂性 D. 数据复杂性和程序复杂性 5.通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着(B)。 A.数据具有同一特点 B.不仅数据元素所包含的数据项的个数要相同,而且对应数据项的类型要一致 C.每个数据元素都一样 D.数据元素所包含的数据项的个数要相等 6.以下说法正确的是(D)。 A.数据元素是数据的最小单位 B.数据项是数据的基本单位 C.数据结构是带有结构的各个数据项的集合 D.一些表面上很不相同的数据可以有相同的逻辑结构 7. 在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是(A)。 A. 访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n) B. 在第i个结点后插入一个新结点(1≤i≤n) C. 删除第i个结点(1≤i≤n) D. 将n个结点从小到大排序 8.在单链表指针为p的结点之后插入指针为s的结点,正确的操作是(B)。 A.p->next=s;s->next=p->next; B.s->next=p->next;p->next=s; C.p->next=s;p->next=s->next; D.p->next=s->next;p->next=s; 9.线性表L=(a1,a2, ……an),下列陈述正确的是(D)。 A.每个元素都有一个直接前驱和一个直接后续 B.线性表中至少有一个元素 C.表中诸元素的排列必须是由小到大或由大到小 D.除第一个和最后一个元素外,其余每个元素都有且仅有一个直接前驱和直接后继

《数据结构》考研必须掌握的知识点与算法

《数据结构》必须掌握的知识点与算法 第一章绪论 1、算法的五个重要特性(有穷性、确定性、可行性、输入、输出) 2、算法设计的要求(正确性、可读性、健壮性、效率与低存储量需求) 3、算法与程序的关系: (1)一个程序不一定满足有穷性。例操作系统,只要整个系统不遭破坏,它将永远不会停止,即使没有作业需要处理,它仍处于动态等待中。因此,操作系统不是一个算法。 (2)程序中的指令必须是机器可执行的,而算法中的指令则无此限制。算法代表了对问题的解,而程序则是算法在计算机上的特定的实现。 (3)一个算法若用程序设计语言来描述,则它就是一个程序。 4、算法的时间复杂度的表示与计算(这个比较复杂,具体看算法本身,一般关心其循环的次数与N的关系、函数递归的计算) 第二章线性表 1、线性表的特点: (1)存在唯一的第一个元素;(这一点决定了图

不是线性表) (2)存在唯一的最后一个元素; (3)除第一个元素外,其它均只有一个前驱(这一点决定了树不是线性表) (4)除最后一个元素外,其它均只有一个后继。 2、线性表有两种表示:顺序表示(数组)、链式表示(链表),栈、队列都是线性表,他们都可以用数组、链表来实现。 3、顺序表示的线性表(数组)地址计算方法: (1)一维数组,设DataType a[N]的首地址为A0,每一个数据(DataType类型)占m个字节,则a[k]的地址为:A a[k]=A0+m*k(其直接意义就是求在数据a[k]的前面有多少个元素,每个元素占m个字节) (2)多维数组,以三维数组为例,设DataType a[M][N][P]的首地址为A000,每一个数据(DataType 类型)占m个字节,则在元素a[i][j][k]的前面共有元素个数为:M*N*i+N*j+k,其其地址为: A a[i][j][k]=A000+m*(M*N*i+N*j+k); 4、线性表的归并排序: 设两个线性表均已经按非递减顺序排好序,现要将两者合并为一个线性表,并仍然接非递减顺序。可见算法2.2

天津大学版化工原理上下册习题答案(2005夏清)

化工原理课后习题解答 (夏清、陈常贵主编.化工原理.天津大学出版社,2005.) 第一章流体流动 (3) 第二章流体输送机械 (23) 第三章机械分离和固体流态化 (32) 第四章传热 (42) 第五章蒸馏 (56) 第六章吸收 (65) 第七章干燥 (70)

第一章流体流动 1.某设备上真空表的读数为13.3×103 Pa,试计算设备内的绝对 压强与表压强。已知该地区大气压强为98.7×103 Pa。 解:由绝对压强= 大气压强–真空度得到: 设备内的绝对压强P绝= 98.7×103 Pa -13.3×103 Pa =8.54×103 Pa 设备内的表压强P表= -真空度= - 13.3×103 Pa 2.在本题附图所示的储油罐中盛有密度为960 ㎏/?的油品, 油面高于罐底 6.9 m,油面上方为常压。在罐侧壁的下部有一直 径为760 mm 的圆孔,其中心距罐底800 mm,孔盖用14mm 的钢制螺钉紧固。若螺钉材料的工作应力取为39.23×106 Pa , 问至少需要几个螺钉? 分析:罐底产生的压力不能超过螺钉的工作应力 即 P油≤ σ螺 解:P螺= ρgh×A = 960×9.81×(9.6-0.8) ×3.14×0.762 150.307×103 N σ螺= 39.03×103×3.14×0.0142×n P油≤ σ螺得n ≥ 6.23 取n min= 7

至少需要7个螺钉 3.某流化床反应器上装有两个U 型管 压差计,如本题附图所示。测得R1 = 400 mm ,R2 = 50 mm,指示液为水银。 为防止水银蒸汽向空气中扩散,于右侧的 U 型管与大气连通的玻璃管内灌入一段 水,其高度R3 = 50 mm。试求A﹑B两处 的表压强。 分析:根据静力学基本原则,对于右边的U管压差计,a–a′为等压面,对于左边的压差计,b–b′为另一等压面,分别列出两个等压面处的静力学基本方程求解。 解:设空气的密度为ρg,其他数据如图所示 a–a′处P A+ ρg gh1= ρ水gR3+ ρ水银ɡR2 由于空气的密度相对于水和水银来说很小可以忽略不记 即:P A = 1.0 ×103×9.81×0.05 + 13.6×103×9.81×0.05 = 7.16×103 Pa b-b′处P B + ρg gh3 = P A + ρg gh2 + ρ水银gR1 P B = 13.6×103×9.81×0.4 + 7.16×103 =6.05×103Pa

数据结构与算法知识点必备

数据结构与方法 1、算法的基本特征:可行性、确定性、有穷性、拥有足够的情报 2、算法的基本运算和操作:算术运算、逻辑运算、关系运算、数据传输 3、算法的基本控制结构:顺序结构、选择结构、循环(重复)结构 4、算法设计的基本方法:列举法、归纳法、递推、递归、减半递推技术、回溯法 5、算法的复杂度主要包括:时间复杂度、空间复杂度 6、算法的时间复杂度:指执行算法所需要的计算工作量 7、算法的空间复杂度:指执行这个算法所需要的内存空间 8、数据结构主要研究:数据的逻辑结构、数据的存储结构、对各种数据结构进行的运算 9、数据结构研究的目的:提高数据处理的效率 10、数据处理的效率:数据处理的速度、减少处理过程中占用计算机的存储空间 11、数据处理:指对数据集合中的各元素以各种方式进行运算 12、数据元素:指在数据处理中,每一个需要处理的对象都可以抽象成数据元素 13、数据结构:指反映数据元素之间关系的数据元素集合的表示 14、数据的逻辑结构:指反映数据元素之间逻辑关系的数据结构,两要素:数据元素的集合、数据元素在集合上的关系 15、数据的存储结构:指数据的逻辑结构在计算机存储空间的存放形式,常用的存储结构有:顺序、链接、索引等 16、数据结构的图形表示中每个元素加上方框成为结点 17、数据结构一般分为:线性结构、非线性结构 18、线性结构满足:有且仅有一个根结点、每个结点最多有一个前件和后件、在一个线性结构中插入和删除任何一个结点后还是线性结构 19、线性表定义:线性表是由n个数据元素a1、a2、a3、a4……an组成的一个有限序列,表中每一个数据元素,除了第一个外,有且仅有一个前件,除了最后一个外,有且仅有一个后件 20、非线性表的特征:有且只有一个根节点a1,它无前件、有且只有一个终结点an,它无后件、除了第一个和最后一个外,其他所有结点只有一个前件和一个后件 21、线性表的长度:线性表中的结点的个数n成为线性表的长度,当n=0时,成为空表 22、线性表的顺序存储的特点:所有元素所占的存储空间是连续的、各数据元素在存储空间中是按逻辑顺序一次存放的 23、线性表的随机存取地址计算公式:ADD(ai)=ADD(a1)+(i-1)*k 24、线性表的主要操作:插入、删除、查找、排序、分解、合并、复制、逆转 25、栈的定义:栈是限定在一端进行插入和删除的线性表,它按照“先进后出,后进先出”的原则组织数据 26、栈的顺序存储:在程序设计语言中,一般一维数组S(1:m)作为栈的顺序存储空间,其中m为栈的最大容量 27、栈的基本运算:入栈、退栈、读栈顶元素 28、入栈运算:首先将栈顶指针(top)加1,然后将新元素插入到栈顶指针指向的位置。当栈顶指针已经指向存储空间的最后一个位置时,说明栈空间已满,称为“上溢”错误 29、退栈运算:首先将栈顶元素赋给一个指定的变量,然后将栈顶指针(top)减1。当栈顶指针为0时,说明栈空,成为“下溢”错误 30、队列的定义:队列是指允许在一端进行插入,而在另一端进行删除的线性表,它按照“先进先出”的原则组织数据

考研数据结构图的必背算法及知识点

1.最小生成树:无向连通图的所有生成树中有一棵边的权值总和最小的生成树 问题背景: 假设要在n个城市之间建立通信联络网,则连通n个城市只需要n—1条线路。这时,自然会考虑这样一个问题,如何在最节省经费的前提下建立这个通信网。在每两个城市之间都可以设置一条线路,相应地都要付出一定的经济代价。n个城市之间,最多可能设置n(n-1)/ 2条线路,那么,如何在这些可能的线路中选择n-1条,以使总的耗费最少呢 分析问题(建立模型): 可以用连通网来表示n个城市以及n个城市间可能设置的通信线路,其中网的顶点表示城市,边表示两城市之间的线路,赋于边的权值表示相应的代价。对于n个顶点的连通网可以建立许多不同的生成树,每一棵生成树都可以是一个通信网。即无向连通图的生成树不是唯一的。连通图的一次遍历所经过的边的集合及图中所有顶点的集合就构成了该图的一棵生成树,对连通图的不同遍历,就可能得到不同的生成树。 图G5无向连通图的生成树为(a)、(b)和(c)图所示: G5

G5的三棵生成树: 可以证明,对于有n个顶点的无向连通图,无论其生成树的形态如何,所有生成树中都有且仅有n-1条边。 最小生成树的定义: 如果无向连通图是一个网,那么,它的所有生成树中必有一棵边的权值总和最小的生成树,我们称这棵生成树为最小生成树,简称为最小生成树。 最小生成树的性质: 假设N=(V,{E})是个连通网,U是顶点集合V的一个非空子集,若(u, v)是个一条具有最小权值(代价)的边,其中, 则必存在一棵包含边(u,v)的最小生成树。 解决方案: 两种常用的构造最小生成树的算法:普里姆(Prim)和克鲁斯卡尔(Kruskal)。他们都利用了最小生成树的性质 1.普里姆(Prim)算法:有线到点,适合边稠密。时间复杂度O(N^2)假设G=(V,E)为连通图,其中V为网图中所有顶点的集合,E为网图中所有带权边的集合。设置两个新的集合U和T,其中

化工原理第二版(下册)夏清贾绍义课后习题解答带图复习课程

化工原理第二版(下册)夏清贾绍义课后习题 解答带图

化工原理第二版夏清,贾绍义课后习题解答 (夏清、贾绍义主编.化工原理第二版(下册).天津大学出版)社,2011.8.) 第1章蒸馏 1.已知含苯0.5(摩尔分率)的苯-甲苯混合液,若外压为99kPa,试求该溶液的饱和温度。苯和甲苯的饱和蒸汽压数据见例1-1附表。 t(℃) 80.1 85 90 95 100 105 x 0.962 0.748 0.552 0.386 0.236 0.11 解:利用拉乌尔定律计算气液平衡数据 查例1-1附表可的得到不同温度下纯组分苯和甲苯的饱和蒸汽压P B*,P A*,由于总压

P = 99kPa,则由x = (P-P B *)/(P A *-P B *)可得出液相组成,这样就可以得到一组绘平衡t-x 图数据。 以t = 80.1℃为例 x =(99-40)/(101.33-40)= 0.962 同理得到其他温度下液相组成如下表 根据表中数据绘出饱和液体线即泡点线 由图可得出当x = 0.5时,相应的温度为92℃ 2.正戊烷(C 5H 12 )和正己烷(C 6 H 14 )的饱和蒸汽压数据列于本题附表,试求P = 13.3kPa下 该溶液的平衡数据。 温度 C 5H 12 223.1 233.0 244.0 251.0 260.6 275.1 291.7 309.3 K C 6H 14 248.2 259.1 276.9 279.0 289.0 304.8 322.8 341.9 饱和蒸汽压(kPa) 1.3 2.6 5.3 8.0 13.3 26.6 53.2 101.3 解:根据附表数据得出相同温度下C5H12(A)和C6H14(B)的饱和蒸汽压 以t = 248.2℃时为例,当t = 248.2℃时 P B * = 1.3kPa 查得P A*= 6.843kPa 得到其他温度下A?B的饱和蒸汽压如下表 t(℃) 248 251 259.1 260.6 275.1 276.9 279 289 291.7 304.8 309.3 P A *(kPa) 6.843 8.00012.472 13.30026.600 29.484 33.42548.873 53.200 89.000101.300 P B *(kPa) 1.300 1.634 2.600 2.826 5.027 5.300 8.000 13.300 15.694 26.600 33.250

版化工原理考研试题夏清版.doc

简答题 1、一定量的流体在圆形直管内作层流流动,若将其管径增加一倍,问能量损 失变为原来 的多少倍? h. l u 2 。 d 2d , u V 1 , . 1 . .d 2 2 u 1 1 d 1 2g 2 1 2 1 4 1 4 2 d 2.u 2 . 2 1 。 h l u 2 2 1 。 64 / 2 . . 2g h 2 d 2 16 1 2、 何谓气缚现象?如何防止? 离心泵只能空转而不能输送液体的现象。 离心泵启动前应灌 满液体。 3、何谓沉降?沉降可分为哪几类?何谓重力沉降速度? 沉降是指依靠外力的作用,利用分 散物质与分散介质的密度差异, 使之发生相对运动而分离的过程。 沉降可分为重力沉降和离 心沉降。 颗粒以加速运动的末速度这一不变的速度作匀速沉降运动, 这一速度称为重力沉降 速度。 4、 在列管式换热器中,用饱和蒸汽加热空气,问: ( 1) 传热管的壁温接近于哪一种流体的温度? ( 2) 传热糸数 K 接近于哪一种流体的对流传热膜糸数? ( 3) 那一种流体走管程?那一种流体走管外?为什么? 传热管的壁温接近于蒸汽的温度;传热糸数 K 接近于空气的对流传热膜糸数;空气走管内,饱和蒸汽走管外。 (蒸汽散热快) 。 5 、换热器的设计中为何常常采用逆流操作? 因为逆流操作:推动力大,所需的传热面积小;减少载热体的用量。 6 、单效减压蒸发操作有何优点? 可以降低溶液的沸点, 可以利用低压蒸汽或废气作为加热剂, 可以浓缩不耐高温的溶液,可以减少蒸发器的热损失。 1、 流体的流动形态有哪几种?如何判断? 流体的流动形态有两种:层流和湍流;用雷诺准数来判断,当 R e 2000 ,为层流, 当 R e 4000 为湍流。 2、 何谓层流内层?其厚度受哪些因素影响? 在湍流主体内靠近管壁处始终存在着一层作层流流动 的流体薄层,此薄层称为层流内层。受管径、流速、粘度和密度。 3、 采用多级压缩的优点有哪些? 避免压缩后气体温度过高,提高气缸容积糸数,减小功率,使压缩机结构更为合理。 4、 列管式换热器为何要进行热补偿? 列管式换热器中,由于两流体的温度不同,使管束和壳体的温度也不相同,因此它们的 热膨胀程度也有区别。若两流体的温度差较大( 50 0 C 以上)时,由于热应力会引起设 备的变形,甚至弯曲和破裂。因此我们要考虑热补偿

相关主题
文本预览
相关文档 最新文档