数据结构教学总结

2022-05-16 版权声明 我要投稿

时间过得很快,四季轮回的过程中,一年忙碌的工作时间结束。在这一年的工作中,大家通过工作,可学到更多方面的工作知识,也留下了众多的学习回忆。为记录这一年的成长,可编写一份年终总结。以下是小编精心整理的《数据结构教学总结》,供需要的小伙伴们查阅,希望能够帮助到大家。

第1篇:数据结构教学总结

高层建筑结构设计要点总结

【摘 要】随著城市化进程的加快,为了使空间加大利用,我国房屋结构已经由单层向多层、高层发展,从传统的砖混结构改变为高层的框架、剪力墙及筒体结构,以此获得更大、更灵活、更自由的空间,可以满足更多用户需求。高层建筑结构设计要随之制定科学合理的设计方案,解决结构设计中存在的一些问题,使我国高层建筑得到稳定的发展。本文根据笔者工作实践,对高层建筑结构设计的定义及特点、高层建筑结构设计要点进行了分析和探讨。

【关键词】高层 建筑 结构 设计

1 高层建筑结构设计的定义及特点

高层建筑结构设计,普遍采用的是钢与钢筋混凝土作为基本材料。钢筋混凝土具有造价低、耐久性好、可塑性优良等特点,可以实现结构设计师的各种创意设计,还能有效的节省钢材。钢筋混凝土结构在耐久性与耐火性与承载能力方面有着明显的优势。并且通过建筑设计师的巧妙设计,还能实现非常理想的抗震性。钢筋混凝土结构也有一些缺点,例如:断面大、自重大,而且费模费工。使用钢材作为基本材料,具有强度大、韧性大和易于加工等特点。高层建筑使用钢结构与钢筋混凝土结构相比,具有断面小、自重轻和抗震性能良好等优势。尤其钢结构的构件可以在工厂加工完成后运到施工现场装配,将工期大大缩短。使用钢材作为高层建筑的材料也有很大的缺点,用钢量过大,使工程造价提高,并且钢结构并不具备良好的耐火性,需要额外增加大量的防火涂料,耐腐蚀性差,耐久性差等,这就使工程的工程造价增加很多。通过以上分析可以看出,钢筋结构与钢筋混凝土结构各有不同的优点和缺点,所以,比较理想的高层建筑结构形式就是将钢结构与钢筋混凝土结构进行有效的组合使用,通过优势与劣势的互补,使高层建筑取得最佳的经济效益和质量。

目前我国高层建筑结构设计的特点为以下几点:

1.1 框架结构

早期的高层建筑普遍使用框架结构,梁和柱以铰接或者刚接的方式进行结构的搭建,框架结构的建筑空间有很高的灵活性,但是,由于竖向构件截面积小,不具有很高的抗震能力,所以,框架结构只能应用于抗震要求不高的小型建筑。

1.2 剪力墙结构

剪力墙结构是通过钢筋混凝土墙板实现水平和竖向力的承重。一般情况下,使用双向或者多向的布置,可以有效承受竖向荷载与相应地震方向传来的水平荷载,通过有针对性的布置剪力墙,可提高结构某个方向的抗侧力性能。而钢筋混凝土墙板需要保持竖向设置的稳定性与整体性,所以对建筑层高有相应要求。剪力墙结构受力体系需要满足一定的间距要求,这就在很大程度上限制了建筑空间的灵活性。

1.3 框剪结构

框剪结构是将框架结构与剪力墙结构组合使用的结构体系。充分发挥其各自不同的优点,两种结构形式配合使用,既能互相补充,又能弥补各自的不足。克服框架结构缺乏较强抗震性和剪力墙结构缺乏灵活性的缺点,是我国高层建筑普遍应用的结构形式。

1.4 筒体结构

筒体结构有框筒或筒中筒等,竖向筒体承受大部分水平和竖向的荷载。筒体结构是从框架结构与剪力墙结构发展起来的,一般内筒体具有封闭性,可以使受力能力大大提高,受力更加明确,实现高层建筑高度的增加。

2.高层建筑结构设计要点总结

2.1选用适当的计算假定

计算假定是进行结构计算的重要基础,为确保结构安全必须要制定合理的计算简图,一旦假定选用不科学,那么必然会导致结构设计不经济的现象出现,严重时甚至会导致安全事故的发生。除此之外,计算假定还应该要同构造措施相适应,尽量使实际构造形式满足计算结果。

2.2选择合适的基础方案

在结构基础设计中会受到各方面因素的影响,如工程地质条件、结构形式、荷载分布、施工条件等都会对结构基础设计造成影响。因此在结构基础的设计时必须要对各方面因素进行综合考虑,充分发挥出地基承载力优势,确保基础方案的经济合理性。就一般建筑物而言,结构基础设计主要是承载力控制,而对于高层建筑,尚应根据变形验算、稳定性验算和抗浮等指标进行控制。其次,在基础设计上要严格按照地质勘探报告的要求,结合实地考察,充分考虑地基中各类不利因素进行基础设计,情况较为特殊时还可要求进行补充勘查。一般情况下对于同一结构单元不应采用多种基础形式。

2.3 结构的超高问题

超高层建筑结构设计规范、抗震规范当中对结构总高度给出了限制,尤其是近年来修订的新规范标准在超高问题上,将限定高度分为了A级和B级两种,A、B二级高度不论是在结构设计方法还是在处理措施上都存在较大差异。但实际工程发现,在设计工作当中很多设计师并没有重视此类问题,导致设计缺陷,从而严重影响建筑质量、施工进度及建筑物的整体规划,付出了巨大代价。

2.4 短肢剪力墙的设置问题

钢筋混凝土结构设计规范当中明确提出:“短肢剪力墙墙肢界面高厚比为5:8”,同时根据大量的试验与数据分析结果,短肢剪力墙的抗震性能较低,在高层建筑设计中应尽量避免短肢剪力墙的设置。避免设计给后续工作带来不必要的问题。

2.5 高层建筑平面以及立面的规则性

在进行建筑结构的设计中,应该保证建筑平面和立面的规则性。在建筑抗震设计中,使结构的刚度中心与质量中心相重合,以达到建筑平面与立面规则、简洁的效果,避免在地震中建筑结构发生的扭转破坏。在建筑物设计前,尚应按国家或地方规定要求,对建筑物平面和竖向规则性进行判定,规避异形或不规则平面;对于建筑的立面设计,要避免有突变的阶梯立面出现,降低建筑的重心,避免在地震中出现鞭梢效应。建筑物的高度与地震造成的损害呈现正比关系,所以,在高层建筑设计过程中应根据层数和高度做相应的加强措施。在保证建筑平面与立面的平整要求后,还应该考虑建筑设计的外观造型上美观、大方。这样既能达到抗震效果,又能符合建筑的使用条件。

2.6 建筑结构应合理的选择和布置

在建筑结构的选型上要根据许多综合因素考虑,这些因素包括建筑的高度、建筑用途、设防烈度、地基基础、市场材料、施工因素、环境场地等,还要对经济技术和经济条件进行比选后确定建筑选型。对于建筑结构的布置方面,应该遵循“平面对称、竖面均匀”的原则。还应该注意的是,纯框架高层建筑中,要考虑楼梯提供的刚度,避免考虑不周。

2.7 保障建筑结构的整体性

只有保证建筑结构的整体性,在发生地震时建筑结构的各个部件才能相互协同工作,使建筑结构的抗震效果更加显著。建筑结构的抗震性能是由结构整体刚度以及整体的稳定性决定的,在高层建筑设计中使用钢结构、型钢混凝土结构或现浇钢筋混凝土结构,可以实现结构的整体稳定性,这几种结构形式具有整体性好、水平刚度大等优点,使用这几种结构可有效降低震害,保证人民生产生活安全。

3. 结语

近年来我国的经济建设快速发展,人民的住房需求不断提高带动着建筑开发项目的增多,建筑结构的设计也越来越复杂。目前我国的高层建筑结构设计还存在很多的不足之处,在结构设计中,要摒弃盲目追求高层建筑时尚外观的思想,保证结构的安全性和可靠性,保证建筑的整体质量,并满足人们对建筑的功能需求。

参考文献:

[1]卢晓轩.论高层建筑工程结构设计探讨[J].广东科技,2011,5(10).

[2]胡志民.高层建筑工程结构设计探析[J].科技创新导报,2012,10(12).

[3]白文颖.高层建筑结构优化设计综合评价指标体系的研究[J].基建优化,2011,27(4):84~86.

[4]吴彩霞.高层建筑工程结构设计问题分析[J].中华民居,2012(6):880-881.

作者:刘康杰

第2篇:钢结构厂房施工问题处理及质量管理的总结

摘要:钢结构厂房的应用越来越普遍,在施工时,经常会遇到各种质量问题,对这些质量问题进行产生的原因及其防治措施的总结和探讨,找出预防问题出现,解决问题的方法。

关键词:钢结构厂房 质量问题 原因 处理措施

钢结构作为一种承重结构体系,其自重轻、高强度、优越的抗震性能、工业装配化程度高、建造时间短、耐用、节能、可回收利用等众多优点,深受建筑师和结构工程师的青睐。到目前为止,许多经典的钢结构建筑物不胜枚举。这些高难度的作品足以说明钢结构的发展取得了巨大的成就。与此同时,各种类型的钢结构事故造成了重大的经济损失和人员伤亡,教训惨痛。事故仍在不断发生,原因有很多,也很复杂,既有自然灾害引起的,也有施工不当导致的,还有由于施工人员的技术水平造成的。本文结合工作经验,对钢结构质量通病原因分析及防治措施进行分析和探讨。

1 钢材本身存在的问题

