04级第10章C
级石油化工工艺学布置部分作业答案要点

04级石油化工工艺学布置部分作业答案要点(总4页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--04级石油化工工艺学布置部分作业答案要点3-3 裂解过程的工艺参数选择裂解过程的工艺参数选择:高温短停留时间,低烃分压。
原因如下:1)高裂解温度裂解反应为一级不可逆强吸热反应;提高裂解温度,有利于乙烯产率的增加。
裂解温度的提高受到a)二次反应的产物分布及目的产品收率的限制;b)受到.裂解炉管的结焦影响及清焦周期的限制;c.受到裂解炉管材质要求的限制。
2)低停留时间停留时间越短,可以抑制二次反应的进行,对提高乙烯产率有利;3)低烃分压乙烯裂解反应为体积增大的化学反应。
降低压力有利乙烯的生成。
乙烯裂解反应为气相反应。
裂解反应为一级反应;缩合/聚合反应为二级反应,压力提高,反应物浓度增加,反应速度加快。
但对缩合/聚合反应增加的幅度更大。
所以应采取低的反应压力。
4)稀释剂稀释剂作用是降低烃分压,防止裂解炉管内壁的结焦。
同时可以.稳定裂解温度,.脱除结焦。
缺点是需要的急冷速度、急冷剂用量大;.处理能力下降;.所需炉管管径、管长增大,所需的热负荷增加。
3-9裂解气的预分馏及净化裂解气预分馏的目的与任务1)解气预分馏的目的与任务(1)经预分馏处理,尽可能降低裂解气的温度,从而保证裂解气压缩机的正常运转,并降低裂解气压缩机的功耗。
(2)裂解气经预分馏处理,尽可能分馏出裂解气的重组分,减少进入压缩分离系统的进料负荷。
(3)在裂解气的预分馏过程中将裂解气中的稀释蒸汽以冷凝水的形式分离回收,用以再发生稀释蒸汽,从而大大减少污水排放量。
(4)在裂解气的预分馏过程中继续回收裂解气低能位热量。
2)裂解气中的气体杂质裂解气中的气体杂质主要有H2S、CO2、H2O、C2H2、CO。
H2S、CO2无机碱洗或醇胺湿法脱除H2O:3A分子筛吸附脱除C2H2、CO催化加氢脱除。
3-12分离流程的共同点,顺序分离流程,前脱乙烷后加氢流程,前脱丙烷加氢流程的特点优缺点、适用范围。
C语言程序设计教程第10章(2024)

THANKS
2024/1/26
44
16
05
文件操作综合应用实例
2024/1/26
17
学生信息管理系统设计思路
01
系统功能需求
学生信息管理系统需要实现学生信息的录入、查询、修改和Байду номын сангаас除等功能
。
02
数据结构设计
采用结构体数组来存储学生信息,每个学生信息包括学号、姓名、性别
、年龄、成绩等字段。
2024/1/26
03
文件操作规划
使用文件来保存学生信息,实现数据的持久化存储。在程序启动时,从
fprintf(fp, "%s %s %c %d %fn", students[i].id, students[i].name, students[i].gender, students[i].age, students[i].score);
35
关键代码实现及解析
}
fclose(fp);
2024/1/26
41
练习题及答案解析
3. 题目
编写一个程序,实现两个二进制文件的合并 。
答案解析
首先需要使用`fopen()`函数以读取模式打开 两个二进制文件,以写入模式打开一个新的 二进制文件。然后使用`fread()`函数从两个 文件中读取内容,并使用`fwrite()`函数将读 取的内容写入到新文件中。最后使用 `fclose()`函数关闭所有文件。
2024/1/26
21
关键代码实现及解析
int age;
float score;
} Student;
2024/1/26
22
关键代码实现及解析
C语言第10章(顾元刚)-1

上一张
下一张
while(1) { key=getchar(); if (key=='\n') break; 将键入的ASCⅡ码值转换 key=key-49; 成数组元素的序号 if (key>0&&key<8) Gen_sod(f[key],5000); } } 本程序序运行后,按下“1”~“7”7个健, 能发出对应频率的声音。
选定2#计算器
送低8位计数值
outportb(0x42,count.c[0]); outportb(0x42,count.c[1]);
送高8位计数值
bits=inportb(0x61);
outportb(0x61,bits|3); delay(t);
发声延时
置端口 0x61最低2位置为“1”, 允许扬声器发声
上一张 下一张
int tim[]={75,25,25,50,25,25,75,100,75,25,25,50,25,200, 75,25,25,25,25,25,200,25,50,25,25,25,50, 25,50,25,25,25,50,25,50,25,25,25,25,25,200, 25,50,25,25,25,50,25,50,25,25,25,50,25,50,25,25, 25,25,25,200, 25,50,25,25,25,50,75,25,100,25,50,25,50,50,200, 25,25,25,25,75,25,75,12.5,12.5,100,25,25,25,25,25, 25,50,200 };
上一张
下一张
表10.2 键盘与音符、频率对照表
音符 简谱 频率 键符 C 1 262 1 D 2 294 2 E 3 330 3 F 4 349 4 G 5 392 5 A 6 440 6 B 7 494 7
中医妇科真题

中医妇科真题广州中医药大学2007年中医04级本科《中医妇科学》期末考试试卷A一. A1、A2型题(最佳选择题):在5个备选答案中选择1个最佳答案,填在题末的括号内。
(每题1分,共25分)1.生理性带下的特点是:()A赤白相兼B无色无臭,粘而不稠C清稀如水,淋漓不断D色白、质稀、无臭,绵绵不断E量少、色黄或赤白相兼、质稠2.某妇,35岁,近半年月经38-42天一行,持续7天干净,用卫生巾10条,经行小腹轻微胀坠感。
诊断为:()A月经过多B月经后期C痛经D经期延长E月经先后无定期3. 产后发热的治疗应以什么为主?()A清热解毒B凉血化瘀C调气血和营卫D散寒解表E益气养血退热4.某妇,36岁,停经70天,阴道出血量多,小腹疼痛,腹坠加重。
妇检:宫口已开大,见胚胎组织堵塞宫颈口,舌紫黯、有瘀点,脉沉细。
首选方是:()A宫外孕Ⅱ号方B桃红四物汤C生化汤D脱花煎E血府逐瘀汤5.治疗寒湿凝滞型痛经的代表方是:()A膈下逐瘀汤B少腹逐瘀汤C温经汤《妇人大全良方》D胶艾汤E艾附暖宫丸6.脾虚湿困型带下病的治法是:()A健脾益气,升阳除湿B健脾益气,利湿止带C健脾渗湿止带D健脾补肾,涩精止带E健脾益气,固冲止带7. 关于正常月经描述,应除外哪项?()A 13岁月经初潮B周期28~30天C经期4~6天D经质稀稠适中,不凝固,无血块E经色鲜红8.念珠菌性阴道炎的带下特点是:()A白色豆渣样B色黄、粘稠有臭气C色白或淡黄,质稠无臭气D稀薄的泡沫样黄带E脓性样带下,秽臭9.经间期出血的治疗是:()A调摄冲任,平衡阴阳B滋肾养血为主C健脾益气,固冲止血D清热除湿,凉血止血E活血化瘀,理血归经10. 恶露不绝实者的治疗禁用:()A补益之剂B攻瘀之剂C清热之剂D破血之剂E以上都是11.导致闭经的机理应除外哪项:()A肝肾虚损B气血亏虚C阴虚血燥D血热E血瘀气滞12. 产后发热应与什么病鉴别?()A产后外感发热B产后血瘀发热C产后血虚发热D产后乳痈发热E产后感染邪毒发热13. 正常胎心率为每分钟:()A 80-100次B 100-140次C 120-160次D 140-180次E 160-200次14. 妇科病病因中的生活因素,应除外哪一项?()A忧思不解B房劳多产C饮食不节D劳逸过度E跌扑损伤15. 妇女特殊的生理功能有:()A月经B妊娠C带下D产育E以上都是16. 肝肾阴虚型经行乳房胀痛的主症,应除外哪一项?()A经前两乳作胀B两目干涩C五心烦热D腰膝酸软E口苦咽干17. 完带汤的药物组成,应除哪项以外?()A人参白术淮山甘草B苍术C茯苓生薏仁D柴胡白芍陈皮黑荆芥E车前子18. 妊娠痫症的检查,哪项除外?()A测血压B浮肿的程度C尿蛋白测定D腹部CT检查E眼底检查19. 异位妊娠的临床表现,应除外哪一项?()A停经史B不规则阴道出血C一侧下腹部突发性撕裂样剧痛D高热E后穹窿穿刺抽出不凝固的血液20. 下列哪项不是早孕的临床表现?()A停经史B早孕反应C子宫增大变软D子宫增大变硬E乳房增大、乳头及乳晕着色21.输卵管由哪些部分组成:()A间质部B峡部C壶腹部D伞部E以上皆是22. 带下病发生的主要机理是:()A脾虚湿困B肾阳失固C阴虚夹湿D湿热下注E任脉不固,带脉失约23. 雌激素的生理作用是:()A使子宫内膜呈增生期变化B使乳腺腺泡增生C使子宫颈粘液量减少,变稠,羊齿状结晶消失D使阴道上皮细胞脱落加快E有升体温作用24. 产后病的范围不包括:()A缺乳B乳汁自出C恶露不绝D难产E产后血晕25. 肝郁型不孕症的主症,应除外哪一项?()A多年不孕B月经期先后不定C经行不畅D小腹胀痛E头晕耳鸣二. A3型题(病例组的最佳选择题):(每组3分,共9分)某妇,分娩时出血过多,突然昏晕,面色苍白,心悸愦闷,昏不知人,眼闭口开,四肢厥冷,冷汗淋漓;舌淡苔少,脉微欲绝。
04级微机系统第四章综合练习题(参考答案)