把质量关,应从源头抓起,钢材材料的质量很关键。作为设计人员,应根据材料的性能,建筑物的实际情况,选取合适的材料。所选钢材的材质等级和技术标准应符合工程设计要求。同时,材料入库前必须严格执行检验制度,钢材的堆放要尽量减少钢材的变形和锈蚀。

钢材的表面质量问题主要有结疤、表面裂纹及皮下气泡等;低倍缺陷主要有缩孔、疏松、偏析、气泡、夹杂和夹渣、翻皮、裂纹、白点等。另一方面,目前市场上许多假冒伪劣的钢材存在,我们要了解这些问题,在采购钢材时就能严把质量关。

2 钢结构构件的制作

钢结构构件加工之前,首先需要对设计图进行深化,生成钢结构工厂加工详图。在制作开始前,技术人员应该对详图进行复查,根据设计要求编制工厂加工方案并组织工程相关各部门进行技术交底。根据项目要求,编制焊接工艺评定报告,并通过试验完成焊接工艺评定报告填写。同时,物资管理人员应该按照图纸及设计要求,向物资采购部门提交材料采购预算。钢结构工厂加工的生产流程主要有下料、号料、切割下料、平直矫正、边缘及端部加工、滚圆、煨弯、制孔、钢结构组装、焊接、摩擦面处理、涂装。

下料工序属于构件制作之前的龙头,其质量的好坏对下道工序有着直接的影响,严重时会导致下料的零部件全部的报废,所以在下料之前必须加强过程的质量监控。下料尺寸应该严格按照图纸尺寸,对于异形的零件,尽可能采用数控切割机或者等离子切割机进行下料,确保下料尺寸的精度。制孔精度也要严格把控,在条件允许的情况下,尽量采用数控钻床制孔。对于连接板上的成排布置的孔洞尽可能做到与构件组合套钻,确保现场安装的穿孔率。该工序的产生的质量问题主要表现在:氧割(气割)、等离子切割等高温高热的工艺过程中不可避免的会产生长条和薄板类型的零部件在切割中变形较大;钢材本身存在夹渣和成份分布不均匀造成切割面出现马牙纹、节瘤、割痕深度超标准;未考虑后续工序的收缩变形,气割或锯切的零部件尺寸超标;工艺文件编制的失误造成批量零部件报废;下料切割的尺寸不符合标准的要求。

3 钢结构构件的连接

3.1 螺栓连接

3.1.1 普通连接 普通螺栓作为永久连接螺栓时应注意:螺栓头和螺母应和结构件的表面及垫圈密贴,下面放置一个平垫圈,以增大承压面;对于动荷载或者重要部位的螺栓连接应按设计要求放置弹簧垫圈,弹簧垫圈必须设置在螺母一侧;对于工字钢和槽钢翼缘之类上倾斜面的螺栓连接,应放置斜垫圈垫平,使螺母和螺栓的头部支撑面垂直于螺杆。永久性普通螺栓紧固质量,可采用锤击法检查。

3.1.2 高强度螺栓 高强螺栓施工中应注意:严禁用火焰或电焊切割高强度螺栓梅花头;高强螺栓入库应按规格分类存放,并防雨、防潮。遇有螺栓、螺母不配套,螺纹有损伤时,不得使用。螺栓、螺母或垫圈有锈蚀,应抽样检查紧固轴力,满足要求后方可使用。螺栓等不得被泥土、油污沾污,保持洁净、干燥的状态。必须按批号,同批内配套使用,不得混放、混用。螺栓拧紧后,外露2~3扣螺纹的余长。遇到现场穿孔有问题时,不得用火焰切割扩孔,应用铰刀或钻床扩孔,扩孔后应重新清理孔周围毛刺。并保证扩孔后,孔径不能超过螺栓直径的1.2倍,遇有漏钻孔的情况时,应采用机械补钻。

3.2 焊接 焊接是一种局部加热的工艺过程。被焊构件将不可避免地产生焊接残余应力和变形,这些变形将会给构件的受力性能造成一定影响。对于重要承重构件,如果处理不好残余应力影响,将会给结构造安全成严重的潜在危害。

焊缝缺陷通常有裂纹、孔穴、固体夹杂、未熔合、未焊透、形状缺陷等。产生裂纹的处理方法是在裂纹两端钻止裂孔或铲除裂纹处的焊缝金属,进行补焊。孔穴通常分为气孔和弧坑缩孔两种。气孔的处理方法是铲去气孔处的焊缝金属,然后补焊;弧坑缩孔的处理方法是在弧坑处补焊。固体夹杂有夹渣和夹钨两种。夹渣的处理方法是铲除夹渣处的焊缝金属,然后补焊;夹钨的处理方法是挖去夹钨处缺陷金属,重新补焊。未熔合的处理方法是铲除未熔合处的焊缝金属后补焊。未焊透的处理方法是对敞开性好的结构单面未焊透,可在焊缝背面直接补焊,对于不能直接补焊的重要焊件,应铲去未焊透的焊缝金属,重新补焊。产生咬边的处理方法是轻微的、浅的咬边可用机械方法修锉,使其平滑过渡;严重的、深的咬边应进行焊补等。

4 钢结构涂装

该工序的质量问题主要有构件表面的漆膜大面积或者局部脱落,产生流挂现象,漆膜的厚度不够、分布不均、颜色色差较大。

在涂装过程中要严格按照施工工艺的要求做,涂料品种、涂层层数,涂层厚度等均应满足设计要求,当设计对涂层厚度无要求时,应符合规范要求。特别是防火涂料,涂层厚度非常关键。防火涂料和防腐入料的涂装油漆工属于特殊工种,操作者必须有特殊工种上岗证。防火涂料和防腐涂料要有相容性。

5 钢结构构件的变形问题

5.1 构件在运输时发生变形,出现死弯或缓弯 为了防止这类问题的发生,应有一些预防措施。构件制作过程中,尽量采用减少焊接变形的措施,控制构件组装和焊接过程的形变量,保证构件制作精度符合规范和设计要求。运输之前,应对构件妥善打包,应根据构件的受力特点采用合适的胎架胎具,在保证包装安全的同时尽可能使构件的受力合理,在装运过程中要在构件之间垫以木方或橡胶垫板等,以免在包装运输过程中造成额外的变形和挠度,保证构件成品质量。用千斤顶或其他工具矫正或辅以氧乙炔火焰烤后矫正死弯变形;采取氧乙炔火焰加热矫正缓弯变形。

5.2 钢梁构件扭曲超公差 构件拼装前,应先搭设水平平台,并用水准仪超平。组装应在平台上进行,焊接时要保证构件与平台贴合,防止局部翘曲。对于长焊缝,尽量采用从中间向两边对称施焊。对于刚性较差的构件,在焊接和翻身时,要进行临时加固,确保焊接成形质量。

5.3 构件起拱量的控制 这里主要是解决公差允许范围的起拱。在安装之前,对成品构件,严格按照规范和设计要求进行外观尺寸检查。在现场架设安装完成后,应校核安装整体精度满足规范要求。对于不符合规范的变形和挠度,应及时矫正,严格控制偏差的累积。

6 钢结构安装问题

钢结构安装工程施工时,一次性将柱子安装并校正后再安装柱间支撑、吊车梁等,此种方法尤其适合移动较方便的履带式起重机;对于采用汽车式起重机时,考虑到移动不方便,可以以2-3个轴线为一个单元进行节间构件安装。

对于屋盖系统安装通常采用“节间综合法”吊装,即吊车一次安装完一个节间的全部屋盖构件后,再安装下一个节间的屋盖构件。

柱子安装时为避免出现整体或布局偏移、标高有误、丝扣未采取保护措施、框架柱柱脚底板水平度差、锚栓不垂直、基础施工后预埋锚栓水平误差偏大等问题,应在钢柱吊装回直后,慢慢的插进地脚锚固螺栓找正平面位置。进过平面位置校正,垂直度初较、柱顶四面拉上临时揽风钢丝绳,地脚锚固螺栓临时固定后,起重机方可脱钩。再次对钢柱进行复核,具体可优先采用揽风绳校正;对于不便采用揽风绳校正的钢柱,可采用调撑杆或千斤顶校正。在复校的同时柱脚底板与基础间间隙垫紧垫铁,复校后拧紧锚固螺栓,并将垫铁点焊固定,并拆除揽风绳。

钢屋架侧向刚度较差,安装前需进行吊装稳定性验算,稳定性不足时应进行吊装临时加固,通常在钢屋架上下弦处绑扎杉木杆加固。如果吊装机械性能允许,屋面系统结构可采用扩大拼装后进行组合吊装,即在地面上将两榀屋架及其上的天窗架、檩条、支撑等拼装成整体后一次吊装。

7 总结

以上主要是讲到钢结构在制作安装的过程中会出现的问题及施工要点,钢结构在使用阶段也会出现各种问题影响到厂房的使用功能和耐久性。面对各种问题,我们要总结经验教训,做好施工前的准备工作,加强岗前培训,让技术人员、工人学习规范标准和操作规程,注重施工过程中的管理,严格进行质量控制和监督检查,做好各工序检查验收,才能保证钢结构工程的整体质量。

参考文献:

[1]王新仕.钢结构在厂房建设中的应用与施工[J].沿海企业与科技.2008(12).

[2]唐建林.浅谈现场监理对钢结构的质量控制[J].四川建材. 2008(06).

[3]肖红莲.浅谈钢结构在土木工程中的应用[J].科技资讯.2012(03).

作者简介:

马甜伟(1985-),男,浙江东阳人,助工,学士学位,研究方向为建筑施工。

作者:马甜伟

第3篇:《服装结构制图》教学经验总结

潮阳职业技术学校郑少薇