微机系统第三章综合练习题专业班级学号姓名一.选择题1.下列4种描述中正确的是()。
A.汇编语言只由指令语句构成。
B.汇编语言语句包括指令语句和伪指令语句和宏指令语句。
C.指令语句和伪指令语句都能经汇编程序翻译成机器代码。
D.指令语句和伪指令语句都不能经汇编程序翻译成机器代码。
2.下列不合法的标识符是()。
A.RABC B.2A7tB C.?A2SB D._Wl'43.指定起始地址偏移量的伪指令是()。
A.PARA B.ORG C.SEGMENT D.PROC4.伪指令VAR DW ? 将在内存预留的存储空间是()。
A.1字节 B.2字节 C.6字节 D.4字节5.伪指令BUF DB 20 DUP(0,1) 在内存中占用的存储空间是()。
A.80字节 B.20字节 C.60字节 D.40字节6.伪指令VAR DT ?将在内存预留的存储空间是()。
A.2字节 B.4字节 C.10字节 D.16字节7.阅读下列程序段,说明程序段执行后AX寄存器的内容是()。
┆TAB DW 1,2,3,4,5,6 ;定义1~6为字数据ENTRY EQU 3 ;定义ENTRY=3┆MOV BX,OFFSET TAB ;将TAB的偏移地址送BXADD BX,ENTRY ;BX←BX+3MOV AX,WORD PTR [BX] ;将BX对应2个单元数据送AX┆A.0403H B.0300H C.0506H D. 0003H8.已知VAR DW l,2,$+2,5,6,若汇编时VAR分配的偏移地址是0010H,汇编后0014H单元的内容是()。
A.16H B.05H C.14H D.06H解:符号$用在伪操作的参数字段时,表示地址计数器的当前值。
若汇编时VAR分配的偏移地址是0010H,且定义的是字数据,第1个字“1”即0001H,存放的存储单元的偏移地址是0010H和0011H,占两个存储单元;第2个字存放0002H,占用两个存储单元,其偏移地址是0012H和0013H,到第3个字时,$的值应该是VAR的偏移地址加上4个单元,即0014H,所以这时第3个字的值 $+2=0014+2=0016H,则汇编后的存储区如图题4-2所示。
第10章(125)