《服装结构制图》课是服装专业学生最重要的理论基础课之一,是与生产实际密切联系的基础学科。由于学生刚接触服装专业课程便学此门课程,无实践经验,因此学生普遍感觉学习难度大,有时上课听得懂,可让实际裁剪出来却很难。针对上述情况,如何提高这门重要课程的教学效果,使其真正为实际应用和后继课程的学习打好基础,就成了该课教学中的一个突出问题。

一、提高教学效果的几种方法

1.多媒体教学并联合实物教学

在整个课程中,结构图中的点、线是基础,如何让学生在脑海中把平面图上的点、线和成品衣服联系起来不是一件容易的事,更不用说让她们根据结构图来裁衣服了。要解决这个问题,建议使用多媒体教学,除按常规教学方式使用挂图、投影外,我们还应该引导学生先熟悉各个点、线的名称,然后让她们观察自己或同学身上的衣服,看能否把制图上的点、线和衣服上的对应起来。这时候就需要我们来启发、引导学生,鼓励她们大胆地提出自己的想法,让她们讨论。这种形象直观的教学方式,比较能吸引学生的注意力,激发学生的学习兴趣和热情,学习效果也能有所提高。

2.增加实训课程

现实生活中经常可以发现,文化水平并不高的老师傅却能熟练地看懂你画的结构图,有实际工作经验的工人学起服装结构制图来也很快。这就说明:对学习服装制图来说,理论基础不是决定性因素,但兴趣和实际应用经验却是不可忽视的有利因素。所以在理论教学中,必须注意将枯燥的理论与实际应用联系起来,利用生活中的经验,挖掘学生潜力,调动其学习理论的兴趣。并且鼓励学生多做实际操作,增强动手能力,在实践中发现问题解决问题。

如将制好的结构图裁制成衣片的过程,就是理论联系实际的过程。又如在讲上衣中袖肥与袖山的关系时,袖山高,袖肥小;反之,袖山低,袖肥大。这时,我们就需要启发学生回忆一下在生活中看到的一些衣服,并拿出一件合体的女式西服和一件宽松的男式衬衣,让学生自己仔细观察这两件衣服的袖窿有什么样的

区别,它们的袖山和袖肥分别是什么样的关系,让学生自己得出结论。实践证明,采用这种结合实际例子在实践中学习的教学方式,学生记得牢,学得快,教学效果好。

3.突出基础、重点内容

教学必须有步骤、有计划地进行,上课前认真备课,找出重点、难点,使每堂课都有明确、合适的目的。在考虑系统性的基础上,应特别注意针对具体内容,精选重点、基本点,在精讲中“教”,在精练中“扶”,使学生在熟练掌握基本理论、基本技能的基础上,能以点带面,举一反三,逐步扩展到更深、更广的内容。如:结构制图中的第一件上装──女式衬衫,学生要通过它来了解上装中的基本点和线。如果这个基础打不好,不能熟练地掌握女衬衣的结构图,则以它为基础的后继内容的完成就不会有好的效果,教学效率自然就很低,学生学不懂,必然会逐渐失去学习的兴趣,学习质量就更无从谈起了。只有让学生掌握好了这部分内容,不光为后继内容打好基础,而且能在此上装的基础上,让学生举一反三,创新设计。

4.搞好归纳总结

在完成大面积的独立练习后,我们要对正确的制图方法及时归纳、总结,培养学生独立思考,应用新方法去解决制图中出现的问题的能力。当然,归纳、总结方法很多,但最终的关键是要掌握、巩固本课所要求的内容。同时,要适当布置课后作业,通过有计划、有目的、有针对性的制图训练作业,可以达到进一步提高制图能力的目的。

以上是本人在《服装结构制图》课程教学中的体会,希望之后通过上述措施的实行,可以使学生对制图课的学习兴趣明显增加,对后继专业课的学习起到了重要的促进作用。在课程学习过程中,由于教学工具和设备的缺乏而产生的不足,我们会持续改进,逐渐准备好需要的教学工具,课件以及实物。当然最好还是与工艺课程相结合,学生可以多些实际操作,更深一层的了解服装和制作服装,提高专业技能。

2011/10/14

第4篇:ACCESS数据库教学工作总结

转眼又到学期末啦,回顾本学期的教学工作,按照教学计划的要求,已经如期地完成了教学任务。

本人在教育教学上,爱岗敬业,严谨治教,热爱学生,努力做到把学生教好,让学生成功成才。计算机教学工作,不仅仅是让学生学会几种操作,更重要的是要提高学生的信息素养。能真正做到为人师表、教书育人,较好的完成教育教学工作任务,尽到一个优秀教师应有的职责。因此我在教育教学方面注意了以下几个问题,现总结如下:

一、思想方面

在这一个学年里,思想上严于律己,热爱党的教育事业。服从学校的工作安排,配合学科组长、班主任们做好各项工作。热爱本职工作,加强自我修养,做到学高为师,身正为范,热爱学生,真诚对待学生,受到学生的一致好评。

二、计算机教学工作方面

(一)备课

开学初,根据学校要求,认真写好教学计划,提前备好课,写好教案,平时做到周前备课。备课时认真钻研教材教法。比如学期初时,由于数据库书迟迟没到,我担心学生闹情绪,就先从网上查一些关于数据库方面的知识,然后给学生讲授,在备课方面我力求吃透教材,找准重点、难点,克服教学中的随意性。在积极参加集体备课的基础上认真备课,备课分三个方面:一是备教材:钻研教材、搜集有关资料及新科技等前沿信息,对教材系统、重点和难点内容,做到心中有数。二是备学生:大部分学生有一定的自觉性,能完成老师布置的学习任务。我就根据学生不同的层次来进行教学活动。这样有利于教学活动地开展。三是备教法:选择适当的教学方法、手段和现代教学媒体,提倡使用现代教学手段。同时为了上好每一节课,通过上网查资料,集中别人的优点确定自己的教学思路。

(二)上课

上好课的前提是做好课前准备,不打无准备之仗,尤其本学科主要课程都要上机完成,每节课都要认真做好上机准备,检查机器状态,有无“不可用机器”。上课时认真讲课,教学目的明确,符合学生实际,特别是本学科由于学生刚接触数据库,都不太熟悉,所以上机上要求多练、多问。每一节课我一般是先

1 讲例题,然后让学生去练习。目的是使知识掌握的更牢固,上机课时力求抓住重点,突破难点,做到条理清楚、难度适宜、密度合理,保证授课内容的科学性和思想性,精讲精练,不出现知识性错误。运用多种教学方法,注重讲思路、讲规律、讲方法、学法,力求生动活泼,充分调动学生学习兴趣。正确引导学生看待和使用网上信息,培养学生良好的信息素养。注意课堂管理,上课期间要求学生严格按照老师给定的任务进行操作,同时又注意因材施教,在学生完成上机任务时,到各台计算机前巡视,注意对差生进行手把手的辅导。课后及时做好课后反思,不断总结经验,向课堂40分钟要质量。

通过一学期努力,能制定好复习计划,并能认真备好复习课。但由于本学期授课时间有阶段性,专业知识内容较多,复习比较仓促,同时发觉很大一部分学生接受能力较差,学习自觉性不高。加上本人第一次从事计算机教学工作,没有太多的教学经验,致使本学期教学成绩未达所想。在以后的教学工作中,要不断总结经验,力求提高自己的教学水平,还要多下功夫加强对个别差生的辅导,相信一切问题都会迎刃而解,我也相信有耕耘总会有收获。

2

第5篇:数据结构教学大纲

《数据结构与算法》教学大纲

课程编号:030816 适用专业:教育技术学 总学时数:64

学 分:4 编制单位:茂名学院理学院教育与信息技术系 编制时间:2008年6月20日

一、课程地位、性质和任务

《数据结构与算法》课程是计算机相关学科专业的基础课程中的一门重要的核心课程。通过本课程的教学,使学生知道求解非数值类问题的基本模型(表、树、图),模型的特点和适用场合,能够根据问题设计和选择好的算法,为学习后续的操作系统、编译原理和软件工程等专业课程,设计应用程序打下基础。

本课程以提高学生的计算机应用能力和综合素质为目标,通过课程教学,为学生构建数据结构与算法方面的知识体系,使学生一方面能够根据问题选择合适的数据结构,设计高效的算法,提高程序设计能力,另一方面,在工程应用中,具有甄别好算法的能力,也就是要从建模、解模和综合等三个方面,提高学生的程序设计能力。

二、与其他课程的关系

先修课:程序设计基础、离散数学、计算机组成原理、计算机文化基础

三、教学内容、课时安排和基本要求

(一)教学部分 第1章 绪论(2学时) 1.1什么是数据结构 1.2 基本概念和术语

1.3 抽象数据类型的表示与实现

1.4 算法和算法分析(算法及其设计的要求, 算法效率的度量,算法的存储空间需求) 1.5 问题求解

基本要求:

了解:抽象数据类型,算法设计方法与算法分析。

掌握:数据与数据结构、算法的基本概念;问题求解的方法与步骤 重点:数据结构和算法的概念,算法的描述形式和评价方法,问题求解的一般步骤

1 难点:评价算法的标准和评价方法,最坏情况和平均情况的区分。

第2章 线性表(8学时) 2.1 线性表的类型定义 2.2 线性表的顺序表示和实现

2.3 线性表的链式表示和实现(线性链表,循环链表,双向链表) 2.4 一元多项式的表示及相加

基本要求:

了解:两种存储结构(顺序存储结构和链式存储结构)及一元多项式的表示及相加。

掌握:要求熟练掌握处理线性表的各种算法。为后继章节的学习打基础。 重点:各种算法。 难点:链表的理解。

第3章 栈与队列(4学时)

3.1 栈(定义,栈的表示和实现)

3.2 栈的应用举例(数制转换,括号匹配的检验,行编辑程序,迷宫求解,表达式求值)

3.3 栈与递归的实现

3.4 队列及其实现(定义,链队列,循环队列) 3.5 *离散事件模拟

教学要求:熟练掌握栈和队列的特性和在不同存储结构前提下的算法实现。栈和队列是表最基本和重要的数据结构,是数据结构课程的基础。

基本要求:

了解: 栈和队列的定义及其实现。

掌握: 熟练掌握栈和队列的特性和在不同存储结构前提下的算法实现。 重点: 栈和队列的算法实现。 难点: 栈和队列的算法实现。

第4章 串(2学时) 4.1 串类型的定义

4.2 串的表示和实现(定长顺序存储,堆分配存储,串的块链存储) 4.3 串的模式匹配算法(求子串位置的定位函数,模式匹配的一种改进算法) 4.4 串操作应用举例(文本编辑,建立词索引表)

2 基本要求:

了解:串的基本概念及主要操作和运算。 掌握:掌握串的基本概念和运算。 重点:主要操作和运算。 难点:模式匹配及串的应用。

第5章 数组(2学时) 5.1 数组的定义

5.2 数组的顺序表示和实现

5.3 矩阵的压缩存储(特殊矩阵,稀疏矩阵) 5.4 广义表的定义 5.5 广义表的存储结构 5.6 m元多项式的表示

5.7 广义表的递归算法(求广义表的深度,复制广义表,建立广义表的存储结构)

基本要求:

了解:了解作为抽象数据类型的数组和C语言的数组。认识到数组可以作为顺序存储结构用于顺序表、字符串和稀疏矩阵的实现。也可以采用链式存储结构。

掌握:掌握基本概念和算法。 重点:算法。

难点:广义表的递归算法。

第6章 树与二叉树(15学时) 6.1 树的定义和基本术语

6.2 二叉树(二叉树的定义,二叉树的性质,二叉树的存储结构) 6.3 遍历二叉树和线索二叉树(遍历二叉树,线索二叉树)

6.4 树和森林(树的存储结构,森林与二叉树的转换,树和森林的遍历) 6.5 树与等价问题

6.6 赫夫曼树及其应用(最优二叉树(赫夫曼树),赫夫曼编码) 6.7 回溯法与树的遍历 6.8 树的计数

基本要求:

3 了解:理解树与森林的定义与术语。

掌握:熟练掌握二叉树性质和遍历算法,掌握树与森林的孩子兄弟存储表示和遍历。掌握哈夫曼树构造的方法和算法。 重点: 树的存储结构和遍历算法。 难点:哈夫曼树构造的方法和算法

第7章 图(11学时) 7.1 图的定义和术语

7.2 图的存储结构(数组表示法,邻接表,十字链表,邻接多重表) 7.3 图的遍历(深度优先搜索,广度优先搜索)

7.4 图的连通性问题(无向图的连通分量和生成树,有向图的强连通分量,最小生成树,关节点和重连通分量)

7.5 有向无环图及其应用(拓扑排序,关键路径)

7.6 最短路径(从某个源点到其余各项点的最短路径,每一对顶点之间的最短路径) 基本要求:

了解:图的基本概念和相关术语。

掌握:图的两种主要存储结构及遍历算法。掌握最小生成树、最短路径和活动网算法的思想。

重点:图的两种主要存储结构及遍历算法。 难点:图的遍历算法,最短路径算法。

第8章 查找(8学时)

9.1 静态查找表(顺序表,有序表,静态树表,索引顺序表) 9.2 动态查找表(二叉排序树和平衡二叉树,B_树和B+树,键树) 9.3 哈希表(定义,构造方法,处理冲突的方法,查找及其分析)

基本要求:

了解: 各种查找法的基本概念及实现的基本思想。

掌握:熟练掌握搜索结构的折半查找、二叉搜索树、平衡二叉树主要搜索算法。掌握哈希表查找算法。 重点:各种算法的基本思想及实现。 难点:哈希表查找算法。

4 第9章 内部排序(8学时) 10.1 概述

10.2 插入排序(直接插入,其他插入,希尔) 10.3 交换排序(冒泡排序、快速排序) 10.4 选择排序(简单,树形,堆) 10.5 归并排序

10.6 基数排序(多关键字,链式) 10.7 排序算法分析

基本要求:

了解:基数排序,排序算法分析方法

掌握:排序的基本概念,插入排序,交换排序,选择排序,归并排序重点:内部排序算法

难点:基数排序(多关键字,链式)

第10章 *外部排序(2学时) 11.1 外存信息的存取 11.2 外部排序的方法 11.3 多路平衡归并的实现 11.4 置换-选择排序 11.5 最佳归并树

基本要求:

了解:外部排序的基本概念和相关术语。

掌握:基本掌握外排算法的基本思想,不同排序方法的比较。 重点:外部排序算法 难点:多路平衡归并的实现 第11章 算法设计的一般方法(2学时)

1.重点

(1)有效算法的概念,问题固有难度的概念;

(2)递归法;分治法;平衡原则;贪心法;动态规划的基本原理; (3)搜索-回溯法的基本原理和本质. 2.难点

(1)问题固有难度的概念;

(2)递归分治法的效率分析(写出时间耗费的递推式,并求解); (3)动态规划法中的状态转移方程的确定。

(二)实验、实习部分

课程安排五个类别的实验,实验时数为12课时,其中: 实验

一、线性链表及运算 2课时 实验

二、栈和队列 2课时 实验

三、树和二叉树 4课时 实验

四、图及其应用 2课时 实验

五、查找与排序 2课时

四、课程考核方式

闭卷考试70%、平时作业与实验30%

五、建议教材和教学参考书 参考教材:

1、《数据结构》(C语言描述)高等教育出版社 耿国华主编

2、《数据结构》(C语言版) 清华大学出版社 严蔚敏,吴伟民编者

3、《数据结构题集》(C语言版)清华大学出版社 严蔚敏,吴伟民编者

4、《数据结构》算法实现及解析(第二版) 西安电子科技大学出版社 高一凡

六、说明

1、因课时安排少,教学内容多。建议采用多媒体教学。

2、由于本课程内容较多,在实际教学中可根据大纲内容,进行适当调整。

第6篇:数据结构课程教学大纲

一、

课程基本概况

课程名称:数据结构

课程名称(英文): Data Structures

课程编号:B09042

课程总学时:60(其中,讲课48,实验12)

课程学分:3

课程分类:专业选修课

开设学期:4

适用专业:计算机网络工程本科

先修课程:集合论,图论,高级语言(结构或记录,指针)

后续课程:数据库,编译原理,操作系统等

二、课程的性质、目的和任务

数据结构是计算机专业的一门核心专业课程,是软件课程中非常重要的一门课程,在整个专业教学中占有十分重要的地位,是一门理论性非常强的课程。通过课堂教学、课外练习和上机实习,使学生了解数据对象的特性,数据组织的基本方法,并初步具备分析和解决现实世界问题在计算机中如何表示和处理的能力以及培养良好的程序设计技能,为后续课程的学习和科研工作的参与打下良好的基础。

三、主要内容、重点及深度

本门课程共60学时,其中理论教学48学时,实验教学12学时。其中,理论教学部分:

第一章

绪论

(一)目的要求

了解数据结构的意义与发展过程、数据结构在计算机科学中的作用、学习本课程的目的、任务及要求。理解数据结构的基本概念;算法设计;掌握算法的时间和空间复杂度。

(二)教学内容 本章知识点:

1.相关的基本概念(掌握);

2.算法五大要素 (掌握);

3.计算语句频度和估算算法时间复杂度的方法(掌握)。

(三)重点与难点

重点:数据结构的定义;算法的描述方法。

难点:数据结构的定义;算法与程序的区别;时间复杂度及其计算。

第二章

线性表

(一)目的要求

掌握线性表的逻辑结构;线性表的存储结构及操作的实现;理解一元多项式的表示;

(二)教学内容 本章知识点:

1.线性表的逻辑结构(掌握);2.线性表的存储结构(掌握);

3.线性表在顺序结构和链式结构上实现基本操作的方法(掌握);

4.从时间和空间复杂度的角度比较线性表两种存储结构的不同特点及其适用场合(掌握)。

(三)重点与难点

重点:线性表的概念;线性表的顺序存储结构、链式存储结构及其常用算法。 难点:链式存储结构及其常用算法;双向循环链表。

第三章 栈和队列

(一)目的要求

掌握栈的定义,表示及实现;表达式求值;栈与递归过程;队列的定义、表示及实现。

(二)教学内容 本章知识点: 1.栈和队列的特点(掌握);

2.在两种存储结构上栈的基本操作的实现(掌握); 3.循环队列和链队列的基本运算(熟练掌握); 4.递归算法执行过程中栈状态的变化过程(掌握)。

(三)重点与难点

重点:堆栈和队列的概念;递归的定义;循环队列和链队列的基本运算。 难点:递归的编程实现;循环队列和链队列的基本运算。

第四章 串

(一)目的要求

了解串的逻辑结构,存储结构;掌握串操作的实现(重点难点BF和KMP算法) 串的应用。

(二)教学内容 本章知识点:

1.串的七种基本运算的定义(了解);

2.利用这些基本运算来实现串的其它各种运算的方法(掌握); 3.在顺序存储结构上实现串的各种操作的方法(掌握);

4.KMP算法,熟悉NEXT函数和改进NEXT函数的定义和计算(掌握); 5.串名的存储映象和在堆存储结构实现串操作的方法(理解)。

(三)重点与难点 重点:串定义和存储方法;串的操作 难点:串操作实现方法

第五章 数组和广义表

(一)目的要求

掌握数组的存储结构;稀疏矩阵的表示及操作的实现;广义表的定义和存储结构;广义表的递归算法。

(二)教学内容 本章知识点:1.数组在以行为主的存储结构中的地址计算方法(掌握); 2.矩阵实现压缩存储时的下标变换(掌握);