第10章 办公、家用机械
10.1 办公机械 10.2 家用机械
第10章 办公、家用机械
10.1 办 公 机 械
10.1.1 打印机
打印机是各类计算机系统的输出设备,是随主机系统的 发展而逐步发展起来的一种系列化的外围设备。它是计算机 系统的重要组成部分之一。打印机是一种用控制指令加以控 制的智能化的终端设备,主要用于输出打印运算过程、结果 及文件副本,并能打印出各种统计表格和图形。
和行式(或称页式)两种印字方式。串行式机种使用窄幅盘式色 带,在整盘色带长度上以C、M、Y(有的加BL-B-Lack)的顺 序涂复每种原色,其长度等于或大于记录宽度,即大于打印纸 宽度。行式(页式)机使用卷筒式色带,其幅面等于或大于记录 宽度,每种色区的涂复长度等于或大于记录长度。
第10章 办公、家用机械 在印字设备中,热转式与其他记录方式相比,在可靠性、 耐用性、高速度、高印字质量、设备小型化和廉价化方面有优 势。缺点是色带只能一次使用,设备的使用成本高。如可多次 使用的薄膜色带得到进一步解决,热转式印字技术将大有发展
字头由一行沿字行方向排列的若干个高阻热敏元件组成,根据
图像信号对相应的热敏元件加电,记录纸上能出现相对应的色 点,使记录纸纵向运动,即可形成点阵字符或所需的图形。
第10章 办公、家用机械 2) 热转式印字机 热转式印字机是在热敏式的基础上派生出来的一个新品种。 热转式与热敏式相比,克服了使用特殊纸的缺点,记录纸是普 通纸,记录结果可以长期保存。
射镜移动来完成光学系统的扫描。第1反射镜与光源的扫描速度v1
是与感光体的运动速度保持严格同步的。而第2和第3反射镜的扫 描速度v2与第1反射镜的速度比为v1 : v2=2:1,以保证像距与物距 相等(等倍复印时)。
04级电机学答案
四、计算题〔A〕〔1〕一台并励直流发电机,额定功率P N=10KW,额定电压U N=230V,额定转速n N=1450r/min,电枢回路总电阻〔包括电刷接触电阻〕R a=0.532Ω;励磁绕组电阻R f=215Ω;额定负载时的电枢铁损耗P Fe=442W;机械损耗P m=104W,杂散损耗略去不计。
试求:①额定负载时的电枢绕组电动势E aN; 〔4分〕②额定负载时的电磁转矩;〔4分〕③额定负载时的效率。
〔4分〕〔2〕并励直流电动机,额定功率P N=7.5KW,额定电压U N=220V,额定电流I N=41.2A,额定转速n N=1500r/min,额定励磁电流I fN=1.2A,电枢绕组回路总电阻〔包括电刷接触电阻〕Ra=0.55Ω,略去电枢反响影响,且C TΦ=9.55C eΦ。
试求:①额定情况下,励磁回路的电阻;〔2分〕②额定负载时的电磁转矩;〔4分〕③如果电网压降低到200V,求此时电机的转速为多少?〔该电动机在200V电压下运行时,励磁电流I f=1.09A,对应的C eΦ=0.127Wb,并设负载转矩保持不变。
〕〔4分〕四、计算题〔B〕〔1〕一台并励直流发电机,励磁回路电阻R f=44Ω,负载电阻R L=4Ω,电枢回路总电阻〔包括电刷接触电阻〕R a=0.25Ω,端电压U=220伏。
试求:①励磁电流I f和负载电流I;〔4分〕②电枢电流I a和电枢电动势E a;〔4分〕③电磁功率P e和输出功率P2;〔4分〕〔2〕一台并励直流电动机,P N=17KW,U N=220V,n N=3000r/min,I N=88.9A电枢回路总电阻〔包括电刷接触电阻〕R a=0.114Ω,励磁回路电阻R f=181.5Ω,略去电枢反响影响。
试求:①额定负载时的电磁转矩〔C TΦ=9.55C eΦ〕;〔4分〕②额定负载时的效率;〔2分〕③当电枢回路串入电阻r a=0.15Ω时,在额定输出转矩时的转速。
〔4分〕B卷:程小华电机学下试题直流电机之第4和5两章22分判断题5个:5分〔Yes / No〕1. 空载特性是指n=n N=常值,I=0时,电枢的空载端电压与励磁电流之间的关系。
全套课件-C#入门经典(第4版)_完整
C语言是一种功能强大、简洁的计算机语言,通过它可以编写程序,指挥 计算机完成指定的任务。我们可以利用C语言创建程序(即一组指令),并让计 算机依指令行事。
用C语言编程并不难,本书将用浅显易懂的方法介绍C语言的基础知识, 读完本章,读者就可以编写第一个C语言程序了,其实C语言很简单。 。
1.7 函数及模块化编程
到目前为止,“函数”这个词已出现过好几次了,如main()、printf()、函 数体等。下面将深入研究函数是什么,为什么它们那么重要。
大多数编程语言(包含C语言)都提供了一种方法,将程序切割成多个段, 各段都可以独立编写。在C语言中,这些段称为函数。一个函数的程序代码与 其他函数是相互隔绝的。函数与外界有一个特殊的接口,可将信息传进来,也 可将函数产生的结果传出去。这个接口在函数的第一行即在函数名的地方指定。
1.5.3 定义main()函数
函数是两个括号之间执行某组操作的一段代码。每个C程序都由一个或多 个函数组成,每个C程序都必须有一个main()函数——因为每个程序总是从这 个函数开始执行。因此假定创建、编译、链接了一个名为progname.exe的文 件。执行它时,操作系统会调用这个程序的main()函数。
1.8 常见错误
错误是生活中的一部分。用C语言编写计算机程序时,必须用编译器将源 代码转换成机器码,所以必须用非常严格的规则控制使用C语言的方式。漏掉 一个该有的逗点,或添加不该有的分号,编译器都不会将程序转换成机器码。
即使实践了多年,程序中也很容易出现输入错误。这些错误可能在编译 或链接程序时找出。但有些错误可能使程序执行时,表面上看起来正常,却不 定时地出错,这就需要花很多时间来跟踪错误了 。
1.6.1 了解问题
结构力学试卷答案
结构力学试卷答案The final revision was on November 23, 2020试卷1一、是非题(每题2分,共10分)1.功的互等定理仅适用于线性变形体系。
()2. 对图2中a图所示桁架用力法计算时,取图b作为基本体系(杆AB被去掉),则其典型方程为:。
()图2图33.图3所示梁在一组移动荷载组作用下,使截面K产生最大弯矩的最不利荷载位置如图(a)所示。
()4. 图示结构用位移法求解时,基本未知量数目为3,用力法求解,则基本未知量数目为5。
()5.位移法典型方程的右端项一定为零。
()二、填空题(共18分)1.图1所示体系是________________体系,它有______个多余约束。
(4分)图1图22.图2所示桁架杆1的内力为。
(4分)3.力法方程中柔度系数代表,自由项代表。
(4分)4.已知荷载作用下结构的M图如图所示,画出其剪力图。
(6分)图4M图 Q图三、作图示结构的M、Q图。
d=2m。
(20分)四、 用力法计算,并作图示对称结构M 图。
EI =常数。
(20分) 五、 用位移法计算图示刚架,并画出M 图。
(20分) 六、作图示梁的的影响线,并利用影响线求给定荷载作用下的值。
(12分)课程名称:结构力学I (样卷解答) 考试班级: 土木02(1、2、3、水建) 一、是非题(每题2分,共10分)1.( ) 2. ( ) 3. ( ) 4. ( ) 5. ( )二、填空题(共18分)1._几何不变体系(3分), 0 (1分) 2. 0 (4分) 3. 基本结构在1=j X 作用下产生的沿i X 的位移(2分)基本结构在仅荷载作用下产生的沿i X 的位移(2分)4.5ql/88(6分) 正负号各1分三、(20分)支座反力20KN, 10KN, 20KN, 10KN 每个图形10分,每根杆2分 每根杆符号错扣1分 四、. (20分)半结构2分)X 1力法基本体系(3分)力法方程 0 IP111=∆+X δ(2分)(2分)(2分)系数: ;3/2311EI l =δ (2分);24/4IP EI ql -=∆ (2分) 解得: 16/1ql X = (1分) 最后弯矩图M 图ql 2/163ql 2/32ql 2/163ql 2/32(4分)选择其它基本体系可参照以上给分。
[试题]体育科研方法题
体育学院04级《体育科研方法》期末复习题二、简答1、简答科学与技术的关系。
2、体育科学研究所独有的特点有哪些?3、简答体育科学研究的根本任务。
4、社会科学类体育科学研究工作的一般程序有哪些5、选题的一般程序是什么?6、选题原则是什么?7、查阅文献的意义?8、文献收集的基本方法?9、文献收集的基本要求?10、文献阅读的方法?11、文献阅读的原则?12、文献综述的撰写格式和内容?13、撰写文献综述的要求?14、撰写文献综述的步骤?15、什么是研究设计?16、论文题目所包含的要素是什么?17、试述调查法的类型?18、确定研究范围有几种方法?19、调查的具体方法?20、调查法的实施步骤?21、观察法的基本要求?22、简述实验误差产生的主要原因有哪些?23、简述制作统计表时应注意的几点问题?24、简述资料分析的过程? 25、简述定性资料整理的步骤?26、实验法三对基本要素是什么?27、为了尽量避免和减少误差,在实验设计时应遵循什么原则?28、样本和元素的意义一样吗?29、简述实验法基本构成。
30、请简述归纳法与演绎法的区别与联系。
31、科研方法学习体会。
一、判断题(本大题共10小题,每小题1分,共10分)判断下列各题,正确的在题后括号内打“√”,错的打“╳”。
1.广义的科学,是对社会科学、自然科学、心理科学等的总称。
( )2.体育科学研究选题的需要性原则体现了科学研究的目的性。
( )3.信度即可靠性,是指采用同样的方法对同一对象重复进行测量时所得到结果相一致的程度。
( )4.文献阅读的方法有浏览、略读、精读等。
( )5.按照实验内容不同,实验法可分为:实验室实验法和现场实验法。
( )6.定性资料的整理要经历审查,分类和汇编三个阶段。
( )7.图示的种类包括:直方图,曲线图和圆形图。
( )8.定量资料的审核主要包含审核材料的规范性,统一性和合格性三方面的内容。
( )9.双向性和交往性是访谈法的主要特点。
( )10.应用软件也是科研成果的表达形式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
r[3]
21 21 25 49
16 16 08 63
63
25*
令其Tag Tag= 令其Tag=0,不参与比较
8
第四趟: 第四趟:
左右结点 相同时左 边“小”
Winner (胜者) 胜者) 08 25 21 21 25 08 63
25*
r[4]
21 25 21 25 49
08 16 08 63
r[6]
16 08 63
21 25* 49 25 21 25 21 25 49
25* 49
16 08 16 08 63
63
25*
11
第七趟: 第七趟:
Winner (胜者) 胜者) 16 08 25* 63 49 25 21
r[7]
21 25* 49 25 21 25 21 25 49
25* 49
16
建堆算法 (等同于堆排序算法中的第一步) 等同于堆排序算法中的第一步)
参见教材P281-282
void HeapSort (HeapType &H ) {
//H是顺序表,含有H.r[ ]和H.length两个分量 H.r[ 是顺序表,
for ( i = length / 2; i >0; - - i ) //把r[1…length]建成大根堆 1…length] HeapAdjust(r, i, length ); …… } // HeapSort HeapAdjust是针对结点 i 的堆调整函数,其含义是: 的堆调整函数,其含义是:
最小值 08 与 r[1]交换位置 r[1]交换位置
时间效率: 虽移动次数较少, 时间效率: O(n2)——虽移动次数较少,但比较次数仍多。 虽移动次数较少 但比较次数仍多。 空间效率: 没有附加单元( 空间效率:O(1)——没有附加单元(仅用到1个temp) 没有附加单元 仅用到1 算法的稳定性:不稳定——因为排序时,25*到了25的前面。 因为排序时, 到了25的前面。 算法的稳定性:不稳定 因为排序时 25*到了25的前面
优点:减少比较次数,加快排序速度 优点:减少比较次数, 缺点: 缺点:空间效率低
关键字序列T= 例:关键字序列 (21,25,49,25*,16,08,63), , , , , , , ), 请给出锦标赛排序的具体实现过程。 请给出锦标赛排序的具体实现过程。
5
注:为便于自动处理,建议每个记录多开两个特殊分量: 为便于自动处理,建议每个记录多开两个特殊分量: key otherinfo Index(结点位置编号) Tag(是否参加比较) 结点位置编号) 是否参加比较) 结点位置编号
从结点i开始到堆尾为止,自上向下比较, 从结点i开始到堆尾为止,自上向下比较,如果子女 堆尾为止 的值大于双亲结点的值,则互相交换, 的值大于双亲结点的值,则互相交换,即把局部调整 为大根堆。 为大根堆。
17
//使r[i…length]成为大根堆 …length]
表述如下: 针对结点 i 的堆调整函数HeapAdjust 表述如下: ——从结点i开始到当前堆尾m为止,自上向下比较,如果子女的 从结点i 从结点 开始到当前堆尾 为止,自上向下比较, 值大于双亲结点的值,则互相交换,即把局部调整为大根堆。 值大于双亲结点的值,则互相交换,即把局部调整为大根堆。 HeapAdjust(r, i, m ){ current=i; temp=r[i]; child=2*i; //temp暂存r[i]值,child是其左孩子 while(child<=m){ //检查是否到达当前堆尾,未到尾则整理 检查是否到达当前堆尾, if ( child<m && r[child].key<r[child+1].key ) child= child+1; //让child指向两子女中的大者位置 if ( temp.key>=r[child].key ) breack; //根大则不必调整,函数结束 根大则不必调整, else { r[current]=r[child]; //否则子女中的大者上移 current= child; child=2* child; } //将根下降到子女位置并继续向下 将根下降到子女位置并继续向下 整理! 整理! }// while 直到自下而上都满足堆定义,再安置入口 入口结点 r[current]=temp; //直到自下而上都满足堆定义,再安置入口结点 } // HeapAdjust
首先对 n 个记录的关键字进行两两比较,得到 n/2 个 个记录的关键字进行两两比较, /2 优胜者(关键字小者) 作为第一步比较的结果保留下来。 优胜者(关键字小者),作为第一步比较的结果保留下来。然 /2 个较小者之间再进行两两比较, 如此重复, 后在这 n/2 个较小者之间再进行两两比较,…,如此重复, 直到选出最小关键字的记录为止。 直到选出最小关键字的记录为止。
10.4
选择排序
选择排序的基本思想是:每一趟在后面n-i 个待排记录中 选择排序的基本思想是:每一趟在后面n 选取关键字最小的记录作为有序序列中的第i 个记录。 选取关键字最小的记录作为有序序列中的第i 个记录。
选择排序有多种具体实现算法: 选择排序有多种具体实现算法: 1) 简单选择排序 2) 锦标赛排序 3) 堆排序
堆的定义:设有n个元素的序列 k1,k2,…,kn,当且仅 堆的定义:设有n 当满足下述关系之一时,称之为堆。 当满足下述关系之一时,称之为堆。 ki ≥ k2i ki ≤ k2i
ki ≤ k2i+1
或者
i=1, 2,… n/2
ki ≥ k2i+1
ቤተ መጻሕፍቲ ባይዱ
解释: 解释:如果让满足以上条件的元素序列 (k1,k2,…,kn) 顺次排成一棵完全二叉树 则此树的特点是: 完全二叉树, 顺次排成一棵完全二叉树,则此树的特点是: 树中所有结点的值均大于(或小于)其左右孩子, 树中所有结点的值均大于(或小于)其左右孩子,此树的 根结点(即堆顶)必最大(或最小)。 根结点(即堆顶)必最大(或最小)。
1
1)简单选择排序 思路异常简单:每经过一趟比较就找出一个最小值, 思路异常简单:每经过一趟比较就找出一个最小值, 与待排序列最前面的位置互换即可。 与待排序列最前面的位置互换即可。
——首先 ——首先,在n个记录中选择最小者放到r[1]位置;然后,从剩 首先, 个记录中选择最小者放到 1 位置;然后, 中选择最小者放到r[ 余的n 个记录中选择最小者放到r[2 位置; 如此进行下去, 余的n-1个记录中选择最小者放到r[2]位置;…如此进行下去, 直到全部有序为止。 直到全部有序为止。
//与第i //与第i个记录交换 与第 //对顺序表L //对顺序表L作简单选择排序 对顺序表
讨论:能否利用(或记忆)首趟的n 讨论:能否利用(或记忆)首趟的n-1次比较所得 信息,从而尽量减少后续比较次数呢? 信息,从而尽量减少后续比较次数呢? 请看—— 答:能!请看—— 锦标赛排序和 堆排序
4
2) 锦标赛排序 (又称树形选择排序 又称树形选择排序) 又称树形选择排序 基本思想:与体育比赛时的淘汰赛类似。 基本思想:与体育比赛时的淘汰赛类似。
√ (小根堆) 小根堆) 小顶堆) (小顶堆) 最小堆) (最小堆)
√ (大根堆) 大根堆) (大顶堆) 大顶堆) 最大堆) (最大堆)
15
2. 怎样建堆? 怎样建堆?
步骤:从最后一个非终端结点开始往前逐步调整,让每个双 步骤:从最后一个非终端结点开始往前逐步调整, 非终端结点开始往前逐步调整 亲大于(或小于)子女,直到根结点为止。 亲大于(或小于)子女,直到根结点为止。 终端结点(即叶子)没有任何子女,无需单独调整 终端结点(即叶子)没有任何子女, ),请建大根堆 例:关键字序列T= (21,25,49,25*,16,08),请建大根堆。 关键字序列 , , , , , ),请建大根堆。 为便于理解,先将原始序列画成完全二叉树的形式: 解:为便于理解,先将原始序列画成完全二叉树的形式: n/2开始调整。 这样可以很清晰地从n/2开始调整。 1
0
讨论:锦标赛排序巧妙利用了第一次和前若干次扫描的结果, 讨论:锦标赛排序巧妙利用了第一次和前若干次扫描的结果,
加快了排序速度。还有没有同类方法? 加快了排序速度。还有没有同类方法?
答:有!请看—— 请看——
堆排序
13
3) 堆排序 1. 什么是堆? 什么是堆? 2. 怎样建堆? 3. 怎样堆排序? 怎样建堆? 怎样堆排序?
63
25*
9
第五趟: 第五趟:
Winner (胜者) 胜者) 16 08 25* 25 21
r[5]
16 08 63
21 25* 25 21 25 21 25 49
25*
16 08 16 08 63
63
25*
10
第六趟: 第六趟:
Winner (胜者) 胜者) 16 08 25* 49 25 21
第一趟: 第一趟:
Winner (胜者) 胜者) 08 21 08
25*
r[1]
21 21 初态: 初态: 25 49
08 16 08 63
63
25*
补足2 k= 补足2k( k=log2n )个叶子结点
6
第二趟: 第二趟:
Winner (胜者) 胜者) 16 08 21 16 08
25*
r[2]
16 08 63 16 08 16 08 63 63
25*
12
算法分析: 算法分析: • 锦标赛排序构成的树是完全(满)二叉树,其深度为 锦标赛排序构成的树是完全 完全( 二叉树, +1, 为待排序元素个数。 log2n +1,其中 n 为待排序元素个数。 • 时间复杂度:O(nlog2n) —n个记录各自比较约 2n次 时间复杂度:O(n 个记录各自比较约log 个记录各自比较约 • 空间效率: O(n) —胜者树的附加内结点共有 0-1个! 空间效率: O(n 胜者树的附加内结点共有n 个 • 稳定性:稳定 —可事先约定左结点“小” n =2k = 叶子总数 稳定性: 可事先约定左结点“