3.理解稀疏矩阵的两种存储方式的特点和适用范围,领会以三元组表示稀疏矩阵时进行运算采用的处理方法(掌握);

4.广义表的定义及其存储结构,学会广义表的表头,表尾分析方法(掌握); 5.学习编制广义表的递归算法(掌握)。

(三)重点与难点

重点:多维数组元素存储地址的计算;稀疏矩阵的三元组表示;广义表的存储定义、操作。 难点:稀疏矩阵的三元组表示;广义表的存储定义、操作。

第六章 树和二叉树

(一)目的要求

了解树的基本概念;理解二叉树的性质和存储结构;遍历二叉树和线索二叉树;理解树的存储结构和遍历;集合的一种表示方法;掌握哈夫曼树及其应用;

(二)教学内容 本章知识点: 1.二叉树的结构特点(理解);

2.二叉树的各种存储结构的特点及适用范围(掌握); 3.按各种次序遍历二叉树的递归和非递归算法(掌握);

4.二叉树的线索化,在中序线索树上找给定结点的前驱和后继的方法(掌握); 5.树的各种存储结构及其特点(掌握); 6.编写树的各种运算的算法(掌握);

7.建立最优二叉树和哈夫曼编码的方法(掌握)。

(三)重点与难点 重点:二叉树的概念、性质;二叉树的遍历方式;构造二叉排序树。 难点:二叉树的遍历方式;二叉排序树的构造方法;二叉树的线索化。

第七章 图

(一)目的要求

理解图的基本概念;图的存储结构;掌握图的遍历及应用{最小生成树,最短路径等};拓扑排序和关键路径。

(二)教学内容 本章知识点: 1.熟悉图的各种存储结构;

2.了解实际问题与采用何种存储结构和算法有密切联系(掌握); 3.遍历图的递归和非递归算法(掌握);

4.应用图的遍历算法求各种简单路径问题(比如,最小生成树、最短路径、拓扑排序、关键路径等)(掌握)。

(三)重点与难点

重点:图的存储结构;图的遍历 难点:图遍历的算法;

第八章

动态存储管理

(一)目的要求

了解边界标识法和伙伴系统;无用单元收集和紧缩;

(二)教学内容 本章知识点:

1.存储器分配策略和算法(了解);

2.无用单元收集时的标志算法(了解)。

(三)重点与难点

存储器分配策略和算法、无用单元收集时的标志算法

第九章

查找

(一)目的要求

了解静态查找表(顺序表,有序表,索引顺序表);动态查找表(二叉排序树,平衡二叉树,B-树和B+树)的建立和查找;掌握哈希表的建立,查找及分析;

(二)教学内容 本章知识点:

1.顺序查找、折半查找和索引查找的方法、应用(掌握);

2.二叉排序树的构造方法(掌握);

3.二叉平衡树的建立方法(掌握);

4.B-树,B+树和键树的特点以及它们的建立过程(理解);

5.哈希表的构造方法(掌握);

6.按定义计算各种查找方法在等概率情况下查找成功时和失败时的平均查找长度;

7.哈希表在查找不成功时的平均查找长度的计算方法(掌握)。

(三)重点与难点

重点:二叉排序树的构造方法、二叉平衡树的建立方法;哈希表的构造、应用;

难点:二叉排序树的构造及应用;哈希表的构造方法;查找的平均长度。

第十章

内部排序

(一)目的要求

掌握插入排序、交换排序(起泡排序,快速排序)、选择排序(简单选择,树形选择,堆)、归并排序、基数排序等算法。

(二)教学内容 本章知识点:

1.各种排序方法的特点并能灵活应用(掌握); 2.各种方法的排序过程(掌握);

3.各种排序方法的时间复杂度分析(掌握)。

(三)重点与难点

重点:各种排序方法的特点及其应用;实现排序的各种算法。 难点:各种排序算法的时间复杂度分析。

十一章

外部排序

(一)目的要求

理解外部排序的基本方法;掌握败者树和多路平衡归并的实现;置换--选择排序;最佳归并树。

(二)教学内容 本章知识点:

1.外部排序的两个过程(理解);

2.外排过程中所需进行外存读/写次数的计算方法(掌握);

3.败者树的建立过程(掌握);

4.实现多路归并的算法(掌握);

5.置换-选择排序的过程(掌握);

6.最佳归并树的构造方法(熟悉);

7.按最佳归并树的归并方案进行平衡归并时,外存读/写次数的计算方法(掌握)。

(三)重点与难点

重点:外部排序过程和实现方法;多路并归算法及其实现; 难点:最佳并归树的构造方法及其应用。

实践教学部分:上机实验分4个专题,每个专题可提供2~4个难度不等的题目供选。

实验一

停车场管理系统

(一)实验内容 以栈模拟车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。栈以顺序结构实现,队列以链表结构实现。

(二)实验过程 编程实现实验内容。

(三)实验教学基本要求

通过实例,使学生掌握栈和队列两种特殊的线性结构,掌握栈和队列的特点。 实验后学生提交实验报告。

(四)实验设备和材料 计算机。

(五)实验学时 4学时

实验二

教学计划编制问题

(一)实验内容

假设任何专业都有固定的学习年限,每学年含两学期,每学期的时间长度和学分上限值均相等。每个专业开设的课程都是确定的,而且课程在开设时间的安排必须满足先修关系。每门课程有哪些先修课程是确定的,可以有任意多门,也可以没有。每门课恰好占一个学期。编制一个教学计划程序。

(二)实验过程编程实现实验内容。

(三)实验教学基本要求

通过实例,使学生熟悉图的各种存储结构的特性,掌握如何应用图结构解决具体问题。 实验后学生提交实验报告。

(四)实验设备和材料 计算机。

(五)实验学时 2学时

实验三

最小生成树问题

(一)实验内容

利用克鲁斯卡尔算法求最小生成树。以文本形式输出树中各条边以及他们的权值。

(二)实验过程 编程实现实验内容

(三)实验教学基本要求

通过实例,使学生熟悉图的各种存储结构的特性,掌握如何应用图结构解决具体问题。 实验后学生提交实验报告。

(四)实验设备和材料 计算机。

(五)实验学时 2学时

实验四

哈希表设计

(一)实验内容

假设人名为中国人的汉语拼音形式。待填入哈希表的人名共有30个,取平均查找长度的上限为2。哈希函数用除留余数法构造,用伪随机探测再散列法处理冲突。

(二)实验过程 编程实现实验内容

(三)实验教学基本要求 掌握索引技术的使用。

(四)实验设备和材料 计算机

(五)实验学时 4学时

五、课程教学的基本要求和主要环节

本课程可采用课堂讲授、课堂讨论、习题课等进行课堂教学;条件允许可采用CAI、电子教案、幻灯片、参观等进行辅助教学;每章布置3~6道习题以巩固教学; 在课程后半程,安排3~4个上机实验,让学生应用数据结构的理论、方法,分组设计几个较大的软件,使理论与实际相结合。

考试采用闭卷方式。总成绩由平时成绩和考试成绩组成。平时成绩占30%,考试成绩占70%。

六、本课程与其它课程的联系与分工

先修课包括:集合论,图论,高级语言(结构或记录,指针);

后续课包括:数据库,编译原理,操作系统等。

七、建议教材与参考教材

《数据结构》(C语言版)

严蔚敏等

清华大学出版社

1997 《数据结构题集》

严蔚敏等

清华大学出版社

1999

《数据结构习题与解析》

李春葆

清华大学出版社

2004

八、负责人

撰稿人:刘景汇、李玉香

审稿人:

系(院)领导:

第7篇:《数据结构》课程教学大纲

Data Structure 执笔人:

编写日期:

一、课程基本信息

1. 课程编号:

2. 课程性质/类别: 必修课 / 专业主干课

3. 学时/学分: 48 学时(另实验16学时) / 4 学分

4. 适用专业:计算机科学与技术、软件工程、网络工程、信息管理与信息系统等专业

二、课程教学目标及学生应达到的能力

数据结构课程是计算机相关专业的专业基础课、必修课程,主要介绍用计算机解决一系列问题特别是非数值信息处理问题时所用的各种组织数据的方法、存储数据结构的方法以及在各种结构上执行操作的算法。通过本课程的学习,要求学生掌握各种数据结构的特点、存储表示、运算方法以及在计算机科学中最基本的应用,培养、训练学生选用合适的数据结构和编写质量高、风格好的应用程序的能力,培养学生分析问题、解决问题的能力,并为后续课程的学习打下良好的理论基础和实践基础。

三、课程教学内容与基本要求

(一)绪论( 3 学时) 1.主要内容:

(1)介绍什么是数据结构;

(2)基本概念和术语: 数据、数据元素、数据对象,以及数据结构的定义、逻辑结构、物理结构(理解)数据类型、抽象数据类型;

(3)抽象数据类型的表示与实现;

(4)算法和算法分析: 算法的概念、算法设计的要求以及算法效率的度量。 2.基本要求

(1)了解学习数据结构的重要性;

(2)掌握数据结构的定义及相关概念和术语; (3)了解抽象数据类型的定义、表示与实现方法; (4)理解算法的概念、特点并掌握度量其效率的基本方法。 3.自学内容:

类C语言的书写规范。

(二)线性表( 6 学时) 1.主要内容:

(1)线性表的抽象数据类型定义和相关概念:数据项、记录、文件等; (2)线性表顺序存储表示和基本操作的实现; (3)线性表的链式存储表示和基本操作的实现;

(4)稀疏多项式的抽象数据类型定义、表示和加法的实现。 2.基本要求

(1)掌握线性表的定义和特点;

(2)熟练掌握线性表的顺序存储表示和插入、删除、查找等实现算法;

(3)熟练掌握单链表、循环链表、双向链表三种链表的表示,以及单链表的查找、插入、删除、创建等实现算法。

3.自学内容:

静态链表。

(三)栈和队列( 5 学时) 1.主要内容:

(1)栈和队列的结构特性和抽象数据类型定义; (2)栈和队列的顺序存储表示和实现; (3)栈和队列的链式存储表示和实现; (4)栈和队列在程序设计中的应用。 2.基本要求

(1)掌握栈和队列两种抽象数据类型的特点;

(2)掌握栈的两种存储表示和实现,特别注意栈满栈空的条件; (3)掌握队列的两种存储表示和实现,特别注意队满队空的条件; (4)了解递归算法与栈的关系。 3.自学内容:

链栈,离散事件模拟

(四)串( 3 学时) 1.主要内容:

(1)串的抽象数据类型定义;

(2)串的表示和实现: 定长顺序存储结构和堆分配存储结构; (3)串的各种基本操作的实现及其应用; (4)串的模式匹配操作。 2.基本要求

(1)熟悉串的一些基本操作的定义,并能利用基本操作实现串的其它操作; (2)掌握串的定长顺序存储结构以及基本操作的实现; (3)掌握串的堆分配存储结构以及基本操作的实现; (4)掌握串的简单模式匹配算法,理解KMP算法。 3.自学内容:

串操作的应用实例。

(五)数组和广义表( 4 学时) 1.主要内容:

(1)数组的抽象数据类型定义及其顺序表示和实现; (2)特殊矩阵和稀疏矩阵的压缩存储; (3)广义表的抽象数据类型定义和存储结构。 2.基本要求

(1)了解数组的两种存储表示方法,并掌握数组在以行为主的存储结构中的地址计算方法; (2)掌握对特殊矩阵进行压缩存储时的下标变换公式;

(3)熟悉稀疏矩阵的三元组顺序表存储结构下的一般转置和快速转置算法;了解十字链表等存储结构;

(4)掌握广义表的结构特点、取表头表尾操作,及其存储表示方法。 3.自学内容:

采用十字链表存储结构创建稀疏矩阵。

(六)树和二叉树( 10 学时) 1.主要内容:

(1)树的抽象数据类型定义和基本术语;

(2)二叉树的抽象数据类型定义、性质和存储结构; (3)二叉树的遍历;

(4)线索二叉树的定义、遍历及线索化二叉树;

(5)树的存储结构、树和森林的遍历以及与二叉树的转换; (6)Huffman树及其应用。 2.基本要求

(1)掌握树型结构的特点和基本术语;

(2)熟练掌握二叉树的性质,了解相应的证明方法;

(3)了解二叉树的顺序存储结构和链式存储结构,熟练掌握二叉链表存储结构; (4)熟练掌握二叉树三种遍历的递归算法和中序遍历非递归算法,能灵活运用遍历算法实现二叉树的其他操作;

(5)熟练掌握二叉树的线索化过程,以及在中序线索二叉树上找结点的前驱与后继的方法;

(6)熟悉树的各种存储结构及其特点,掌握树和森林与二叉树的转换方法; (7)了解Huffman树的特性,掌握建立Huffman树和Huffman编码的方法。 3.自学内容:

先序、后序遍历二叉树非递归算法,层次遍历二叉树算法。

(七)图( 9 学时) 1.主要内容: (1)图的定义和术语;

(2)图的四种存储结构:数组表示法(邻接矩阵)、邻接表、十字链表和邻接多重表; (3)图的两种遍历策略:深度优先遍历和广度优先遍历; (4)图的连通性和最小生成树;

(5)有向无环图及其应用:拓扑排序和关键路径; (6)最短路径问题。 2.基本要求

(1)熟悉图的定义和术语;

(2)了解图的存储结构,熟练掌握数组表示法(邻接矩阵)和邻接表存储表示; (3)熟练掌握图的深度优先遍历和广度优先遍历算法; (4)掌握无向连通带权图的最小生成树求解算法;

(5)了解有向无环图、AOV网、AOE网及其在实际中的应用,熟悉拓扑排序算法和关键路径算法;

(6)熟悉两种最短路径问题求解算法。 3.自学内容:

树的先根遍历算法与图的深度优先遍历算法比较;

树的层次遍历算法与图的广度优先遍历算法比较。

(八)查找( 4 学时) 1.主要内容:

(1)查找的基本概念和相关术语;

(2)静态查找表:顺序查找、折半查找和索引顺序表查找; (3)动态查找表:二叉排序树的查找、插入和删除; (4)哈希表。 2.基本要求

(1)了解查找的作用,熟悉相关术语;

(2)熟练掌握顺序查找、折半查找和索引顺序表查找; (3)熟练掌握二叉排序树的特性、构造和查找方法;

(4)熟练掌握哈希表的构造方法,特别是哈希函数和处理冲突方法的选取; (5)通过分析等概率下的平均查找长度来衡量各种查找方法的效率。 3.自学内容:

平衡二叉树。

(九)内部排序( 4 学时) 1.主要内容:

(1)排序的基本概念和相关术语;

(2)插入排序:直接插入排序、折半插入排序和希尔排序; (3)交换排序:起泡排序和快速排序; (4)选择排序:简单选择排序和堆排序; (5)归并排序:二路归并排序; (6)基数排序:链式基数排序; (7)各种内部排序方法的比较讨论。 2.基本要求

(1)了解排序作用,熟悉相关术语;

(2)掌握多种排序的基本思想、算法特点和排序过程,分析它们的时间复杂度、空间复杂度和稳定性。

3.自学内容:

二路插入排序、表插入排序和树形选择排序。

四、教学安排建议

1. 作业练习 完成每章的教学后进行布置习题,使用教材配套的《数据结构题集(C语言版)》。尽量选择基础的并且加注了标记的题,应注重于精,而不要求多。要求积极独立完成所布置的习题,建议安排至少六次。

2. 案例分析

可参考选择以下一些案例:(1)学生通讯录管理系统,(2)表达式求值问题(3)交通咨询系统,等。 3. 专题研讨

可参考选择以下一些:(1)最小生成树问题(2)航班信息查询与检索系统,(3)内部排序算法比较,等。

4. 实验安排

为了达到理论与实际应用的结合,让学生能将所学知识应用于实际问题的求解中,培养学生的实际动手能力,从而加深对概念及所学知识的理解,灵活、牢固掌握教材内容,提高程序设计及解决实际问题的能力,实验环节的安排非常重要。

建议实验安排为八次,共16学时,分别如下:

实验1 线性表的顺序存储结构的实现(2学时)

实验2 线性表的链式存储结构的实现(2学时)

实验3 栈的算法实现(2学时)

实验4 队列的算法实现 (2学时)

实验5 串类型及操作(2学时)

实验6 二叉树的建立与遍历(2学时)

实验7 图的建立与遍历(2学时)

实验8 查找与排序(2学时) 注:教师可根据教学实际情况(如:学生情况及学时情况等),适当调整实践教学内容及学时分配。

五、课程考核

1. 考核形式及成绩评定办法

本课程考核形式为:平时成绩占40%,期末考试成绩占60%。其中平时成绩的结构分包括:课堂表现10%、平时作业10%和实验20%,期末考试为闭卷笔试考试:120分钟,卷面分满分100分。期末考试成绩低于50分者,本课程成绩按不及格论处。

2. 本课程考核的基本要求

课堂表现10%:包括课堂考勤和课堂提问,如果缺课课时达到本课程教学时数的1/3,则取消考试资格。

平时作业10%:根据上交次数及完成情况进行评定。

实验20%:根据各次实验完成情况及实验报告成绩进行评定。

期末考试60%:本课程的期末考试考核内容主要包括线性表、栈与队列、串、数组与广义表、树与二叉树、图、查找和内部排序。其中,线性表、二叉树、图、查找和内部排序内容为考核的重点。

六、本课程与其它课程的先行后续关系

先行课程:《高级程序设计语言》、《离散数学》

后续课程:《操作系统》、《编译原理》、《数据库理论》、《算法分析与设计》等

七、建议教材及教学参考书

1. 教材:

严蔚敏,吴伟民编著,《数据结构(C语言版)》,清华大学出版,2012.5 严蔚敏,吴伟民编著,《数据结构题集(C语言版)》,清华大学出版,2012.5 2.参考书:

[1] 许卓群,张乃孝,杨冬青,唐世渭,《数据结构》,高等教育出版社,2004. [2] 徐孝凯,《数据结构简明教程》,清华大学出版社,1995 [3] 陈文博,朱青,《数据结构与算法》,机械工业出版社,1996 [4] 李云清,杨庆红,揭安全编著,《数据结构》(C语言版),人民邮电出版社,2007. [5] 杨秀金主编,《数据结构》,西安电子科技大学出版社,2002.

[6] 李廉治,姜文清,郭福顺,《数据结构》,大连理工大学出版社,1989

[7] Aho A V, Hopcroft J E, Ullman J D. Data Structures and Algorithms. Addison-Wesley Publishing Company,Inc.,1983

[8] Baron R J, Shapiro L G. Data Structures and their Implementation. Van Nostrand Reinhold Company, 1980

[9] Esakov J, Weiss T. Data Structures: An Advanced Approach Using C. Prentice-Hall, Inc.,1989

[10] [美]S巴斯《计算机算法:设计和分析引论》朱洪等译,复旦大学出版社,1985

第8篇:《数据结构课程设计》教学大纲

Data Structure Course Design

一、课程的性质、教学目的和要求

《数据结构》是计算机软件的一门基础课程,计算机科学各领域及有关的应用软件都要用到各种类型的数据结构。学好数据结构对掌握实际编程能力是很有帮助的。为了学好《数据结构》,必须编写一些在特定数据结构上的算法,通过上机调试,才能更好地掌握各种数据结构及其特点,同时提高解决计算机应用实际问题的能力。

二、设计要点

1.设计和调试过程要规范化。 ① 需求分析

将题目中要求的功能进行叙述分析,并且设计解决此问题的数据存储结构,(有些题目已经指定了数据存储的,按照指定的设计),设计或叙述解决此问题的算法,描述算法建议使用流程图,进行算法分析指明关键语句的时间复杂度。

给出实现功能的一组或多组测试数据,程序调试后,将按照此测试数据进行测试的结果列出来 。

对有些题目提出算法改进方案,比较不同算法的优缺点。

如果程序不能正常运行,写出实现此算法中遇到的问题,和改进方法。②源程序(可以是一组源程序,即详细设计部分)

源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。

程序能够运行,要有基本的容错功能。尽量避免出现操作错误时出现死循环。

2.课程设计实习报告的书写格式

① 设计题目(任选其一) ②运行环境(软、硬件环境) ③算法设计的思想 ④算法的流程图 ⑤算法设计分析 ⑥源代码

1 ⑦运行结果分析 ⑧收获及体会 3.实施方式

可设2-3人一题,安排在《数据结构》课程开课学期布置题目,然后在期末前两周完成。

三.设计要求

学生要发挥自主学习的能力,充分利用时间,安排好课设的时间计划,并在课设过程中不断检测自己的计划完成情况,及时的向教师汇报。 课程设计按照教学要求需要1周时间完成,1周中每天至少要上6-8小时的机来调试C语言设计的程序,总共至少要上机调试程序30小时。为保证质量,需要每个学生将每天的上机调试程序的时间记录下来,作为评判成绩的标准之一。

四.设计题目

1、校园导游程序

[问题描述]

用无向网表示你所在学校的校园景点平面图,图中顶点表示主要景点,存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信息。要求能够回答有关景点介绍、游览路径等问题。

[基本要求] (1) 查询各景点的相关信息;

(2) 查询图中任意两个景点间的最短路径。

(3) 查询图中任意两个景点间的所有路径。

(4) 增加、删除、更新有关景点和道路的信息。

[选作内容]

(1) 求多个景点的最佳(最短)游览路径。

(2) 区分机动车道和人行道。

(3) 实现导游图的仿真界面。

2、算术表达式求值

[问题描述]

一个算术表达式是由操作数(operand)、运算符(operator)和界限符(delimiter)组成的。假设操作数是正整数,运算符只含加减乘除等四种运算符,界限符有左右括号和表达式起始、结束符“#”,如:#(7+15)*(23-28/4)#。引入表达式起始、结束符是为了方便。编程利用“算符优先法”求算术表达式的值。

[基本要求]

(1) 从键盘读入一个合法的算术表达式,输出正确的结果。

(2) 显示输入序列和栈的变化过程。

[选作内容]

扩充运算符集合。

引入变量操作数。

操作数类型扩充到实数。

3、文学研究助手

[问题描述]

文学研究人员需要统计某篇英文小说中某些形容词的出现次数和位置。试写一个实现这一目标的文字统计系统,称为“文学研究助手”。 [基本要求]

英文小说存于一个文本文件中。待统计的词汇集合要一次输入完毕,即统计工作必须在程序的一次运行之后就全部完成。程序的输出结果是每个词的出现次数和出现位置所在行的行号,格式自行设计。 [测试数据]

以你的源程序模拟英文小说,程序语言保留字集作为待统计的词汇集。 [实现提示]

设小说中的词汇一律不跨行。这样,每读入一行,就统计每个词在这行中的出现次数。出现位置所在行的行号可以用链表存储。若某行中出现了不止一次,不必存多个相同的行号。

如果读者希望达到选作部分(1)和(2)所提出的要求,则首先应把KMP算法改写成如下的等价形式,再将它推广到多个模式的情形。 [选作内容]

(1) 模式匹配要基于KMP算法。

(2) 整个统计过程中只对小说文字扫描一遍以提高效率。

(3) 假设小说中的每个单词或者从行首开始,或者前置以一个空格符。利用单词匹配特点另写一个高效的统计程序,与KMP算法统计程序进行效率比较。

(4) 推广到更一般的模式集匹配问题,并设待查模式串可以跨行(提示:定义操作getachar)

4. 迷宫求解

[问题描述]

可以输入一个任意大小的迷宫数据,用非递归的方法求出一条走出迷宫的路径,并将路径输出;

[基本要求]

含有两个以上的迷宫图,由用户选择哪一张迷宫图; 实现深度优先、广度优先两种回溯法。

在上交资料中请写明:存储结构、基本算法(可以使用程序流程图)、源程序、算法的时间复杂度、另外可以提出算法的改进方法;

[实现提示]

可以用一个二维数组存储迷宫图,值为1或者0分别表示通路和不通; 搜索路径可以参考树的深度优先和广度优先算法。

5.括号匹配的检验

[问题描述]

假设表达式中允许有两种括号:圆括号和方括号,其嵌套的顺序随意,即CC或[([ ] [ ])]等为正确格式,[( ])或(((]均为不正确的格式。检验括号是否匹配的方法可用“期待的紧迫程度”这个概念来描述。例如:考虑下列的括号序列:

[ ( [ ] [ ] ) ]

1 2 3 4 5 6 7 8

当计算机接受了第1个括号以后,他期待着与其匹配的第8个括号的出现,然而等来的却是第2个括号,此时第1个括号“[”只能暂时靠边,而迫切等待与第2个括号相匹配的 第7个括号“)”的出现,类似的,因只等来了第3个括号“[”,此时,其期待的紧迫程度较第2个括号更紧迫,则第2个括号只能靠边,让位于第3个括号,显然第3个括号的期待紧迫程度高于第2个括号,而第2个括号的期待紧迫程度高于第1个括号;在接受了第4个括号之后,第3个括号的期待得到了满足,消解之后,第2个括号的期待匹配就成了最急迫的任务了,„„ ,依次类推。可见这个处理过程正好和栈的特点相吻合。

[基本要求]

设置一个栈,每读入一个括号,若是左括号,则作为一个新的更急迫的期待压入栈中,若是右括号,则或者是和当前栈顶的括号相匹配,或者是不合法的情况,输出“此串括号匹配不合法”。在初始和结束时,栈应该是空的。

[测试数据]

输入 #([ ]())#,结果“匹配”

输入 #[( )]#,结果“此串括号匹配不合法”

#为起始和结束标志。

6.停车场管理

[问题描述]

设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后开入的车辆必须先退出车场为它让路,待该辆车开出大门外,其它车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。试为停车场编制按上述要求进行管理的模拟程序。 [测试数据]

设n=2,输入数据为:(‘A’,1,5),(‘A’,2,10),(‘D’,1,15),(‘A’,3, 20), (‘A’,4,25),(‘A’,5,30),(‘D’,2,35),(‘D’,4,40),(‘E’,0,0)。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码及到达或离去的时刻,其中,‘A’表示到达;‘D’表示离去,‘E’表示输入结束。 [基本要求]

以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码及到达或离去的时刻,对每一组输入数据进行操作后的输出数据为:若是车辆到达,则输出汽车在停车场内或便道上的停车位置;若是车离去;则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。栈以顺序结构实现,队列以链表实现。 [实现提示]

需另设一个栈,临时停放为给要离去的汽车让路而从停车场退出来的汽车,也用顺序存储结构实现。输入数据按到达或离去的时刻有序。栈中每个元素表示一辆汽车,包含两个数据项:汽车的牌照号码和进入停车场的时刻。 [选作内容]

(1) 两个栈共享空间,思考应开辟数组的空间是多少?

(2) 汽车可有不同种类,则它们的占地面积不同,收费标准也不同,如1辆客车和1.5辆小汽车的占地面积相同,1辆十轮卡车占地面积相当于3辆小汽车的占地面积。

(3) 汽车可以直接从便道上开走,此时排在它前面的汽车要先开走让路,然后再依次排到队尾。

(4) 停放在便道上的汽车也收费,收费标准比停放在停车场的车低,请思考如何修改结构以满足这种要求。

7 7. 简单行编辑程序

[问题描述]

文本编辑程序是利用计算机进行文字加工的基本软件工具,实现对文本文件的插入、删除等修改操作。限制这些操作以行为单位进行的编辑程序称为行编辑程序。

被编辑的文本文件可能很大,全部读入编辑程序的数据空间(内存)的做法既不经济,也不总能实现。一种解决方法是逐段地编辑。任何时刻只把待编辑文件的一段放在内存,称为活区。试按照这种方法实现一个简单的行编辑程序。设文件每行不超过320个字符,很少超过80字符。 [基本要求]

实现以下4条基本编辑命令:

(1) 行插入。格式:i<行号><回车><文本><回车>

将<文本>插入活区中第<行号>行之后

(2)行删除。格式:d<行号1>[□<行号2>]<回车>

删除活区中第<行号1>行(到第<行号2>行)。两种格式的例子是:“d10↙”和“d10□14↙”

(3)活区切换。格式:n<回车>

将活区写入输出文件,并从输入文件中读入下一段,作为新的活区。

(4)活区显示。格式:p<回车>

逐页地(每页20行)显示活区内容,每显示一页之后请用户决定是否继续显示以后各页(如果存在)。印出的每一行要前置以行号和一个空格符,行号固定占4位,增量为1。

各条命令中的行号均须在活区中各行行号范围之内,只有插入命令的行号可以等于活区第一行行号减1,表示插入当前屏幕中第一行之前,否则命令参数非法。 [测试数据]

由学生依据软件工程的测试技术自己确定。注意测试边界数据,如首行、尾行。 [实现提示]

(1) 设活区的大小用行数activemaxlen(可设为100)来描述。考虑到文本文件行长通常为正态分布,且峰值在60到70之间,用320×activemaxlen大小的字符数组实现存储将造成大量浪费。可以以标准行块为单位为各行分配存储,每个标准行块含81个字符。这些行块可以组成一个数组,也可以利用动态 8 链表连接起来。一行文字可能占多个行块。行尾可用一个特殊的ASCII字符(如(012)8)标识。此外,还应记住活区起始行号。行插入将引起随后各行行号的顺序下推。

(2) 初始化过程包括:请用户提供输入文件名(空串表示无输入文件)和输出文件名,两者不能相同。然后尽可能多地从输入文件中读入各行,但不超过activemaxlen-x。x的值可以自定,例如20。

(3) 在执行行插入命令的过程中,每接收到一行时到要检查活区大小是否已达activemaxlen。如果是,则为了在插入这一行之后仍保持活区大小不超过activemaxlen,应将插入点之前的活区部分中第一行输出到输出文件中;若插入点为第一行之前,则只得将新插入的这一行输出。

(4) 若输入文件尚未读完,活区切换命令可将原活区中最后几行留在活区顶部,以保持阅读连续性;否则,它意味着结束编辑或开始编辑另一个文件。

(5) 可令前三条命令执行后自动调用活区显示。 [选作内容]

(1) 对于命令格式非法等一切错误作严格检查和适当处理。

(2) 加入更复杂的编辑操作,如对某行进行串替换;在活区内进行模式匹配等,格式可以为S<行号>@<串1>@<串2><回车>和m<串><回车>。

9 8. 图遍历的演示

[问题描述]

很多涉及图上操作的算法都是以图的遍历操作为基础的。试写一个程序,演示无向图的遍历操作。 [基本要求]

以邻接表为存储结构,实现连通无向图的深度优先和广度优先遍历。以用户指定的结点为起点,分别输出每种遍历下的结点访问序列和相应生成树的边集。 [测试数据]

由学生依据软件工程的测试技术自己确定。注意测试边界数据,如单个结点。 [实现提示]

设图的结点不超过30个,每个结点用一个编号表示(如果一个图有n个结点,则它们的编号分别为1,2,„,n)。通过输入图的全部边输入一个图,每个边为一个数对,可以对边的输入顺序作出某种限制。注意,生成树的边是有向边,端点顺序不能颠倒。

[选作内容]

(1) 借助于栈类型(自己定义和实现)将深度优先遍历用非递归算法实现。

(2) 以邻接多重表为存储结构建立深度优先生成树和广度优先生成树,再按凹入表或树形打印生成树

(3) 实现有向图的遍历操作。

9、 赫夫曼树的建立

*问题描述:建立建立最优二叉树函数

*要求:可以建立函数输入二叉树,并输出其赫夫曼树

在上交资料中请写明:存储结构、 基本算法(可以使用程序流程图) 、输入输出、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法;

10、图的建立及输出

*问题描述:建立图的存储结构(图的类型可以是有向图、无向图、有向网、无向网,学生可以任选两种类型),能够输入图的顶点和边的信息,并存储到相应存储结构中,而后输出图的邻接矩阵。

11、各种排序

*问题描述:对30000个随机整数,利用插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序等排序方法进行排序,并统计每一种排序上机所花费的时间。

*输入的数据形式为任何一个正整数,大小不限。 *输出的形式:数字大小逐个递增的数列?

12、图的遍历

*问题描述:对任意给定的图(顶点数和边数自定),建立它的邻接表并输出,然后利用队列的五种基本运算(置空队列、进队、出队、取队头元素、

判队空)实现图的广度优先搜索周游。

13、线性表的操作

*问题描述:利作链表的插入运算建立线性链表,然后利用链表的查找、删除、计数、输出等运算反复实现链表的这些操作(插入、删除、查找、计数、输出单独写成函数的形式),并能在屏幕上输出操作前后的结果。

14、编制一个求解迷宫通路的图形界面演示程序。 *问题描述:

1) 输入一个任意大小的迷宫,任设起点、终点、障碍,用栈求出一条走出迷宫的路径,并显示在屏幕上。

2) 根据用户界面提示,用键盘输入。Home键设置迷宫起点,End键设终点,上下左右箭头键移动,Enter键添加墙,Del键删除墙,完成后按F9键演示,Esc键退出。

3)橙色的实心小圆圈表示起点,绿色实心圆圈表示终点,空心圆圈表示足迹,红色方块表示墙。 4)本程序只求出一条成功的通路,但若对求解函数MazePath稍加更改即可求得全部路径。此外,因受图形界面限制,不能保存或载入测试文件(此功能可在Maze_text中实现)。

5)当未输入起点时,消息显示“Error: You must set Startplace.”;未输入终点时,显示“Error: You must set Endplace.” 找到路径时,屏幕显示足迹,并在消息框出现Path found,否则消去足迹,显示Path not found.

11 15.一元稀疏多项式计算器

*问题描述:一元多项式简单计算器的基本功能是:(1)输入并建立多项式;(2)输出多项式,输出形式为整数序列n,c1,e1,c2,e2,„,cn,en,其中n是多项式的项数,ci和ei分别是第I项的系数和指数,序列指指数降序排列;(3)多项式a和b相加,建立多项式a+b;(4)多项式a和b相减,建立多项式a-b。 *实现提示:用带头结点的单链表存储多项式,多项式的项数存在头结点。

16.算术表达式求值演示

*问题描述:表达式求值是实现程序设计语言的基本问题之一,也是栈的应用的一个典型例子。设计一个程序,演示用算符优先法对算术表达式求值的过程。

*基本要求:以字符序列的形式从终端上输入语法正确的、不含变量的整数表达式。利用教材中给出的算符优先关系,实现对算术四则混合运算表达式的求值,并仿照教材例3-1演示在求值中运算符栈、运算数栈、输入字符和主要操作的变化过程。

*实现提示:(1)设置运算栈和运算数栈辅助分析算符优先关系。(2)在输入表达式的字符序列的同时,完成运算符和运算数(整数)的识别处理,以及相应的运算。(3)在识别出运算数的同时,要将其字符序列形式转换成整数形式。

*选作内容:(1)扩充运算符集,如增加乘方、单目减、赋值等运算;(2)运算量可以是变量;(3)运算量可以是实数类型;(4)计数器的功能和仿镇界面。

17.稀疏矩阵运算器

*问题描述:稀疏矩阵是指那些多数元素为0的矩阵。利用“稀疏”特点进行存储和计算可以大大节省存储空间,提高计算效率。实现一个能进行稀疏矩阵基本原酸的运算器。

*基本要求:以“带行逻辑链接信息”的三元组顺序表示稀疏矩阵,实现两个矩阵相加、相减和相乘的运算。稀疏矩阵的输入形式采用三元组表示,而运算结构的矩阵则以通常的阵列形式列出。

*实现提示:(1)首先应输入矩阵的行数和列数,并判别给出的两个矩阵的行、列数对于所要求作的运算是否匹配。可设矩阵的行数和列数均不超过20。(2)程序可以对三元组的输入顺序加以限制,例如,按行优先。注意研究教科书中的算法,以便提高计算效率。(3)在用三元组表示稀

12 疏矩阵时,相加或相减所得结果矩阵应该另生成,乘积矩阵也可以用二维数组存放。 18.图书管理

*问题描述:图书管理基本业务活动包括:对一本书的采编入库、清除库存、借阅和归还等等。试设计一个图书管理系统,将上述业务活动借助于计算机系统完成。

*基本要求:(1)每种书的登记内容至少包括书号、书名、作者、现存量和总库存量等五4。(2)作为演示系统,不必使用文件,全部数据可以都在内存存放。但是由于上述四项基本业务活动都是通过书号(即关键字)进行的,所以要用B树对书号尽力索引,以获得高效率。(3)系统应实现的操作及功能定义如下:①采编入库:新购入一种书,经分类和确定书号后登记到图书帐目中去。如果这种书在帐目中已有,则只将总库存量增加。②清除库存:某种书已无保留价值,将它从图书帐目中注销。③某种书的现存量大于零,则借出一本,登记借阅者的图书证号和归还期限。④归还:注销对借阅者的登记,改变该书的现存量。⑤显示:以凹入表的形式显示B树。这个操作是为了调试和维护的目的而设置的。下列B树的打印格式如下所示:

19、 文章编辑

*问题描述:输入一页文字,程序可以统计出文字、数字、空格的个数。 静态存储一页文章,每行最多不超过80个字符,共N行。

*要求(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。

*存储结构使用线性表,分别用几个子函数实现相应的功能;

*输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。

*输出形式:(1)分行输出用户输入的各行字符;(2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"(3)输出删除某一字符串后的文章;

60

30

50,52 70,72

68

71

100 20、回文判断

[问题描述]

试写一个算法,判断依次读入的一个以@为结束符的字母序列,是否为形如‘序列1 & 序列2’模式的字符序列。其中序列1和序列2 中都不含字符‘&’,且序列2 是序列1的逆序列。例如,‘a+b&b+a’是属该模式的字符序列,而‘1+3&3-1’则不是。 [实现提示]

首先,序列1进栈,然后序列1出栈并与序列2比较。

21、 建立二叉树,层序、先序遍历( 用递归或非递归的方法都可以) *问题描述:

要求能够输入树的各个结点,并能够输出用不同方法遍历的遍历序列;分别建立建立二叉树存储结构的的输入函数、输出层序遍历序列的函数、输出先序遍历序列的函数;

五、参考书目

《数据结构 C语言》 严蔚敏 清华大学出版社 《c语言程序设计》 谭浩强 清华大学出版社 《数据结构》 高教出版社

《数据结构习题》 李春保 清华大学出版社 《数据结构习题》 严蔚敏 清华大学出版社 《c语言与数据结构》 王立柱 清华大学出版社

《数据结构(C语言篇)习题与解析》李春葆 清华大学出版社

计算机软件教研室 2004年1月7日

上一篇:党支部组织生活会制度下一篇:读第二次世界大战有感