第一篇:纪委可用材料
为进一步明确安全生产职责,落实安全生产责任,切实加强安全生产工作,保障人民生命财产安全,根据《天津市安全生产责任制规定》(市政府第24号令),本着属地监管和谁主管谁负责、谁审批谁负责、谁监管谁负责的原则,就进一步明确和规范区、镇两级人民政府和区政府有关部门的安全生产责任,提出如下意见:
一、区人民政府安全生产责任
1.加强对安全生产工作的领导,充分发挥安全生产委员会综合协调管理职能,定期分析、部署、督促和检查安全事故的防范工作,对全区安全生产工作中的重大问题及时协调、解决。
2.加强区、镇两级安全生产监管机构、责任体系、规章制度建设,支持、监督本级政府有关部门履行安全生产责任;贯彻落实安全生产法律、法规、规章,加强安全生产社会宣传,指导监督行政区域内生产经营单位安全生产主体责任的落实。
3.负责行政区域内重大危险源的监督管理,组织开展安全检查,督促整改事故隐患。
4.将安全生产工作纳入本级国民经济和社会发展规划,与经济社会发展工作同时安排、同时部署、同时考核、同时总结;加大公共安全设施、重大事故隐患治理和事故应急救援体系建设等安全生产投入,协调解决安全生产监督管理工作中存在的重大问题。
5.建立应急救援响应机制,制定和完善安全生产事故应急救援预案;组织和响应事故应急救援,负责或者配合做好事故调查处理工作。
6.依法关闭不符合安全生产条件的生产经营单位。
二、镇级人民政府和长青办事处安全生产责任
1.加强对本行政区域内安全生产工作的领导,严格履行属地安全生产监督管理职责,执行上级政府交办事项,指导、监督行政区域内生产经营单位安全生产主体责任的落实。
2.建立健全安全生产监督管理机构,配备满足工作需要的工作人员,保证安全生产监督管理工作的正常经费支出;建立健全安全生产责任体系,层层签订责任状,逐级落实安全生产责任制;建立健全安全生产监督管理各项制度,抓好督促落实。
3.组织开展安全检查,督促整改事故隐患,发现重大事故隐患、安全生产非法违法行为和可能导致安全生产事故发生的紧急情况时,及时上报区政府或区政府相关部门。
4.完善应急救援机制,制定生产安全事故应急救援预案,组织应急救援演练,负责或者配合做好事故善后处理工作。5.指导、督促村委会、居委会(社区)安全工作,积极开展安全生产宣传教育活动,普及安全知识。
三、区政府各有关部门安全生产责任
(一)区安全生产监督管理局(区安委会办公室)
1.对安全生产实施综合监督管理,指导、督促、协调和检查各镇级人民政府和区政府有关部门依法履行安全生产责任,具体组织实施安全生产责任制考核工作。
2.贯彻执行《安全生产法》和有关法规、规章、规程和政策文件,制定安全生产发展规划,定期分析和预测安全生产形势,发布安全生产信息,研究提出安全生产的重要政策和措施建议,研究、协调和解决安全生产中的重大问题。
3.对危险化学品和烟花爆竹生产经营单位实施专项监督管理,综合指导工矿商贸行业或领域安全生产工作,监督检查生产经营单位贯彻安全生产法律、法规情况,依法查处事故隐患和安全生产违法行为,提请区政府关闭不具备安全生产条件的生产经营单位。
4.组织开展安全生产专项整治和综合检查督查,组织、协调政府有关部门开展联合检查和督查,依法监督生产经营单位落实危险源监控和隐患治理措施,对重大事故隐患实施挂牌督办落实整改。5.组织、指导安全生产宣传教育工作,组织开展安全生产社会宣传活动,监督检查生产经营单位安全培训工作,依法组织开展高危行业和岗位的培训。
6.对新建、改建、扩建工程项目的安全设施与主体工程同时设计、同时施工、同时投产使用实施监督检查。
7.依法监督检查工矿商贸作业场所职业危害防治情况,组织查处职业危害事故和有关违法违规行为。
8.组织、指导和协调生产安全事故应急救援工作,组织指导安全生产应急救援预案的编制和演练,承担应急值守、事故接报处置工作。经同级政府授权或委托,依法组织、协调生产安全事故的调查处理工作。
(二)区发展和改革委员会
1.负责把安全生产工作纳入国民经济与社会中长期发展规划及年度计划,将安全生产基础设施和技术支撑体系建设纳入年度发展计划,并督促、协调有关部门组织实施。
2.及时制定和发布产业政策,利用宏观经济调控手段支持工艺技术先进、危险和有害因素较小的建设项目,逐步淘汰工艺技术落后以及无法达到基本安全生产条件的建设项目。
(三)区工业经济委员会 1.负责全区内资工业生产经营单位的安全生产行业管理,督促、指导工业生产经营单位建立健全和落实安全生产责任制,制定安全管理规范,组织或者参与安全生产检查督查,督促生产经营单位落实各项安全防范和隐患治理措施,参与工业生产经营单位安全事故调查处理。
2.负责指导、督促各类工业园区落实安全生产主体责任,指导督促建立安全管理机构,组织或者参与安全生产检查督查。
3.协调解决工业经济运行中的重大安全生产问题。
(四)区商务委员会
1.负责全区商业批发、零售和餐饮业生产经营单位安全生产行业管理,组织制定行业安全生产标准和规范,组织或者参与安全生产检查督查,参与生产安全事故调查处理。
2.组织制定商业批发、零售和餐饮行业安全防火、突发公共事件总体预案和救灾应急方案并督促实施。
3.指导、检查会展业安全管理工作,负责本部门组织的展销会、订货会、交易会等展会的安全管理工作。
4.承担职责范围内有关行业安全生产专项整治及隐患排查治理工作,组织配合有关部门依法查处成品油非法经营点。5.负责全区外资工业生产经营单位的安全生产行业管理,督促、指导外资工业生产经营单位建立健全和落实安全生产责任制,制定安全管理规范,组织或者参与安全生产检查督查,督促生产经营单位落实各项安全防范和隐患治理措施,参与外资工业生产经营单位安全事故调查处理。
(五)区农业经济委员会
1.负责农业安全生产行业管理,指导监督农村基层组织和农业劳动者做好农业生产事故防范工作,负责农药、鼠药、兽药(鱼药)使用环节的安全管理和事故防范工作。
2.负责农业机械安全生产监督管理,对农机驾驶人员和农业机械实施监督检查。
3. 组织或参与安全生产检查,督查落实安全事故防范和隐患治理措施。
4.对农村可再生能源利用工程实施安全管理,组织制定农村可再生能源安全管理规范,指导宣传可再生能源安全使用。
(六)区建设管理委员会
1.负责对土木工程、建筑工程、线路管道和设备安装工程、装修工程等建设工程安全的监督管理,负责建设工程施工安全、施工现场安全的监督管理,对施工现场进行日常监督检查,查处违法违规行为,参与相关事故应急救援和调查处理。
2.负责建筑业企业(建设、勘察、设计、监理、施工等)安全生产监督管理,监督落实安全生产责任,开展事故隐患排查和治理,采取巡查、抽查的方式对安全防范措施落实的监督管理。
3.负责施工建筑机械与起重设备的安全监督管理。
(七)区市容和园林管理委员会
1.负责全区市容环境整治、道路景观改造等施工现场的安全管理,落实各项安全防范措施。
2.负责本系统内硫化氢作业场所的安全管理,落实各项安全防范措施。
3.负责本系统内安全宣传教育培训工作。
(八)区交通运输管理局
1.负责道路客货运输安全生产监督管理,对运输经营者安全生产条件、营运车辆技术状况、营运驾驶员从业资格和客运、货运站(场)进行监管,监督运输经营单位落实安全生产主体责任。
2.负责所辖水域水路客运码头的安全生产监督管理,对客运船舶设施进行安全监督检查。加强渡工安全教育和技能培训。3.负责危险品道路运输安全监督管理,依法对危险化学品运输车辆、营业性驾驶员、装卸人员、押运人员从业资格进行监督检查,督促危险品道路运输单位落实安全生产主体责任。
4.负责组织开展职责内客运、货运、水运交通安全专项整治及隐患排查治理工作,配合有关部门查处客货运输车辆超载和无证经营、使用的违法行为。
5.负责联运业的安全生产行业管理,监督运营企业落实安全主体责任。
(九)区水务局
1.负责各类水利工程安全生产监督管理,对施工现场危险源进行排查和监督检查。
2.负责水利工程设施及附属设施的安全监督管理,对水库大坝、河道堤防等水利设施进行安全监控,组织、指导、协调、监督防汛、抗旱的安全管理工作。
3.负责城乡供水、排水工程和日常运行的安全监督管理,组织开展事故隐患排查治理,对排水清淤作业中硫化氢中毒事故进行安全防范。
(十)区人力资源和社会保障局 1.负责职工的工伤认定、劳动能力鉴定工作。监督检查用人单位工伤保险责任的落实。依法打击非法用工行为。
2.落实国家就业准入制度,属于从事就业准入职业(工种)的从业人员,必须持国家职业资格证书上岗,把安全知识纳入职(技)校、社会培训机构培训教育的内容。
3.配合相关部门,组织指导开展安全生产宣传教育培训,重点督促用人单位加强对外来务工人员的安全知识教育工作。加强工伤预防工作。
(十一)区房地产管理局
1.负责房屋安全鉴定、直管公房修缮工作。
2.负责本系统内安全监督管理、事故防范和安全宣传教育培训工作。
(十二)区环境保护局
1.制定和组织实施全区重大环境污染事故和环境破坏事件的应急救援预案。负责全区各类环境污染事故应急监测和事故调查处理。
2.负责废弃危险化学品、放射性物品处置的监督管理。3.组织开展全区环境保护的宣传教育培训工作。
(十三)区教育局
1.负责全区各类学校和直属单位的安全管理,监督各类学校履行安全管理责任,指导各类学校制定和落实安全事故防范措施,会同有关部门查处学校安全管理方面失职或违法行为。
2.负责组织各类学校教育设施、教学设备、校舍和学生宿舍的安全监督检查和隐患排查治理,督促消除事故隐患,指导组织教育系统开展师生员工安全教育活动,普及安全如识,提高安全意识和能力。
3.督促各类学校加强教学活动和社会实践活动的安全管理,指导、检查、督促有关单位制定应急预案并组织演练,组织会同有关部门依法查处以任何形式或名义组织学生从事接触易燃易爆、有毒有害等危险品的劳动或其他危险性劳动的行为,组织查处将学校场地出租作为从事易燃易爆、有毒有害等危险品的生产、储存、经营场所的行为。
4.配合有关部门加强对接送学生车辆的安全管理,指导督促当事各方落实安全责任。
5.负责所主办的各类群体性活动的安全管理工作,指导监督主办方制定活动安全预案,加强现场安全管理。
(十四)区卫生局 1.负责对用人单位职业健康监护情况进行监督检查,规范职业病的预防、保健,并查处违法行为。
2.对承担职业健康检查的医疗卫生机构实行监督管理,规范职业病的检查和救治。
3.负责组织对重大突发事件、职业中毒、群体性伤害等安全事故的医疗抢救与卫生防疫,组织协调有关部门制定卫生应急对策,参与职业中毒安全事故的调查处理。
4.负责全区医疗服务行业安全管理,指导督促医疗机构落实安全主体责任,组织开展安全检查,督促落实各项安全措施。
(十五)区文化广播电视局
1.负责文化广播电视系统所属企事业单位的安全管理,组织开展图书馆、影剧院、文化馆、网吧、歌舞厅以及音像市场等单位的安全监督检查,指导、督促相关单位排查和消除事故隐患,负责监督检查文艺演出单位的安全生产工作。
2.配合有关部门做好文化市场、文化娱乐场所等公众聚集场所的消防安全专项整治工作。
(十六)区旅游局
1.负责旅游业生产经营单位安全生产行业管理,指导、督促、检查旅游业生产经营单位落实安全管理责任和防范措施,组织排查事故隐患,组织制定旅游突发事件应急预案,建立旅游突发事件的信息报告和备案制度,建立旅游安全信息披露、旅游安全预警发布制度,参与旅游业安全事故调查和善后处置工作,组织开展旅游安全常识的宣传普及活动。
2.组织协调相关部门检查节假日旅游安全工作,督促落实相关预案和安全措施,指导监督旅游业生产经营单位、游客聚集场所落实各项安全防范措施。
(十七)公安津南分局
1.负责剧毒化学品购买和运输公共安全监督管理,对单位及个人购买、运输剧毒化学品进行资质管理和监督检查,负责民用爆炸物品的购买、运输、爆破作业安全监督管理,负责烟花爆竹运输、燃放公共安全监督管理。
2.负责大型群众性活动公共安全监督管理,对举办焰火晚会以及其他大型焰火燃放活动实施安全监督检查。
3.依法查处涉及安全生产的治安管理案件,参与生产安全事故调查。
(十八)消防津南支队 1.负责消防安全监督管理,督促生产经营单位落实消防安全责任制,参与编制城市消防规划,负责消防安全宣传教育,组织并指导社会消防力量的培训。
2.负责对国家规定的大型人员密集场所和其他特殊建设工程进行消防审核验收和监督检查,依法对公众聚集场所在投入使用、营业前进行消防安全检查。
3.负责组织开展消防安全综合检查,组织实施“三合一”、“多合一”场所安全整治,监督相关责任单位落实火灾隐患整改措施,依法对违反消防法律、法规的行为进行处罚。
(十九)交警津南支队
1.负责道路交通安全监督管理,制定道路交通安全工作规划、计划和道路交通事故应急预案。组织开展道路交通安全法律、法规的宣传教育,督促检查有关单位落实《天津市道路交通安全防范责任制规定》。
2.组织道路交通安全检查,组织排查道路交通安全隐患、事故多发路段,监督落实隐患整改,依法查处道路交通安全违法行为,调查处理道路交通安全事故。
(二十)区质量技术监督局 1.负责锅炉、压力容器(含气瓶)、压力管道及电梯、起重机械、客运索道、厂(场)内机动车辆、大型游乐设施等特种设备的安全监督管理,依法对特种设备的设计、制造、安装、改造、维修、使用、检测检验等环节实施监督检查。
2.负责组织取缔非法特种设备的生产厂点,查处非法使用特种设备的违法行为。
3.负责气瓶、移动式压力容器充装单位充装安全的监督管理,监督生产经营单位落实安全生产主体责任。
4.参与安全生产事故的应急救援,依法组织特种设备安全生产事故的调查处理工作。
(二十一)区供销社
1.指导、监督全区供销系统建立健全安全生产责任制,做好本系统经营的危险化学品、烟花爆竹等各环节的安全管理工作。
2.组织、指导本系统内开展安全生产专项检查,对系统内人员密集场所、危险物品储存场所等重点单位进行监控,完善应给预案,落实各项防范措施。
3.组织、指导开展安全生产宣传教育培训工作。(二十二)工商津南分局 1.依法对企业登记注册中涉及安全生产的有关审批前置要件进行审查,未取得相关安全生产许可的,不予登记。
2.配合主管部门(前置许可)依法监督管理危险化学品、烟花爆竹等危险物品的市场经营行为,取缔和打击非法、违法经营危险物品行为。
3.配合有关部门开展安全生产专项整治,对有关部门撤销许可的企业,依法督促其变更经营范围和注销登记;配合有关部门依法查处取缔未经安全生产(经营)许可的企业。
(二十三)食品药品监督分局
1.依法行使食品安全管理的综合监督职责,承担食品安全监督执法工作。
2.组织、指导相关生产经营单位开展安全生产专项检查及重点企业、重点危险源进行监控,完善预案,落实各项防范措施。
3.负责组织协调有关部门开展食品、药品安全事故应急救援和调查处理工作。
(二十四)区气象局
1.指导全区雷电灾害安全预警、防御工作,组织全区性防雷设施的安全性检查。2.负责区内新建、扩建、改建建筑物的防雷审批工作,并委托有资质的单位对建筑物进行阶段监测和竣工验收。
3.负责人工影响天气作业期间的安全检查和事故防范。4.负责或参与雷电灾害事故的调查处理和重大安全生产事故应急救援中的气象信息预报。
四、津南经济开发区、津南国家农业科技园区
1.负责对辖区内企业进行安全生产工作检查、指导、管理、协调和服务,并承担相应的监督管理责任。
2.组织、指导辖区内企业开展安全生产宣传教育培训工作。配合各有关部门对辖区内企业开展安全生产检查及重点单位监控工作,建立健全各类企业安全管理档案,随时掌握重点企业、重大危险源情况,并督促落实隐患整改工作。
3.根据本辖区实际情况,制定重大事故应急救援预案并组织演练。当重大事故发生时,及时组织抢救,同时向上级政府和有关部门报告事故情况,做好善后工作,协助相关部门对安全生产事故进行调查处理。
4.负责辖区内伤亡事故统计工作,并按有关规定上报。建议一;我们的领导们是否能在百忙中抽点时间关注一下贴吧呢?
建议二;职能部门是否能安排人关注是不是有关于百姓反映本部门情况的呢?对好的建议我们采纳,反映的问题及时调查核实并向有关领导汇报。使群众反映的问题和出现的一些矛盾能解决在萌芽状态中。使我们的社会更加和谐稳定。
建议三;为了打造阳光政府对百姓反映的问题及处理结果能否在贴吧里给予及时的回复呢?涉及到保密的情况除外。
建议四;政府是否能建立自己的百姓心声网站呢?
现就进一步加强督查工作提出如下意见
一、进一步明确督查工作任务和内容
(一)督查工作任务。适应全面贯彻落实科学发展观的新要求,认真研究督查工作规律,不断创新督查工作运行机制,切实加强督查队伍建设,建立集决策督查、专项查办、督查结果运用和督查调研等内容为一体的督查工作体系,不断提高督查工作的质量和水平,推动区委区政府重大决策、重要工作部署和领导批示精神的落实。
(二)督查的主要内容。①上级党委、政府的决策部署和领导批示需要督办的事项;②区委、区政府作出的重大决策和重要工作部署;③区委、区政府阶段性的重要工作部署;④区委、区政府主要领导作出的重要批示和交办的工作事项;⑤区委、区政府主要领导召开的各种会议、下基层调研、检查工作、现场办公时所作的指示;⑥各类新闻媒体反映问题需要督办的事项;⑦其他需要督查的事项。
二、进一步完善督查工作机制
(一)督查工作领导责任制。区委、区政府重大决策和重要工作部署实施后,分管区领导担负督查工作的领导责任,负责对分管部门的工作落实提出明确的质量和时限要求,跟踪问效,发现问题及时解决,并督促分管部门及时向区委、区政府报告落实情况。区委办公室、区政府办公室、区委督查室负责协助区领导抓好督促检查工作。各乡镇街道、区直各单位是决策落实的主体,对区委、区政府重要决策的落实要分解任务、量化指标、责任到人,主要负责人是第一责任人,对完成决策落实负总责;分管领导是直接责任人,对决策落实负直接责任。对出现的复杂情况、疑难问题,积极协调解决;确需提交区委、区政府研究的事项,应提出具体意见建议,报区委、区政府研究决定。同时,要结合实际,紧密围绕区委、区政府的重大决策、重要工作部署、区领导批示交办事项的贯彻落实和影响决策落实的难点、群众反映的热点问题开展督促检查。
(二)分解立项和快速交办制。对区委、区政府重大决策和工作部署,由区委办公室、区政府办公室、区委督查室在2个工作日内完成分解立项,3个工作日内将分解立项文件或督查通知单发送给责任单位,并进行跟踪督查。对年度重点工作的贯彻落实情况,由区委办公室、区政府办公室、区委督查室适时组织集中或分散督查。区委督查室收到领导批示件和交办事项后,按照“交办不过夜”的要求,立即向责任领导和责任单位进行转述,并在1个工作日内将领导批示复印件和督查通知单送达承办单位,由承办单位按批示和交办要求及时办理并反馈结果。
(三)落实情况反馈和报告制。各单位各部门要认真落实《二七区工作反馈暂行办法》,建立落实情况层层报告的工作制度,接到区委区政府的决策部署任务和领导指示批示后,要严格在规定的时限内向区委、区政府报告落实情况;突发性事件等重大事项要随时上报。对列入重点督办的事项,实行“日询问、周报告”制度,进行重点跟踪督办,天天反馈、周周报告,直至任务落实。对落实过程中出现的本部门、本单位难以协调解决的问题,按照“两个不允许”的要求,即时向区委、区政府进行报告。
(四)提醒警示制。根据事项办理时限要求,由督查部门或交办任务部门通过电话、短信、《提示函》等方式,提前向承办单位、责任人及时提醒、警示。对预提醒后仍未按时反馈落实情况的,下达书面《警示函》,进行二次告诫。对无客观原因而落实不及时或推进不力的,视情节轻重下达“红色督查令”,采取“日询问”的方式进行重点督办,并进行通报批评。
(五)督查工作联席会议制。联席会议由区委办公室主任召集,区委办公室、区政府办公室、区委督查室、行政效能监察投诉中心等部门负责人参加,原则上每月召开一次,通报情况,交流经验,研究措施,提高督查水平,促进工作落实。同时,对一些政策性、业务性较强的重要督查工作和全区重大督查活动,进行研究部署和实施。联席会议办公室设在区委督查室,负责日常协调服务工作。
(六)督查信息公开制。区委办公室、区政府办公室、区委督查室对各单位各部门的落实措施、工作进度、落实效果等进行实地跟踪督查,及时编发《督查专报》或《督查通报》对外进行公布。在《魅力二七》设立督查情况通报专栏,在政府门户网站开设督查工作专栏,将督查事项和结果在内刊和网上进行公开,推动各项工作部署的落实。
(七)督查结果综合运用制。把督查结果与目标考核、年度考评和干部使用相结合,并作为重要参考依据。按照《二七区工作督查暂行办法》的考核标准,对责任单位进行考核,考核结果定期向区纪委监察局、区委组织部、区目标考评办进行通报。对因工作落实行动迟缓、不负责任,造成工作重大失误或严重后果的,提请纪检监察部门进行责任追究,并提请组织人事部门对责任人进行组织处理。
三、进一步创新督查工作方式方法
区委办公室、区政府办公室、区委督查室、“三大一促”办公室、纪检监察和组织部门要形成督查联动机制,综合运用实地督查、调研督查、联合督查、蹲点督查、催报督查、明查暗访等手段,共同做好大事、实事、要事进展情况的督查工作。
(一)运用日询问、周报、旬报、月报、季报进行督查。对重大事项和紧急事项,采取日询问、周报告的方式,跟踪督办;区领导对分管的重点工作进行日询问,责任单位对承办的领导批示、重要任务落实情况进行周报告;对年度工作部署、阶段性工作任务,采取旬报、月报、季报的方式,定期督办,以天保周、以周保旬、以旬保月、以月保季、以季保年。
(二)运用责任书、责任状、承诺书等方式进行督查。根据工作需要,对阶段性重点工作或单项工作、需要在规定时限内落实的事项、领导交办的重要事项,区委、区政府与乡镇街道和区直部门签订目标责任书、责任状,或由乡镇街道、区直部门递交承诺书,明确目标任务、工作标准、完成时限、奖惩措施,传递压力,促进落实。
(三)聘请督查专员进行督查。建立二七区督查专员制度,选聘一批工作经验丰富、公道正派、善于和敢于反映和处理问题的机关干部担任督查专员,对区委区政府重大决策部署情况进行督促检查,对重点工作情况进行督查调研,对群众反映强烈的热点问题进行明查暗访,了解和反映基层群众的要求、意见和建议,及时反馈督查工作情况。
(四)运用定期评差、评慢、评错进行督查。每季度,评出“10个落实最慢事项”、“10个工作落实不力单位”、“10个工作落实不力个人”,抓住不落实的事,追究不落实的人,并在全区公开曝光,进行通报批评,促进工作落实。
四、进一步加强对督查工作的领导
(一)切实把督查工作摆上重要位置。各单位各部门要高度重视督查工作,明确督查工作的分管领导和专职督查人员,并定期听取督查工作汇报,研究部署督查工作。区委、区政府定期听取督查工作汇报,及时解决督查工作中遇到的困难和问题。督查部门要充分发挥职能作用,搞好综合协调、联络调度和指导工作,充分调动各单位各部门推动工作落实的积极性、创造性,建立健全上下衔接、左右沟通的大督查网络,提高督查质量和工作效能。
(二)进一步加强督查队伍建设。按照“政治强、业务精、作风硬、纪律严”的要求,配齐配强督查干部,把那些政治素质好、业务水平高、工作能力强并有一定实际工作经验的优秀人员充实到督查队伍中来。要通过政治教育、理论学习、业务培训、学习考察和实践锻炼等形式,不断提高督查人员素质和能力。要从政治上、工作上、生活上关心督查干部的成长进步,重视培养使用督查干部,充分调动和发挥其积极性和创造性。
(三)积极为督查工作创造良好环境。赋予督查部门必要的督促催办、通报批评、组织协调、处理问题等职权,以保证督查工作效果。要为督查人员提供列席会议、阅读文件、陪同领导检查等条件,使他们充分了解领导的决策意图、总体部署和工作重点,便于有针对性地开展督查。要适应加强督查工作的新要求,统筹解决好督查工作中的实际问题,提供必要的督查经费,帮助督查部门解决必备的办公设施、交通工具等,为搞好督查工作提供有力保障。
各单位各部门要结合实际,研究制定进一步加强督促检查工作的具体措施,并抓好落实。
第二篇:辞职报告可用
辞 职 报 告
我很遗憾自己在这个时候向公司正式提出辞职。
来到本公司也快七年了,正是在这里我开始踏上了社会,完成了自己从一个学生到社会人的转变。有过欢笑,有过收获,也有过泪水和痛苦。公司平等的人际关系和开明的工作作风,一度让我有着找到了依靠的感觉,在这里我能开心的工作,开心的学习。然而在工作上的毫无成熟感总让自己彷徨。记得经理曾说过,工作上如果两年以上没起色就该往自己身上找原因了。或许这真是对的,从2005年初至今,进入公司工作7年的时间里,公司给我创造了很好的学习机会和锻炼平台,而且我也得到了公司各位领导和同事的多方帮助,可是我并不能为公司创造更大的利益提供更多的帮助。在这里我首先向公司各位领导和同事道歉。
在过去的七年里,我在公司里工作的很开心,感觉公司的气氛就像一个大家庭。在这里学会了如何与同事相处,如何与监理单位和施工队建立良好关系等方面的东西。利用公司给予良好学习时间和锻炼机会,掌握的市政和公路道路桥梁施工的流程和内容,并增加许多和实践经验。我对于公司七年多的照顾表示真心的感谢!
由于我个人感觉在过去的一段时间里的表现不能让自己满意,感觉有些愧对公司这七年来的我的照顾,自己感觉自己的能力还差的很多,在公司的各方面需求上自己能力并不够。所以,经过自己慎重考虑,为了自己和公司考虑,自己现向公司提出辞职,望公司给予批准。
第三篇:无知者无畏可用材料
话题作文“不知者无畏” 【可用事例:】
1. 被“时间”忽悠的矿工们。这是发生在非洲的一个真实的故事。
6名矿工在很深的井下采煤。突然,矿井坍塌,出口被堵住,矿工们顿时与外界隔绝。
大家你看看我,我看看你,一言不发。他们的心里都很明白自己的处境,现在,他们面临的最大问题就是缺乏氧气,如果应对得当,井下的空气还能维持 3个小时。最多 3个半小时。
外面的人必须重新打眼钻井才能救出他们,而这项工程在 3个半小时之内绝不可能完成。
这些有经验的矿工决定尽一切努力节省氧气。他们商量,尽量减少体力消耗,都关掉了随身携带的照明灯,平躺在地上。
在大家都默不作声,四周一片漆黑的情况下,很难估算时间。他们当中只有一个人戴着手表。
过一会儿就有人不安地问一句:现在几点了?
这时,连多说一句话都是奢侈的了,因为那会消耗体能,过早丧命。他们当中的负责人意识到了这个问题,他要求由戴手表的人来掌握时间,每个小时通报一次,其他人一律不许再问。大家遵守了命令。时间被拉长了,在他们看来,1分钟就像1个小时那样难熬。似乎过了一天的时间,这个戴表的人才低声说:“过一个钟头了。” 大家默默听着,都不再说话,空气中弥漫着一股愁云惨雾。
又过了很久很久,戴表的人用更低的声音说:“又过一个钟头了。” 每听到一次报时,大家的心里就增加一份绝望。井下的空气最多能维持 3个半小时······
6个人的呼吸越来越急促,几乎奄奄一息了,他们都在心里计算着自己还有多少时间。
四周似乎越来越黑暗,时间似乎越来越缓慢,呼吸似乎越来越艰难。过了很长很长很长时间,那个戴表的人用微弱得几乎听不见的声音又嘀咕了一句:“又过一个钟头了······” 接着,他就再没有任何声息了。一般说来,接下去他们就该依照体质的强弱,一个接一个地死去了。现在的坚持,完全是靠毅力了。此时,他们甚至已经不知道自己是躺在被堵死的矿井中,还是漆黑的地狱中······
就在这时,他们听到了头上传来挖掘的声音!而且那声音越来越清晰!很快,一缕光线就射了进来······ 这时,矿难发生已经 7个小时了。
营救人员发现,6名被困矿工,竟然有5个人还活着!只有一个人窒息而死,他就是那个戴表的人。被困的时候,随着时间慢慢过去,戴表的人发现自己成了死神脚步的通报者。他擅自决定,把时间拉长,在他第二次告诉大家过了一个小时的时候,其实已经过了两个小时。最后一直过了 4个钟头,他才用生命最后一丝力气说出:“又过一个钟头了······”
最后他死了,其他五个人全活了下来。2. 最后一片叶子
美国作家欧·亨利在他的小说《最后一片叶子》里讲了个故事:病房里,一个生命垂危的病人从房间里看见窗外的一棵树,在秋风中一片片地掉落下来。病人望着眼前的萧萧落叶,身体也随之每况愈下,一天不如一天。她说:“当树叶全部掉光时,我也就要死了。”一位老画家得知后,用彩笔画了一片叶脉青翠的树叶挂在树枝上。
最后一片叶子始终没掉下来。只因为生命中的这片绿,病人竟奇迹般地活了下来。3.马云与阿里巴巴
马云从小就是一个傻孩子,一个头脑愚钝的孩子。小时候爱打架,打了无数次的架“没有一次为自己,全是为了朋友”。“义气,最讲义气”。打得缝过13针,挨过处分。被迫转学杭州八中。由于家庭出身不好,家庭压力大,父亲脾气火爆。马云在父亲拳脚下长大,在家呆不住,却特别爱交朋友。
他说:“我大愚若智,其实很笨,脑子这么小,只能一个一个想问题,你连提三个问题,我就消化不了。”从小,马云功课就不好,数学考过1分。只有英语特别好,原因竟然是:“爸爸骂我,我就用英语还口,他听不懂,挺过瘾,就学上了,越学越带劲。”从13岁起,马云就骑着自行车带着老外满杭州跑。
从小到大,马云不仅没有上过一流的大学,而且连小学、中学都是三四流的。初中考高中考了两次。数学31分。高考数学21分。高考失败,弱小的马云做起踩三轮车的工作。
直到有一天在金华火车站捡到—本书,路遥的《人生》,这本书改变了这个傻孩子:“我要上大学。”
1984年马云几番辛苦考入杭州师范大学外语系——是专科分数,离本科差5分,但本科没招满人,马云幸运地上了本科。
大学毕业后,马云在杭州电子工业学院教英语。1991年、马云和朋友成立海博翻译社。结果第一个月收入是600元,房租是1500元。
大家动摇的时候,对经商不甚了了的马云一个人背着个大麻袋去义乌,卖小礼品,卖鲜花,卖书,卖衣服,卖手电筒。“喏,看见那个大陶狗吗?当年我就卖过它。”记者采访马云时,他兴奋的指着一个卖小玩意儿的人说道。
两年马云就干成了这件傻事,不仅养活了翻译社,组织了杭州第一个英语角,而且他是全院课程最多的老师。1995年,在出访美国时首次接触到因特网,回国后他就创办了网站“中国黄页”。1997年,加入中国外经贸部,负责开发其官方站点及中国产品网上交易市场。
1999年,正式辞去公职,创办阿里巴巴网站,开拓电子商务应用,尤其是B2B业务。目前,阿里巴巴是全球最大的B2B网站之一。阿里巴巴网站的成功,使马云多次获邀到全球著名高等学府讲学,当中包括宾夕法尼亚大学的沃顿商学院、麻省理工、哈佛大学等。4.袁隆平的自述
我为什么研究杂交稻呢?那是在上世纪60年代初的一天,我到田里选种,突然看见一株“鹤立鸡群”的水稻,穗大而且数特别多,后来我把它收入做种子。第二年种上去,我管理非常细致,因为当时的品种亩产一般只有五六百斤。我把它作为一个非常有希望的品种,每天去观察。可是到出穗的时候,我大失所望:我种了一千多株,没有一株像它的“老子”那样好。我一声叹息,坐在田埂上发呆,后来突然来了灵感,心中一阵欣喜,因为只有杂种的后代才可能出现分离,正好符合孟德尔的分离规律。这就证明了我发现的“鹤立鸡群”的优良稻种是一株天然的杂交稻。这样,我就萌发了要研究杂交稻的决心。
但是在那个年代,传统的观点认为水稻、小麦等自花授粉植物是没有杂交优势的。因此,我的研究受到不少人的反对和讽刺。而我对自花授粉也知之甚少。但是我认为,杂交优势是生物界的普遍现象,小到微生物,高到人类都有杂交优势,有没有杂交优势不是由生殖方式决定,而在于杂交双亲的遗传性是否有差异,而水稻也不会例外。抱着试试看的心态,也为了证明水稻具有杂交优势,1972年夏我们在湖南省农科院做了试验,种上杂交稻来说服有关人。我们种了四分田,还有对照品种,就是一个是高产品种,另一个是常规品种。我们的杂交稻长势很旺,对照种只有七、八寸高,我们的有1尺高了,对照种只有四五个分蘖,杂交稻就有七八个分蘖了,长势非常旺。可最后验收的时候,结果却不尽如人意,产量还比对照种略有减产,而稻草增加了将近7成。于是有人讲风凉话,说“可惜人不吃草,如果要吃草的话,你这个杂交稻就大有发展前途了”。
后来就开会研究到底要不要支持杂交稻,我们那个时候是少数派,大多数是反对,说这个杂交稻是一堆草。我冷静地分析,站起来发言的时候,我说:“从表面上看,我们这个试验是失败了,我们稻谷减产,稻草增产。但是从本质上讲我的试验是成功的,为什么?因为现在真正的焦点是水稻这个自花授粉作物究竟有没有杂交优势,现在试验证明了水稻具有强大的杂交优势,这是大前提。至于这个优势表现在稻谷上,还是稻草上,那是技术问题。因为我们经验不足,配组不当,使优势表现在稻草上了。我们可以改进技术,选择优良品种,使其发挥在稻谷上,这是完全做得到的。”
领导们被说服了,他们说:“是呀,老袁说的有道理,应该继续支持。”失败是成功之母,有好多事情失败里包含着成功的因素,因为失败当中有经验、有教训。搞科学实验决不会一帆风顺,不要怕失败,要善于从失败中总结经验教训,所谓“吃一堑长一智”。一失败就灰心丧气,到此止步,这样的人是很难成功的。马克思有句名言:“在科学上没有平坦的大道,只有不畏劳苦沿着陡峭山路攀登的人,才有希望达到光辉的顶点。”我的体会是,只要大方向是对的,就应该有百折不挠的精神,才有希望取得最后的成功。5.对演艺一无所知的史泰龙
大家都知道他是一个世界顶尖级的电影巨星,可他对演艺却一无所知。
史泰龙出生在一个“酒赌”暴力家庭,父亲赌输了就拿他和母亲撒气,母亲喝醉了酒又拿他来发泄,他常常是鼻青脸肿,皮开肉绽。高中毕业后,史泰龙辍学在街头当起了混混儿,直到20岁那年,有一件偶然的事刺痛了他的心。“再也不能这样下去了,要不就会跟父母一样,成为社会的垃圾!我一定要成功!”史泰龙开始思索规划自己的人生:从政,可能性几乎为零;进大公司,自己没有学历文凭和经验;经商,穷光蛋一个……没有一个适合他的工作,他便想到了当演员,虽说他自己认为自己当演员还有天赋,但对演员应该具备的资质及条件却一无所知。但他就是喜欢这个职业。
凭着喜欢,他来到好莱坞,找明星、求导演、找制片,寻找一切可能使他成为演员的人,四处哀求:“给我一次机会吧,我一定能够成功!”可他得来的只是一次次的拒绝。史泰龙依旧痴心不改,一晃两年过去了,遭受到了1000多次的拒绝,身上的钱花光了,他便在好莱坞打工,做些粗重的零活以养活自己。
“我真的不是当演员的料吗?难道酒赌世家的孩子只能是酒鬼、赌鬼吗?不行,我一定要成功!”史泰龙暗自垂泪,失声痛哭。“既然直接当不了演员,我能否改变一下方式呢?”史泰龙开始重新规划自己的人生道路,开始写起剧本来,两年多的耳濡目染,两年多的求职失败经历,现在的史泰龙已不是过去的他了。一年后,剧本写出来了,他又拿着剧本四处遍访导演,“让我当男主角吧,我一定行!”“剧本不错,当男主角,简直是天大的玩笑!”他又遭受了一次次的拒绝。“我不知道你能否演好,但你的精神一次次地感动着我。我可以给你一次机会。”在他遭遇1300多次拒绝后的一天,一个曾拒绝过他20多次的导演终于给了他一丝希望。三年多的准备,终于可以一展身手了,史泰龙丝毫不敢懈怠,全身心地投入。第一个电视连续剧创下了当时全美最高收视纪录——史泰龙成功了!6.曹操与望梅止渴
有一年夏天,曹操率领部队去讨伐张绣,天气热得出奇,骄阳似火,天上一丝云彩也没有,部队在弯弯曲曲的山道上行走,两边密密的树木和被阳光晒得滚烫的山石,让人透不过气来。到了中午时分,士兵的衣服都湿透了,行军的速度也慢下来,有几个体弱的士兵竟晕倒在路边。
曹操看行军的速度越来越慢,担心贻误战机,心里很是着急。可是,眼下几万人马连水都喝不上,又怎么能加快速度呢?他立刻叫来向导,悄悄问他:“这附近可有水源?”向导摇摇头说:“泉水在山谷的那一边,要绕道过去还有很远的路程。曹操想了一下说,“不行,时间来不及。”他看了看前边的树林,沉思了一会儿,对向导说:“你什么也别说,我来想办法。”他知道此刻即使下命令要求部队加快速度也无济于事。脑筋一转,办法来了,他一夹马肚子,快速赶到队伍前面,用马鞭指着前方说:“士兵们,我知道前面有一大片梅林,那里的梅子又大又好吃,我们快点赶路,绕过这个山丘就到梅林了!”士兵们一听,仿佛已经吃到嘴里,精神大振,步伐不由得加快了许多。7.王勃接笔写《滕王阁序》
上元二年(675年)秋,王勃前往交趾看望父亲,路过南昌时,正赶上都督阎伯屿新修滕王阁成,重阳日在滕王阁大宴宾客。王勃前往拜见,阎都督早闻他的名气,便请他也参加宴会。阎都督此次宴客,是为了向大家夸耀女婿孟学士的才学。让女婿事先准备好一篇序文,在席间当作即兴所作书写给大家看。宴会上,阎都督让人拿出纸笔,假意请诸人为这次盛会作序。大家知道他的用意,所以都推辞不写,而王勃不知,接过纸笔,当众挥笔而书。8.萧伯纳与小女孩 一次,英国著名戏剧家,诺贝尔文学奖获得者萧伯纳漫步在莫斯科街头,遇到一个聪明伶俐的小女孩,便和她聊了起来。告别时,萧伯纳对小女孩说:“回去告诉你妈妈,今天同你玩的是世界著名的萧伯纳。”小女孩望了萧伯纳一眼,学着大人的口气说:“回去告诉你妈妈,今天同你玩的是莫斯科小女孩安妮娜。”萧伯纳一时语塞。
后来,他常回忆起这件事,并感慨万分地说:一个人无论有多大的成就,对任何人都应平等对待,要永远谦虚。9.沙漠中的智者
有一年,一支英国探险队来到了撒哈拉沙漠的某个地区。他们在茫茫的沙海里负重跋涉,阳光下,漫天飞舞的风沙就像烧红的铁砂一般,扑打着探险队员的面孔。他们口渴似炙,心急如焚——大家的水都没有了。这时,探险队队长拿出一支水壶,说:“这里还有一壶水。但穿越沙漠前,谁也不能喝。”
于是,一壶水,成了穿越沙漠的信念的源泉,成了求生的寄托。水壶在队员手中传递,那沉甸甸的感觉,使队员们濒临绝望的脸上,又显露出坚定的神色。最终,探险队顽强地走出了沙漠,挣脱了死神之手。大家喜极而泣,用颤抖的手,拧开了那壶支撑他们精神和信念的水——但缓缓流出来的,却是满满的一壶沙子!10.俞敏洪与新东方
“大学5年没有一个女孩子爱上自己。”
俞敏洪不止一次提到北大,这个令他百感交集的伤心地。
现在的北大依然冰清如初,在他的梦痕里无法剥落。树影婆娑的北大校道,爱情、学业、事业在激情地向前奔流,却似乎全与他无关。
“我是全班惟一从农村来的学生,开始不会听说英语,结果从A班调到较差的C班。进大学以前没有读过真正的书,大三的一场肺结核使我休学一年,结果练就了现在这副瘦削的土魔鬼身材。”俞敏洪一打开话匣便不胜唏嘘。
在多数人眼里,俞敏洪属于沉默寡言被别人冷落的后进生,别人津津乐道的爱情对他来说却完全真空。“北大5年,没有一个女孩子爱我。”他说。因此,孤独、耐心、坚韧······所有磨练人的品性他都一一具备了。他说对爱情的饥渴使他“见到任何一个女孩都想扑上去”。显然是夸张之说,但依然贴切地描述了他那时的心境。
俞敏洪回忆,他的第一次爱情邂逅是在 1986年3月26日晚上9点,那时他的身份是北大一名英语教师。这第一份忠贞的爱情在历经波折后一直延续至今天。采访当中,他说他刚刚收到老婆的短信,并一五一十地念出来:“老公,我好想你啊。”说这句话的神情竟然比他之前那句“去年已经有80万学生”还要振奋。
由于在外做培训惹怒了学校,当时北大给了他个处分。他觉得呆下去没有意思,只好选择了离开。那时是在1991年底,他即将迈向而立之年,走出北大成了人生的分水岭。
“北大踹了我一脚。当时我充满了怨恨,现在充满了感激。”俞敏洪说,“如果一直混下去,现在可能是北大英语系的一个副教授。” 这些幸运和不幸,都在北大降临于他。他注定是大器晚成的人:高考三年,迟到的爱情,病魇的耽误,拖沓三年半出国未果,还有学校的不公处分。北大成了一切的酸甜苦辣的吞吐地。
辞职后,一条充满挑战的路横亘在他的面前。对于他来说,当个大学的英语老师还可以,要走出北大创办学校还真让他摸不着头脑。
“我是惟一他们不会想到我会搞出这个学校的人。”俞敏洪坦然地说,“任何一个人办了新东方都情有可原,但我就不能原谅。因为我在同学眼里是最没出息的人。真是这样,你可以去问他们。所以我用事实告诉那些在国外的大学同学,我的成功给他们带来了信心,结果他们就回来了。”现在他自诩他像“一只土鳖带着一群海龟在奋斗。”
俞敏洪的高三补习班同学、现在北京新东方校长周成刚调侃地说,“苦苦奋斗了20几年,想不到竟要受他制裁!”
北大这个令他爱恨交加的地方成就了他和他的新东方。俞敏洪表示他仔细思考过自己的一辈子,没有像别的同学盯着名次和荣誉,他的眼光跳过了这个境界。
现在俞敏洪被媒体评为最具升值潜力的十大企业新星之一,20世纪影响中国的25位企业家之一。他主编了多套实用教学光盘,成为中外颇负盛名的英语教学专家,由他创办的新东方学校目前已经占据了北京80%,全国50%的出国培训市场,年培训学生超过15万人次,国外的留学生70%是其弟子,由于他对留学教育专业的杰出贡献,被社会誉为“留学教父”。11.伽利略不迷信权威
意大利科学家伽利略从少年时起,就好学不倦,喜欢思考。有一次老师讲胚胎学时说:“母亲生男孩还是女孩,是由父亲身体的强弱决定的。父亲身体壮,母亲生男孩,反之母亲生女孩。”伽利咯发问道:“我家邻居男的身体非常壮,从来没见他生过病,可他老婆一连生下5个女儿,怎么解释?”老师搬出了理论根据,说:“我是根据亚里士多德的观点讲的,不会错。”
从这时起,年轻的伽利略就对亚里士多德的观点进行了研究,虽然他对物理学的相关知识知之甚少。古希腊大学者亚里士多德论断,重的物体下落速度比轻的下落速度快,这个理论一直被人们奉为绝对真理。但伽利略经过一系列实验,证明亚里士多德是错的。如果没有空气的阻力,重的物体和轻的物体下落速度相同。为此,伽利略做了著名的“自由落体”实验。他在比萨斜塔上扔下两个同样大小的球,一个是木头的,一个是铁的,站在塔下的无数观众亲眼看到两个球在同一时刻落地,大家都惊叹不已。
12.琴纳不受干扰,坚信牛痘接种能成功
牛痘牛的一种急性传染病。可琴纳是英国医生,不是兽医,他却设想把牛的这种病原体接种在人的身上,以此来预防天花。他经过多次实验证实这种方法对于天花是有效的。没想到这一结论被当时许多人认为是冒天下之大不韪。有人说他褒渎神明,有人指责他把人当牲口,有人提议剥夺他行医的权力,有人建议把他开除出医学会。但对这些世俗的偏见和恶意的攻击,琴纳不予理会,他坚信自己的结论。不久,科学证明了他的正确。他依靠自信,打开了免疫学的大门,并因此拯救了无数人的生命。
13.世界上年龄最小的发明家——杜冰蟾
杜冰蟾,一个十七岁的女孩子,在读初中时就发明了“汉字全息码”,一举解决了汉字电脑化的世界性大难题,成为世界大发明家中年龄最小的一个,被载入《世界名人录》。
她的成功,靠的是敢于向权威挑战的精神。一天他爸爸正在校对《新部首大词典》,杜冰蟾突然发现“义”出现在两处,他爸爸解释说,有的字很难定部首。她却不以为然,并发表自己的看法,为什么不按笔顺规则来收呢?如果按先上后下的笔顺,义就不存在这个问题。为了分解200个字的部首,她把自反锁在房间,谁也不许进去。一顿晚饭,妈妈不知要热多少次。
三年的辛苦,终于使她从幼稚走向成熟,从校园走向社会。
第四篇:可用好词好句
1民国旧忆。他是八旗最后的皇亲国戚;她是空有贵族名头的京城第一美人;她是出淤泥而不染,愿得一心人,白首不相离的当红戏子。大家族的束缚,家国洪流的巨变,他救不了爱情,救不了根深蒂固的逆流,更救不了自己。
旧忆就像一扇窗,推开了就再难合上。谁踩过枯枝轻响,萤火绘着画屏香。为谁拢一袖芬芳,红叶的信笺情意绵长,他说就这样去流浪,到美丽的地方。谁的歌声轻轻、轻轻唱,谁的泪水静静淌。那些年华都付作过往,他们偎依着彼此说好要面对风浪。又是一地枯黄,枫叶红了满面秋霜。这场故梦里,人生如戏唱,还有谁登场。昏黄烛火轻摇晃,大红盖头下谁彷徨。流泪的花和荣喜堂,静静放在一旁。回忆像默片播放,刻下一寸一寸旧时光,他说就这样去流浪,到美丽的地方。谁的歌声轻轻、轻轻唱,谁的泪水静静淌。愿化一双鸟儿去飞翔,任身后哭号嘶喊着也追不上。又一年七月半晚风凉,斜阳渐矮只影长。这场故梦里,孤桨声远荡,去他乡,遗忘。
2挥不走的萤火。跟着我它说雨停的时候。夏天就过了。悄悄流淌的小河。陪着我它说想哭的时候。听它唱首歌。河流上的那片星空明明是璀璨的。为什么它们比我还寂寞。木瓜叶绿了。相遇这场小意外。你想不明白我会假装着存在。银河亮起来我真感觉得到爱。它经历过炎夏却不曾盛开。每当下雨到夜深。牵挂着。妈妈种的茉莉花。是不是开了。幸运的是还有你。等着我。看着萤火一颗颗安静的飞过。河流上的那片星空明明是璀璨的。为什么它们比我还寂寞。木瓜叶绿了相遇这场小意外。你想不明白我会假装着存在。银河亮起来我真感觉得到爱。它经历过炎夏却不曾盛开。我经历过炎夏却还在等待
3晨光拨碎梦乡,谷雨前最后一场霜,推开了窗,烟雨依旧氤氲了茶乡,银针静悬水中央,青瓷碧螺壶底藏,心事嫩芽两叶静静舒长,飞絮绕过柳塘,樱桃熟了点点红妆,堂前檐下衔泥的燕又飞过几双,春露已采满一觞,不经意滴入了泪光,她将一碗春愁付了韶光,饮一杯就忘了春夏,又一杯就惊起了牵挂,再一杯就潇潇暮雨,空山和泪下,那异乡不眠的人啊,他遥望着远方,心若飘倦了,魂牵梦萦是茶香
4朝露昙花,咫尺天涯,人道是黄河十曲,毕竟东流去。八千年玉老,一夜枯荣,问苍天此生何必? 昨夜风吹处,落英听谁细数。九万里苍穹,御风弄影,谁人与共?千秋北斗,瑶宫寒苦,不若神仙眷侣,百年江湖。
5此身已入江湖 莫回顾 君行君去处 华山路 英雄同赴 历历一场近却无 梦昔年 千金买骨 呼猎鹰 踏天地荒芜 最怕见 白首 侠客孤 穷一生 寻一处 归途 酒一觞 醉黄昏入愁肠 月依墙 映铜镜两鬓霜 这一生孤注 两茫茫看尽了 过客红妆 叹英雄多寂寞 应如我 求一败如何 是情多 未将红尘看破 笑平生 这一败 求不得 酒一觞 醉黄昏入愁肠 月依墙 映铜镜两鬓霜 这一生孤注 两茫茫 谁共我 迟暮还乡
6蒲公英抱着微风轻旋 飘落在我身边 池塘里蛙声唱着夏天 唱着宁静的夜 你抛出手里银色鱼线
溅起月光一片 水面闪动着涟漪圈圈 荡到我心里面 紫楹花散落路边 像红酒结成雪 葡萄藤静静爬上窗檐 问候一盆凤仙 你在我心里若隐若现 让空气都很香甜 就这样傻傻笑着入眠 一整个夏天 一天一天 悸动编织着想念
是飞扬马尾上 纯色的棉线
每当晚风撩起发线知了唱得缠绵 就想起那时的我 那年的初夏夜 初夏是单车走在乡间林荫的小道 树林间忽然飞过叫不出名字的鸟 那时的我们没有手机相机摄像机 所以记得特别牢 下坡了别尖叫 快搂住我的腰 后座的你却给我一个紧紧的拥抱 云飘在半山腰 彩虹下的山脚 一片池塘和绿草 初夏是放下单车自由自在地奔跑 被风吹落的草帽怎么追也追不到 累了就看落日往一片向日葵那儿掉 你靠着我睡着 我卷起裤脚 打捞着菱角 两只蜻蜓好奇地围着我环绕 岸边老树高 你碎花裙角 随秋千摇啊摇 一天一天 悸动编织着想念 是飞扬马尾上 纯色的棉线 每当晚风撩起发线 知了唱得缠绵 就想起那时的我 那年的初夏夜 小镇又飘起炊烟 暮霭开始蔓延 绯红色天边慢慢沉淀仿佛羞红的脸 累了的我们肩靠着肩 依偎在木篱旁边 看着琥珀色的新月 幽幽悬上了屋檐 一晃就这么多年 又是一个夏天 考试花匆匆开了又谢 还来不及流连 青春交过一张张答卷 离别就近在眼前 哦我只能独自怀念 初夏的每一天 一天一天 悸动编织着想念 是飞扬马尾上纯色的棉线 每当晚风撩起发线 知了唱得缠绵 就想起那时的我 那年的初夏夜 一天一天悸动编织着想念 是飞扬马尾上 纯色的棉线 每当晚风撩起发线 知了唱得缠绵 就想起那时的我 那年的初夏夜
7刀光 不依不饶 跌进谁的怀抱 午夜战场大漠荒烟 如狂草 霜降 满城萧条 冷了长亭短桥 眉间朱砂乱世年华 如刻刀 塞上 乌衣年少 换谁遗世的笑 剑指天山西出阳关 人迹渺 风沙 磨断古道 蔓延谁的眉梢 旌旗连城浊酒倾觞 暮云烧
雪落苍茫 雪若白发 雪若花凋 惹乱飞鸟 同望苍霞 同去天涯 同穿素缟 明月同邀 断了弓弦 断了心跳 断了浮生 望断缥缈 心如三月 心如荒草 心如泥沼 陷了也好 目光 透过剑鞘 纠缠谁的眼角 他上城楼他解战袍瀚海云涛 寄逍遥 断墙 千年不倒 铭刻谁的记号 羌声单薄红尘颠倒换谁凭栏 谁折腰 江山 风雨飘摇 浪荡谁的心跳 盛世长安花对残阳 忘前朝 你的手 牵谁衣角 一路奔逃 狼烟烽火的喧嚣 谁煮酒 一生醉笑 千杯难销 浮花浪蕊的拥抱
8他在夜里把灯点 四书五经读几遍 是她青梅竹马两小无猜 守在一边 她在灯下把墨 研荆钗布裙一双眼看他寒窗苦读十年 誓要上得金殿 送良人到渡口 她说一生也为你守候 他说等我金榜题名 定不辜负 你温柔 十八年守候 她站在小渡口十八年温柔 他睡在明月楼 那孤帆去悠悠把她悲喜全都带走 千丝万缕堤上的柳 挽不住江水奔流 看春花开又落 秋风吹着那夏月走 冬雪纷纷又是一年 她等到 人比黄花瘦 她在夜里把灯点 江阔云低望几遍 云里几声断雁西风吹散多少思念 想他灯下把墨研一字千金是状元 等他衣锦还乡 等过一年又是一年 谁打马渡前过 回身唤取酒喝一口 低声问是谁家姑娘 如花似玉为谁留十八年守候 她站在小渡口十八年温柔 他睡在明月楼 那孤帆去悠悠把她年华全都带走 千丝万缕堤上的柳 挽不住江水奔流看春花开又落 秋风吹着那夏月走 冬雪纷纷又是一年她 等到 雪漫了眉头 听醒木一声收 故事里她还在等候 说书人合扇说从头 谁低眼 泪湿了衣袖 她走过堤上柳 夕阳西下的小渡口 风景还像旧时温柔 但江水 一去不回头
9有没有剩下回望的时间 再看我一眼 我分不清天边 是红云还是你燃起的火焰 哪一世才是终点 彻悟却说不出再见 有没有剩下燃尽的流年 羽化成思念 是尘缘还是梦魇 是劫灰还是升起的炊烟 哪一念才能不灭 是涅磐还是永生眷念 幻化成西天星光是你轮回的终点 寂灭到永生沙漏流转了多少时间 你在三途河边凝望我来生的容颜 我种下曼佗罗让前世的回忆深陷 多少离别才能点燃梧桐枝的火焰 我在尘世间走过了多少个五百年 曼佗罗花开时谁还能够记起从前 谁应了谁的劫谁又变成了谁的执念
10拉萨雪纷乱了几千年 安静堆积到红尘湮灭 手中的香燃得明明暗暗 雪地上的脚印深深浅浅 好象是没有结局的预言 学他们跪在雪山面前 悄悄的说了很多心愿 跟着人群走过了几条街 捧着酥油茶坐在路边 幻想着玛吉阿米的容颜 放不下吗 期待很浅 传说中的爱向来美得很遥远 故事结束 谁也无言 抬头却看见了不一样的蓝天 她坐在布达拉宫的身边 想了半天 慵懒的街走过多少遍 那风马也看了许多天 身边的人眉目淡淡笑叹倦 阳光雨下忽然出现飘雪 四季轮回之间明白了哪些 晴天的雪 雨夜的月 迷雾中的轨迹开始变得明显 从此心情 不再深浅 说声再见了那些伤感的字眼 前世种下的花会开在 今生的路边 醒来时忘记了夜间风雪 只是在梦里却多了一些感觉 总会有一天都慢慢不见 哪怕曾经是那么亲密无间
11周帝白炎死在称帝十载后的一个雪夜。这个草莽出身的皇帝不喜奢华,逼宫夺位后便废弃了前朝敬帝所建的华美宫室,而每夜宿在帝宫内的九龙塔,死时亦盘膝在塔顶石室几案前的蒲团上,正对着壁上一幅画像。倘有历过前朝的宫女在,定会认出,那画上颜色无双的女子,正是前朝敬帝所封的最后一位贵妃。原来在倾国的十年之后,白炎终究追随那人而去。他身后并未留下只言片语。于是所有关于周朝开国皇帝的谜团,都与那悬于九重宝塔之上、隐在七重纱幕背后的画像,一并被掩埋进厚重的史书里。
刀戟声共丝竹沙哑 谁带你看城外厮杀 七重纱衣 血溅了白纱 兵临城下六军不发 谁知再见已是 生死无话当时缠过红线千匝 一念之差为人作嫁 那道伤疤 谁的旧伤疤 还能不动声色饮茶 踏碎这一场 盛世烟花 血染江山的画 怎敌你眉间 一点朱砂 覆了天下也罢
始终不过 一场繁华 碧血染就桃花 只想再见 你泪如雨下 听刀剑喑哑 高楼奄奄一息 倾塌 是说一生命犯桃花 谁为你算的那一卦 最是无瑕 风流不假 画楼西畔反弹琵琶 暖风处处 谁心猿意马 色授魂与颠倒容华 兀自不肯相对照蜡 说爱折花 不爱青梅竹马 到头来算的那一卦 终是为你 覆了天下 明月照亮天涯 最后谁又 得到了蒹葭 江山嘶鸣战马 怀抱中那 寂静的喧哗 风过天地肃杀 容华谢后 君临天下 登上九重宝塔 看一夜 流星飒沓 回到那一刹那 岁月无声也让人害怕 枯藤长出枝桠 原来时光已翩然轻擦 梦中楼上月下 站着眉目依旧的你啊 拂去衣上雪花并肩看 天地浩大
12院子的梧桐 那是爷爷的爷爷的沧桑 喜鹊不慌不忙 落在枝头唱的有模有样 老旧的木板房 透过了那扇格子窗 我依然记得 外婆煮的南瓜汤 先生在学堂 摇头晃脑戒尺总拿手上 三字经的篇章 我们跟着声声念的响亮 斑驳的牌坊 残留断章 落款已不详 临街的酒坊 人声熙攘谁还吵着来二两 梦里的月光 洒满了回家的小巷 紧握着那些时光 可你已不在我身旁 泼墨三千丈 只能化成黑白宣张 那口大水缸 装的是旧时月光 谁家的小狗 趴在老路边享受着阳光 我眯着眼睛想 天那边究竟是啥模样 少年的脸上 怎么还写着 浅浅的忧伤 天真的姑娘 穿上新的花衣裳 梦里的月光 洒满了回家的小巷 紧握着那些时光 可你已不在我身旁 泼墨三千丈 只能化成黑白宣张 那口大水缸 装的是旧时月光 梦里的月光 洒满了我回家的小巷 我把回忆放枕上 陪你走一趟 故事在流浪 伴着我的琴声悠扬 谁哼的小曲 还在青石巷 回荡 转身 消逝在烟水茫茫
13无意停留 风沙 大漠孤烟 天涯 长河落日 看江南 人家 轮回更迭 作罢 不过一世 烟花 繁华如烟 看你眉目 如画 刀剑声声喑哑 千骑万马厮杀 一剑轻安你倾尽天下 转身的手法如此潇洒 我拼却一生用命画的押 却始终等不到你来拿 戏院的二胡呼啦啦啦的拉 谁遮半面弄一手琵琶 红妆京腔唱泪晕开了脸颊 到底是谁伤了人家 唱一曲作罢
14幽幽风竹 曲径深处 藏几家门户 烟锁迷雾 亭台小筑 故事看不清楚 断崖处 豪情当初 留赤壁手书
我辗转史册 你在何处 轻舟浅渡 江河日暮 取杜康小煮 微醺小屋 梦回前朝 情节跌宕起伏 倾目长伫 看东风 是谁的旗鼓 江山谁主沉浮 转眼虚无 我沏一壶 你的风骨 信手魏书 千年豪气 可惜东水不复 边外草木 一岁又枯 你已成千古 我掬一本 怀故 只为你读 我沏一壶 你的风骨 落笔成赋 江水东渡 一页青史孤独 尘埃化土 流年几度 背景渐模糊 一曲复古 我不成熟 等谁来谱
15夕阳远 晚霞流水 杨柳岸 湖边鸳鸯睡 花前月下 竹马绕青梅 望天涯 痴心给了谁 青草黄 又是一岁
相思诀 宣纸写无悔 三千过往 惆怅怎消退 花容谢 鸾镜梳枯萎 西风吹散了落叶成堆 窗前月 凄美了是非 冷雁南飞 而我面向北 自锁眉 凭栏等谁归 红尘累而我徒自伤悲 谁的泪 打湿了结尾 往事成灰 找不回完美 楚心碎 冷落在深闺 我为你拓成一曲相思碑 仿佛落花伴流水的依偎 亭下煮酒一杯灼伤了谁的眼泪 为你拓成一曲相思碑 繁华似水的结局是凄美 案前轻描勾勒书写一字归 而我等谁不回
16一夜风雪 塞外马蹄踏星辰 刀剑纷纷 一身红衣寄风尘 血洒荒城 那染色的年轮 我用生命写下 来世相见 勿等 长亭短亭 送了一程又一程 月冷油灯尽 小巷又几更 青丝落成秋霜 叹几壶热泪冷 琵琶声 一段曾经还在等 边荒外的夕阳渐渐黄昏不见你归程 老树枯藤 昏鸦还不肯安身 月光偷偷打量可怜缘分 岁月的年轮 再诚恳 也渡不过红尘 划地三尺只为转世灵魂换你的生辰 诵一段因果 结来世的红绳 绣花针针恨 缝鸳鸯的枕 我用一生来陪你等 等缘分认真 长亭短亭 送了一程又一程 月冷油灯尽 小巷又几更 青丝落成秋霜 叹几壶热泪冷 琵琶声 一段曾经还在等 边荒外的夕阳渐渐黄昏不见你归程 老树枯藤 昏鸦还不肯安身 月光偷偷打量可怜缘分 岁月的年轮 再诚恳 也渡不过红尘 划地三尺只为转世灵魂换你的生辰 诵一段因果 结来世的红绳 绣花针针恨 缝鸳鸯的枕 我用一生来陪你等 等缘分认真
第五篇:数据结构习题(可用)
第 1 章 绪 论
1.填空
⑴()是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。【解答】数据元素
⑵()是数据的最小单位,()是讨论数据结构时涉及的最小数据单位。【解答】数据项,数据元素
【分析】数据结构指的是数据元素以及数据元素之间的关系。
⑶ 从逻辑关系上讲,数据结构主要分为()、()、()和()。【解答】集合,线性结构,树结构,图结构
⑷ 数据的存储结构主要有()和()两种基本方法,不论哪种存储结构,都要存储两方面的内容:()和()。
【解答】顺序存储结构,链接存储结构,数据元素,数据元素之间的关系 ⑸ 算法具有五个特性,分别是()、()、()、()、()。【解答】有零个或多个输入,有一个或多个输出,有穷性,确定性,可行性
⑹ 算法的描述方法通常有()、()、()和()四种,其中,()被称为算法语言。【解答】自然语言,程序设计语言,流程图,伪代码,伪代码 ⑺ 在一般情况下,一个算法的时间复杂度是()的函数。【解答】问题规模
⑻ 设待处理问题的规模为n,若一个算法的时间复杂度为一个常数,则表示成数量级的形式为(),若为n*log25n,则表示成数量级的形式为()。【解答】Ο(1),Ο(nlog2n)【分析】用大O记号表示算法的时间复杂度,需要将低次幂去掉,将最高次幂的系数去掉。2.选择题
⑴ 顺序存储结构中数据元素之间的逻辑关系是由()表示的,链接存储结构中的数据元素之间的逻辑关系是由()表示的。
A 线性结构 B 非线性结构 C 存储位置 D 指针 【解答】C,D 【分析】顺序存储结构就是用一维数组存储数据结构中的数据元素,其逻辑关系由存储位置(即元素在数组中的下标)表示;链接存储结构中一个数据元素对应链表中的一个结点,元素之间的逻辑关系由结点中的指针表示。
⑵ 假设有如下遗产继承规则:丈夫和妻子可以相互继承遗产;子女可以继承父亲或母亲的遗产;子女间不能相互继承。则表示该遗产继承关系的最合适的数据结构应该是()。A 树 B 图 C 线性表 D 集合 【解答】B 【分析】将丈夫、妻子和子女分别作为数据元素,根据题意画出逻辑结构图。
⑶ 算法指的是()。A 对特定问题求解步骤的一种描述,是指令的有限序列。B 计算机程序 C 解决问题的计算方法 D 数据处理 【解答】A 【分析】计算机程序是对算法的具体实现;简单地说,算法是解决问题的方法;数据处理是通过算法完成的。所以,只有A是算法的准确定义。⑷ 下面()不是算法所必须具备的特性。A 有穷性 B 确切性 C 高效性 D 可行性 【解答】C 【分析】高效性是好算法应具备的特性。
⑸ 算法分析的目的是(),算法分析的两个主要方面是()。A 找出数据结构的合理性 B 研究算法中输入和输出的关系 C 分析算法的效率以求改进 D 分析算法的易读性和文档性 E 空间性能和时间性能 F 正确性和简明性 G 可读性和文档性 H 数据复杂性和程序复杂性 【解答】C,E 3.判断题
⑴ 算法的时间复杂度都要通过算法中的基本语句的执行次数来确定。【解答】错。时间复杂度要通过算法中基本语句执行次数的数量级来确定。⑵ 每种数据结构都具备三个基本操作:插入、删除和查找。
【解答】错。如数组就没有插入和删除操作。此题注意是每种数据结构。⑶ 所谓数据的逻辑结构指的是数据之间的逻辑关系。【解答】错。是数据之间的逻辑关系的整体。⑷ 逻辑结构与数据元素本身的内容和形式无关。【解答】对。因此逻辑结构是数据组织的主要方面。⑸ 基于某种逻辑结构之上的基本操作,其实现是唯一的。
【解答】错。基本操作的实现是基于某种存储结构设计的,因而不是唯一的。
4.分析以下各程序段,并用大O记号表示其执行时间。
【解答】⑴ 基本语句是k=k+10*i,共执行了n-2次,所以T(n)=O(n)。⑵ 基本语句是k=k+10*i,共执行了n次,所以T(n)=O(n)。⑶ 分析条件语句,每循环一次,i+j 整体加1,共循环n次,所以T(n)=O(n)。⑷ 设循环体共执行T(n)次,每循环一次,循环变量y加1,最终T(n)=y,即:(T(n)+1)2≤n,所以T(n)=O(n1/2)。
⑸ x++是基本语句,所以
5.设有数据结构(D,R),其中D={1, 2, 3, 4, 5, 6},R={(1,2),(2,3),(2,4),(3,4),(3,5),(3,6),(4,5),(4,6)}。试画出其逻辑结构图并指出属于何种结构。【解答】其逻辑结构图如图1-3所示,它是一种图结构。
6.求多项式A(x)的算法可根据下列两个公式之一来设计: ⑴ A(x)=anxn+an-1xn-1+„+a1x+a0 ⑵ A(x)=(„(anx+an-1)x+„+a1)x)+a0
根据算法的时间复杂度分析比较这两种算法的优劣。
【解答】第二种算法的时间性能要好些。第一种算法需执行大量的乘法运算,而第二种算法进行了优化,减少了不必要的乘法运算。
学习自测及答案
1.顺序存储结构的特点是(),链接存储结构的特点是()。
【解答】用元素在存储器中的相对位置来表示数据元素之间的逻辑关系,用指示元素存储地址的指针表示数据元素之间的逻辑关系。
2.算法在发生非法操作时可以作出处理的特性称为()。【解答】健壮性
3.常见的算法时间复杂度用大O记号表示为:常数阶()、对数阶()、线性阶()、平方阶()和指数阶()。【解答】O(1),O(log2n),O(n),O(n),O(2)4.试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别。
【解答】数据结构是指相互之间存在一定关系的数据元素的集合。而抽象数据类型是指一个数据结构以及定义在该结构上的一组操作。程序设计语言中的数据类型是一个值的集合和定义在这个值集上一组操作的总称。抽象数据类型可以看成是对数据类型的一种抽象。
第 2 章 线性表
1.填空
2n⑴ 在顺序表中,等概率情况下,插入和删除一个元素平均需移动()个元素,具体移动元素的个数与()和()有关。
【解答】表长的一半,表长,该元素在表中的位置
⑵ 顺序表中第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的存储地址是()。【解答】108 【分析】第5个元素的存储地址=第1个元素的存储地址+(5-1)×2=108
⑶ 设单链表中指针p 指向结点A,若要删除A的后继结点(假设A存在后继结点),则需修改指针的操作为()。
【解答】p->next=p->next->next ⑷ 单链表中设置头结点的作用是()。【解答】为了运算方便
【分析】例如在插入和删除操作时不必对表头的情况进行特殊处理。
⑸ 非空的单循环链表由头指针head指示,则其尾结点(由指针p所指)满足()。【解答】p->next=head 【分析】如图2-8所示。
⑹ 在由尾指针rear指示的单循环链表中,在表尾插入一个结点s的操作序列是();删除开始结点的操作序列为()。
【解答】s->next =rear->next;rear->next =s;rear =s;q=rear->next->next;rear->next->next=q->next;delete q;【分析】操作示意图如图2-9所示:
⑺ 一个具有n个结点的单链表,在指针p所指结点后插入一个新结点的时间复杂度为();在给定值为x的结点后插入一个新结点的时间复杂度为()。【解答】Ο(1),Ο(n)【分析】在p所指结点后插入一个新结点只需修改指针,所以时间复杂度为Ο(1);而在给定值为x的结点后插入一个新结点需要先查找值为x的结点,所以时间复杂度为Ο(n)。⑻ 可由一个尾指针唯一确定的链表有()、()、()。【解答】循环链表,循环双链表,双链表 2.选择题
⑴ 线性表的顺序存储结构是一种()的存储结构,线性表的链接存储结构是一种()的存储结构。A 随机存取 B 顺序存取 C 索引存取 D 散列存取 【解答】A,B ⑵ 线性表采用链接存储时,其地址()。
A 必须是连续的B 部分地址必须是连续的 C 一定是不连续的 D 连续与否均可以 【解答】D 【分析】线性表的链接存储是用一组任意的存储单元存储线性表的数据元素,这组存储单元可以连续,也可以不连续,甚至可以零散分布在内存中任意位置。⑶ 单循环链表的主要优点是()。A 不再需要头指针了
B 从表中任一结点出发都能扫描到整个链表;
C 已知某个结点的位置后,能够容易找到它的直接前趋; D 在进行插入、删除操作时,能更好地保证链表不断开。【解答】B ⑷ 链表不具有的特点是()。
A 可随机访问任一元素 B 插入、删除不需要移动元素 C 不必事先估计存储空间 D 所需空间与线性表长度成正比 【解答】A ⑸ 若某线性表中最常用的操作是取第i 个元素和找第i个元素的前趋,则采用()存储方法最节省时间。A 顺序表 B 单链表 C 双链表 D 单循环链表 【解答】A 【分析】线性表中最常用的操作是取第i 个元素,所以,应选择随机存取结构即顺序表,同时在顺序表中查找第i个元素的前趋也很方便。单链表和单循环链表既不能实现随机存取,查找第i个元素的前趋也不方便,双链表虽然能快速查找第i个元素的前趋,但不能实现随机存取。
⑹ 若链表中最常用的操作是在最后一个结点之后插入一个结点和删除第一个结点,则采用()存储方法最节省时间。
A 单链表 B 带头指针的单循环链表 C 双链表 D 带尾指针的单循环链表 【解答】D 【分析】在链表中的最后一个结点之后插入一个结点需要知道终端结点的地址,所以,单链表、带头指针的单循环链表、双链表都不合适,考虑在带尾指针的单循环链表中删除第一个结点,其时间性能是O(1),所以,答案是D。
⑺ 若链表中最常用的操作是在最后一个结点之后插入一个结点和删除最后一个结点,则采用()存储方法最节省运算时间。
A 单链表 B 循环双链表 C单循环链表
D 带尾指针的单循环链表 【解答】B 【分析】在链表中的最后一个结点之后插入一个结点需要知道终端结点的地址,所以,单链表、单循环链表都不合适,删除最后一个结点需要知道终端结点的前驱结点的地址,所以,带尾指针的单循环链表不合适,而循环双链表满足条件。
⑻ 在具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是()。A O(1)B O(n)C O(n)D O(nlog2n)【解答】B 【分析】首先应顺序查找新结点在单链表中的位置。
⑼ 对于n个元素组成的线性表,建立一个有序单链表的时间复杂度是()。A O(1)B O(n)C O(n)D O(nlog2n)【解答】C 【分析】该算法需要将n个元素依次插入到有序单链表中,而插入每个元素需O(n)。⑽ 使用双链表存储线性表,其优点是可以()。
A 提高查找速度 B 更方便数据的插入和删除 C 节约存储空间 D 很快回收存储空间 【解答】B
22【分析】在链表中一般只能进行顺序查找,所以,双链表并不能提高查找速度,因为双链表中有两个指针域,显然不能节约存储空间,对于动态存储分配,回收存储空间的速度是一样的。由于双链表具有对称性,所以,其插入和删除操作更加方便。
⑾ 在一个单链表中,已知q所指结点是p所指结点的直接前驱,若在q和p之间插入s所指结点,则执行()操作。
A s->next=p->next;p->next=s;B q->next=s;s->next=p;C p->next=s->next;s->next=p;D p->next=s;s->next=q;【解答】B 【分析】注意此题是在q和p之间插入新结点,所以,不用考虑修改指针的顺序。⑿ 在循环双链表的p所指结点后插入s所指结点的操作是()。A p->next=s;s->prior=p;p->next->prior=s;s->next=p->next;B p->next=s;p->next->prior=s;s->prior=p;s->next=p->next;C s->prior=p;s->next=p->next;p->next=s;p->next->prior=s;D s->prior=p;s->next=p->next;p->next->prior=s;p->next=s 【解答】D 【分析】在链表中,对指针的修改必须保持线性表的逻辑关系,否则,将违背线性表的逻辑特征,图2-10给出备选答案C和D的图解。
3.判断题
⑴ 线性表的逻辑顺序和存储顺序总是一致的。
【解答】错。顺序表的逻辑顺序和存储顺序一致,链表的逻辑顺序和存储顺序不一定一致。⑵ 线性表的顺序存储结构优于链接存储结构。【解答】错。两种存储结构各有优缺点。⑶ 设p,q是指针,若p=q,则*p=*q。
【解答】错。p=q只能表示p和q指向同一起始地址,而所指类型则不一定相同。⑷ 线性结构的基本特征是:每个元素有且仅有一个直接前驱和一个直接后继。
【解答】错。每个元素最多只有一个直接前驱和一个直接后继,第一个元素没有前驱,最后一个元素没有后继。
⑸ 在单链表中,要取得某个元素,只要知道该元素所在结点的地址即可,因此单链表是随机存取结构。【解答】错。要找到该结点的地址,必须从头指针开始查找,所以单链表是顺序存取结构。
4.请说明顺序表和单链表各有何优缺点,并分析下列情况下,采用何种存储结构更好些。
⑴ 若线性表的总长度基本稳定,且很少进行插入和删除操作,但要求以最快的速度存取线性表中的元素。⑵ 如果n个线性表同时并存,并且在处理过程中各表的长度会动态发生变化。⑶ 描述一个城市的设计和规划。
【解答】顺序表的优点:① 无需为表示表中元素之间的逻辑关系而增加额外的存储空间;② 可以快速地存取表中任一位置的元素(即随机存取)。顺序表的缺点:① 插入和删除操作需移动大量元素;② 表的容量难以确定;③ 造成存储空间的“碎片”。
单链表的优点:① 不必事先知道线性表的长度;② 插入和删除元素时只需修改指针,不用移动元素。单链表的缺点:① 指针的结构性开销;② 存取表中任意元素不方便,只能进行顺序存取。
⑴ 应选用顺序存储结构。因为顺序表是随机存取结构,单链表是顺序存取结构。本题很少进行插入和删除操作,所以空间变化不大,且需要快速存取,所以应选用顺序存储结构。
⑵ 应选用链接存储结构。链表容易实现表容量的扩充,适合表的长度动态发生变化。
⑶ 应选用链接存储结构。因为一个城市的设计和规划涉及活动很多,需要经常修改、扩充和删除各种信息,才能适应不断发展的需要。而顺序表的插入、删除的效率低,故不合适。5.算法设计
⑴ 设计一个时间复杂度为O(n)的算法,实现将数组A[n]中所有元素循环右移k个位置。【解答】算法思想请参见主教材第一章思想火花。下面给出具体算法。
分析算法,第一次调用Reverse函数的时间复杂度为O(k),第二次调用Reverse函数的时间复杂度为O(n-k),第三次调用Reverse函数的时间复杂度为O(n),所以,总的时间复杂度为O(n)。⑵试分别以顺序表和单链表作存储结构,各写一实现线性表就地逆置的算法。
【解答】顺序表的逆置,即是将对称元素交换,设顺序表的长度为length,则将表中第i个元素与第length-i-1个元素相交换。具体算法如下:
单链表的逆置请参见2.2.4算法2-4和算法2-6。
⑶ 假设在长度大于1的循环链表中,即无头结点也无头指针,s为指向链表中某个结点的指针,试编写算法删除结点s的前趋结点。【解答】利用单循环链表的特点,通过指针s可找到其前驱结点r以及r的前驱结点p,然后将结点r删除,如图2-11所示,具体算法如下:
⑷ 设单链表以非递减有序排列,设计算法实现在单链表中删去值相同的多余结点。
【解答】从头到尾扫描单链表,若当前结点的元素值与后继结点的元素值不相等,则指针后移;否则删除该后继结点。具体算法如下:
⑸ 判断带头结点的双循环链表是否对称。
【解答】设工作指针p和q分别指向循环双链表的开始结点和终端结点,若结点p和结点q的数据域相等,则工作指针p后移,工作指针q前移,直到指针p和指针q指向同一结点(循环双链表中结点个数为奇数),或结点q成为结点p的前驱(循环双链表中结点个数为偶数)。如图2-12所示。
学习自测及答案
1.已知一维数组A采用顺序存储结构,每个元素占用4个存储单元,第9个元素的地址为144,则第一个元素的地址是()。
A 108 B 180 C 176 D 112 【解答】D 2.在长度为n的线性表中查找值为x的数据元素的时间复杂度为:()。A O(0)B O(1)C O(n)D O(n)【解答】C 3.在一个长度为n的顺序表的第i(1≤i≤n+1)个元素之前插入一个元素,需向后移动()个元素,删除第i(1≤i≤n)个元素时,需向前移动()个元素。【解答】n-i+1,n-i 4.在单链表中,除了头结点以外,任一结点的存储位置由()指示。【解答】其前趋结点的指针域
5.当线性表采用顺序存储结构时,其主要特点是()。【解答】逻辑结构中相邻的结点在存储结构中仍相邻
6.在双链表中,每个结点设置了两个指针域,其中一个指向()结点,另一个指向()结点。【解答】前驱,后继
第 3 章 特殊线性表——栈、队列和串
1.填空
⑴ 设有一个空栈,栈顶指针为1000H,现有输入序列为1、2、3、4、5,经过push,push,pop,push,pop,push,push后,输出序列是(),栈顶指针为()。【解答】23,1003H ⑵ 栈通常采用的两种存储结构是();其判定栈空的条件分别是(),判定栈满的条件分别是()。
2【解答】顺序存储结构和链接存储结构(或顺序栈和链栈),栈顶指针top=-1和top=NULL,栈顶指针top等于数组的长度和内存无可用空间
⑶()可作为实现递归函数调用的一种数据结构。【解答】栈
【分析】递归函数的调用和返回正好符合后进先出性。⑷ 表达式a*(b+c)-d的后缀表达式是()。【解答】abc+*d-【分析】将中缀表达式变为后缀表达式有一个技巧:将操作数依次写下来,再将算符插在它的两个操作数的后面。
⑸ 栈和队列是两种特殊的线性表,栈的操作特性是(),队列的操作特性是(),栈和队列的主要区别在于()。
【解答】后进先出,先进先出,对插入和删除操作限定的位置不同 ⑹ 循环队列的引入是为了克服()。【解答】假溢出
⑺ 数组Q[n]用来表示一个循环队列,front为队头元素的前一个位置,rear为队尾元素的位置,计算队列中元素个数的公式为()。【解答】(rear-front+n)% n 【分析】也可以是(rear-front)% n,但rear-front的结果可能是负整数,而对一个负整数求模,其结果在不同的编译器环境下可能会有所不同。
⑻ 用循环链表表示的队列长度为n,若只设头指针,则出队和入队的时间复杂度分别是()和()。【解答】O(1),O(n)【分析】在带头指针的循环链表中,出队即是删除开始结点,这只需修改相应指针;入队即是在终端结点的后面插入一个结点,这需要从头指针开始查找终端结点的地址。⑼ 串是一种特殊的线性表,其特殊性体现在()。【解答】数据元素的类型是一个字符 ⑽ 两个串相等的充分必要条件是()。【解答】长度相同且对应位置的字符相等 【分析】例如“abc”≠“abc ”,“abc”≠“bca”。2.选择题
⑴ 若一个栈的输入序列是1,2,3,„,n,输出序列的第一个元素是n,则第i个输出元素是()。A 不确定 B n-I C n-i-1 D n-i+1 【解答】D 【分析】此时,输出序列一定是输入序列的逆序。
⑵ 设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5、e6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出队的顺序是e2、e4、e3、e6、e5、e1,则栈S的容量至少应该是()。A 6
B 4
C 3
D 2 【解答】C 【分析】由于队列具有先进先出性,所以,此题中队列形同虚设,即出栈的顺序也是e2、e4、e3、e6、e5、e1。
⑶ 一个栈的入栈序列是1,2,3,4,5,则栈的不可能的输出序列是()。A 54321 B 45321 C 43512 D 12345 【解答】C 【分析】此题有一个技巧:在输出序列中任意元素后面不能出现比该元素小并且是升序(指的是元素的序号)的两个元素。
⑷ 设计一个判别表达式中左右括号是否配对的算法,采用()数据结构最佳 A 顺序表 B 栈 C 队列 D 链表 【解答】B 【分析】每个右括号与它前面的最后一个没有匹配的左括号配对,因此具有后进先出性。
⑸ 在解决计算机主机与打印机之间速度不匹配问题时通常设置一个打印缓冲区,该缓冲区应该是一个()结构。
A 栈 B队列 C 数组 D线性表 【解答】B 【分析】先进入打印缓冲区的文件先被打印,因此具有先进先出性。⑹ 一个队列的入队顺序是1,2,3,4,则队列的输出顺序是()。
A 4321 B 1234 C 1432 D 3241 【解答】B 【分析】队列的入队顺序和出队顺序总是一致的。⑺ 栈和队列的主要区别在于()。
A 它们的逻辑结构不一样 B 它们的存储结构不一样 C 所包含的运算不一样 D 插入、删除运算的限定不一样 【解答】D 【分析】栈和队列的逻辑结构都是线性的,都有顺序存储和链接存储,有可能包含的运算不一样,但不是主要区别,任何数据结构在针对具体问题时包含的运算都可能不同。
⑻ 设数组S[n]作为两个栈S1和S2的存储空间,对任何一个栈只有当S[n]全满时才不能进行进栈操作。为这两个栈分配空间的最佳方案是()。A S1的栈底位置为0,S2的栈底位置为n-1 B S1的栈底位置为0,S2的栈底位置为n/2 C S1的栈底位置为0,S2的栈底位置为n D S1的栈底位置为0,S2的栈底位置为1 【解答】A 【分析】两栈共享空间首先两个栈是相向增长的,栈底应该分别指向两个栈中的第一个元素的位置,并注意C++中的数组下标是从0开始的。3.判断题
⑴ 栈可以作为实现过程调用的一种数据结构。
【解答】对。只要操作满足后进先出性,都可以采用栈作为辅助数据结构。⑵ 在栈满的情况下不能做进栈操作,否则将产生“上溢”。【解答】对。
⑶ 在循环队列中,front指向队头元素的前一个位置,rear指向队尾元素的位置,则队满的条件是front=rear。
【解答】错。这是队空的判定条件,在循环队列中要将队空和队满的判定条件区别开。⑷ 空串与空格串是相同的。
【解答】错。空串的长度为零,而空格串的长度不为0,其长度是串中空格的个数。
4.设有一个栈,元素进栈的次序为A,B,C,D,E,能否得到如下出栈序列,若能,请写出操作序列,若不能,请说明原因。⑴ C,E,A,B,D ⑵ C,B,A,D,E 【解答】⑴不能,因为在C、E出栈的情况下,A一定在栈中,而且在B的下面,不可能先于B出栈。⑵可以,设I为进栈操作,O为入栈操作,则其操作序列为IIIOOOIOIO。
5.举例说明顺序队列的“假溢出”现象。
【解答】假设有一个顺序队列,如图3-6所示,队尾指针rear=4,队头指针front=1,如果再有元素入队,就会产生“上溢”,此时的“上溢”又称为“假溢出”,因为队列并不是真的溢出了,存储队列的数组中还有2个存储单元空闲,其下标分别为0和1。
6.在操作序列push(1)、push(2)、pop、push(5)、push(7)、pop、push(6)之后,栈顶元素和栈底元素分别是什么?(push(k)表示整数k入栈,pop表示栈顶元素出栈。)【解答】栈顶元素为6,栈底元素为1。其执行过程如图3-7所示。
7. 在操作序列EnQueue(1)、EnQueue(3)、DeQueue、EnQueue(5)、EnQueue(7)、DeQueue、EnQueue(9)之后,队头元素和队尾元素分别是什么?(EnQueue(k)表示整数k入队,DeQueue表示队头元素出队)。【解答】队头元素为5,队尾元素为9。其执行过程如图3-8所示。
8.空串和空格串有何区别?串中的空格符有何意义?空串在串处理中有何作用? 【解答】不含任何字符的串称为空串,其长度为零。仅含空格的串称为空格串,它的长度为串中空格符的个数。串中的空格符可用来分隔一般的字符,便于人们识别和阅读,但计算串长时应包括这些空格符。空串在串处理中可作为任意串的子串。9.算法设计
⑴ 假设以不带头结点的循环链表表示队列,并且只设一个指针指向队尾结点,但不设头指针。试设计相应的入队和出队的算法。
【解答】出队操作是在循环链表的头部进行,相当于删除开始结点,而入队操作是在循环链表的尾部进行,相当于在终端结点之后插入一个结点。由于循环链表不带头结点,需要处理空表的特殊情况。入队算法如下:
出队算法如下:
⑵ 设顺序栈S中有2n个元素,从栈顶到栈底的元素依次为a2n,a2n-1,„,a1,要求通过一个循环队列重新排列栈中元素,使得从栈顶到栈底的元素依次为a2n,a2n-2,„,a2,a2n-1,a2n-3,„,a1,请设计算法实现该操作,要求空间复杂度和时间复杂度均为O(n)。【解答】操作步骤为: ① ② ③ 将所有元素出栈并入队;
依次将队列元素出队,如果是偶数结点,则再入队,如果是奇数结点,则入栈; 将奇数结点出栈并入队; ④ ⑤ ⑥ 将偶数结点出队并入栈; 将所有元素出栈并入队; 将所有元素出队并入栈即为所求。
学习自测及答案
1.在一个具有n个单元的顺序栈中,假定以地址低端(即下标为0的单元)作为栈底,以top作为栈顶指针,当出栈时,top的变化为()。
A 不变;B top=0;C top=top-1;D top=top+1;【解答】C 2.一个栈的入栈序列是a, b, c, d, e,则栈的不可能的出栈序列是()。A edcba B cdeba C debca D abcde 【解答】C 3.从栈顶指针为top的链栈中删除一个结点,用x保存被删除结点的值,则执行()。A x=top;top=top->next;B x=top->data;C top=top->next;x=top->data;D x=top->data;top=top->next;【解答】D 4.设元素1, 2, 3, P, A依次经过一个栈,进栈次序为123PA,在栈的输出序列中,有哪些序列可作为C程序设计语言的变量名。
【解答】PA321, P3A21, P32A1, P321A, AP321 5.设S=“I_ am_ a_ teacther”,其长度为()。【解答】15 6.对于栈和队列,无论它们采用顺序存储结构还是链接存储结构,进行插入和删除操作的时间复杂度都是()。【解答】O(1)7.如果进栈序列为A、B、C、D,则可能的出栈序列是什么?
答:共14种,分别是:ABCD,ABDC,ACBD,ACDB,ADCB,BACD,BADC,BCAD,BCDA,BDCA,CBAD,CBDA,CDBA,DCBA 8.简述队列和栈这两种数据结构的相同点和不同点。
【解答】相同点:它们都是插入和删除操作的位置受限制的线性表。
不同点:栈是限定仅在表尾进行插入和删除的线性表,是后进先出的线性表,而队列是限定在表的一端进行插入,在另一端进行删除的线性表,是先进先出的线性表。
9.设计算法把一个十进制整数转换为二至九进制之间的任一进制数输出。
【解答】算法基于原理:N=(N div d)×d + N mod d(div为整除运算,mod为求余运算)。
10.假设一个算术表达式中可以包含三种括号:圆括号“(”和“)”,方括号“[”和“]”以及花括号“{”和“}”,且这三种括号可按任意的次序嵌套使用。编写算法判断给定表达式中所含括号是否配对出现。
【解答】假设表达式已存入字符数组A[n]中,具体算法如下:
第 4 章 广义线性表——多维数组和广义表
1.填空
⑴ 数组通常只有两种运算:()和(),这决定了数组通常采用()结构来实现存储。【解答】存取,修改,顺序存储
【分析】数组是一个具有固定格式和数量的数据集合,在数组上一般不能做插入、删除元素的操作。除了初始化和销毁之外,在数组中通常只有存取和修改两种操作。
⑵ 二维数组A中行下标从10到20,列下标从5到10,按行优先存储,每个元素占4个存储单元,A[10][5]的存储地址是1000,则元素A[15][10]的存储地址是()。【解答】1140 【分析】数组A中每行共有6个元素,元素A[15][10]的前面共存储了(15-10)×6+5个元素,每个元素占4个存储单元,所以,其存储地址是1000+140=1140。⑶ 设有一个10阶的对称矩阵A采用压缩存储,A[0][0]为第一个元素,其存储地址为d,每个元素占1个存储单元,则元素A[8][5]的存储地址为()。【解答】d+41 【分析】元素A[8][5]的前面共存储了(1+2+„+8)+5=41个元素。⑷ 稀疏矩阵一般压缩存储方法有两种,分别是()和()。【解答】三元组顺序表,十字链表
⑸ 广义表((a),(((b),c)),(d))的长度是(),深度是(),表头是(),表尾是()。【解答】3,4,(a),((((b),c)),(d))⑹ 已知广义表LS=(a,(b,c,d),e),用Head和Tail函数取出LS中原子b的运算是()。【解答】Head(Head(Tail(LS)))2.选择题
⑴ 二维数组A的每个元素是由6个字符组成的串,行下标的范围从0~8,列下标的范围是从0~9,则存放A至少需要()个字节,A的第8列和第5行共占()个字节,若A按行优先方式存储,元素A[8][5]的起始地址与当A按列优先方式存储时的()元素的起始地址一致。A 90 B 180 C 240 D 540 E 108 F 114 G 54 H A[8][5] I A[3][10] J A[5][8] K A[4][9] 【解答】D,E,K 【分析】数组A为9行10列,共有90个元素,所以,存放A至少需要90×6=540个存储单元,第8列和第5行共有18个元素(注意行列有一个交叉元素),所以,共占108个字节,元素A[8][5]按行优先存储的起始地址为d+8×10+5=d+85,设元素A[i][j]按列优先存储的起始地址与之相同,则d+j×9+i=d+85,解此方程,得i=4,j=9。
⑵ 将数组称为随机存取结构是因为()
A 数组元素是随机的 B 对数组任一元素的存取时间是相等的 C 随时可以对数组进行访问 D 数组的存储结构是不定 【解答】B ⑶ 下面的说法中,不正确的是()
A 数组是一种线性结构 B 数组是一种定长的线性结构 C 除了插入与删除操作外,数组的基本操作还有存取、修改、检索和排序等 D 数组的基本操作有存取、修改、检索和排序等,没有插入与删除操 【解答】C 【分析】数组属于广义线性表,数组被创建以后,其维数和每维中的元素个数是确定的,所以,数组通常没有插入和删除操作。
⑷ 对特殊矩阵采用压缩存储的目的主要是为了()
A 表达变得简单 B 对矩阵元素的存取变得简单 C 去掉矩阵中的多余元素 D 减少不必要的存储空间 【解答】D 【分析】在特殊矩阵中,有很多值相同的元素并且他们的分布有规律,没有必要为值相同的元素重复存储。⑸ 下面()不属于特殊矩阵。
A 对角矩阵 B 三角矩阵 C 稀疏矩阵 D 对称矩阵 【解答】C ⑹ 若广义表A满足Head(A)=Tail(A),则A为()
A()B(())C((),())D((),(),())【解答】B ⑺ 下面的说法中,不正确的是()A 广义表是一种多层次的结构 B 广义表是一种非线性结构 C 广义表是一种共享结构 D 广义表是一种递归 【解答】B 【分析】从各层元素各自具有的线性关系讲,广义表属于线性结构。⑻ 下面的说法中,不正确的是()
A 对称矩阵只须存放包括主对角线元素在内的下(或上)三角的元素即可。B 对角矩阵只须存放非零元素即可。
C 稀疏矩阵中值为零的元素较多,因此可以采用三元组表方法存储。
D 稀疏矩阵中大量值为零的元素分布有规律,因此可以采用三元组表方法存储 【解答】D 【分析】稀疏矩阵中大量值为零的元素分布没有规律,因此采用三元组表存储。如果零元素的分布有规律,就没有必要存储非零元素的行号和列号,而需要按其压缩规律找出相应的映象函数。3.判断题
⑴ 数组是一种复杂的数据结构,数组元素之间的关系既不是线性的,也不是树形的。【解答】错。例如二维数组可以看成是数据元素为线性表的线性表。⑵ 使用三元组表存储稀疏矩阵的元素,有时并不能节省存储空间。
【解答】对。因为三元组表除了存储非零元素值外,还需要存储其行号和列号。⑶ 稀疏矩阵压缩存储后,必会失去随机存取功能。
【解答】对。因为压缩存储后,非零元素的存储位置和行号、列号之间失去了确定的关系。
⑷ 线性表可以看成是广义表的特例,如果广义表中的每个元素都是单元素,则广义表便成为线性表。【解答】对。
⑸ 若一个广义表的表头为空表,则此广义表亦为空表。
【解答】错。如广义表L=((),(a,b))的表头为空表,但L不是空表。4.一个稀疏矩阵如图4-4所示,写出对应的三元组顺序表和十字链表存储表示。
【解答】对应的三元组顺序表如图4-5所示,十字链表如图4-6所示。
5.设某单位职工工资表ST由“工资”、“扣除”和“实发金额”三项组成,其中工资项包括“基本工资”、“津贴”和“奖金”,扣除项包括“水”、“电”和“煤气”。
⑴ 请用广义表形式表示所描述的工资表ST,并用表头和表尾求表中的“奖金”项; ⑵ 画出该工资表ST的存储结构。
【解答】⑴ ST=((基本工资,津贴,奖金),(水,电,煤气),实发金额)Head(Tail(Tail(Head(ST))))=奖金 ⑵ 工资表ST的头尾表示法如图4-7所示。
学习自测及答案 1.二维数组M中每个元素的长度是3个字节,行下标从0到7,列下标从0到9,从首地址d开始存储。若按行优先方式存储,元素M[7][5]的起始地址为(),若按列优先方式存储,元素M[7][5]的起始地址为()。【解答】d+22,d+141 2.一个n×n的对称矩阵,按行优先或列优先进行压缩存储,则其存储容量为()。【解答】n(n+1)/2 3.设n行n列的下三角矩阵A(行列下标均从1开始)已压缩到一维数组S[1]~S[n(n+1)/2]中,若按行优先存储,则A[i][j]在数组S中的存储位置是()。【解答】i×(i-1)/2+j 4.已知广义表LS=(a,(b, c),(d, e, a)),运用Head函数和Tail函数取出LS中原子d的运算是()。【解答】Head(Head(Tail(Tail(LS))))5.广义表(a, b,(c,(d)))的表尾是()。
A(d)B(c,(d))C b,(c,(d))D(b,(c,(d)))【解答】D 6.设有三对角矩阵An×n(行、列下标均从0开始),将其三条对角线上的元素逐行存于数组B[3n-2]中,使得B[k]=aij求:
⑴ 用i, j表示k的下标变换公式; ⑵ 用k表示i, j的下标变换公式。
【解答】⑴ 要求i, j表示k的下标变换公式,就是要求在k之前已经存储了多少个非零元素,这些非零元素的个数就是k的值。元素aij求所在的行为i,列为j,则在其前面的非零元素的个数是;k=2 + 3(i-1)+(j-i + 1)= 2i+ j。
⑵ 因为k和i, j之间是一一对应的关系,k+1是当前非零元素的个数,整除即为其所在行号,取余表示当前行中第几个非零元素,加上前面零元素所在列数就是当前列号,即:
第 5 章 树和二叉树 课后习题讲解
1.填空题
⑴ 树是n(n≥0)结点的有限集合,在一棵非空树中,有()个根结点,其余的结点分成m(m>0)个()的集合,每个集合都是根结点的子树。【解答】有且仅有一个,互不相交
⑵ 树中某结点的子树的个数称为该结点的(),子树的根结点称为该结点的(),该结点称为其子树根结点的()。
【解答】度,孩子,双亲
⑶ 一棵二叉树的第i(i≥1)层最多有()个结点;一棵有n(n>0)个结点的满二叉树共有()个叶子结点和()个非终端结点。【解答】2i-1,(n+1)/2,(n-1)/2 【分析】设满二叉树中叶子结点的个数为n0,度为2的结点个数为n2,由于满二叉树中不存在度为1的结点,所以n=n0+n2;由二叉树的性质n0=n2+1,得n0=(n+1)/2,n2=(n-1)/2。⑷ 设高度为h的二叉树上只有度为0和度为2的结点,该二叉树的结点数可能达到的最大值是(),最小值是()。【解答】2h-1,2h-1 【分析】最小结点个数的情况是第1层有1个结点,其他层上都只有2个结点。⑸ 深度为k的二叉树中,所含叶子的个数最多为()。【解答】2k-1 【分析】在满二叉树中叶子结点的个数达到最多。⑹ 具有100个结点的完全二叉树的叶子结点数为()。【解答】50 【分析】100个结点的完全二叉树中最后一个结点的编号为100,其双亲即最后一个分支结点的编号为50,也就是说,从编号51开始均为叶子。
⑺ 已知一棵度为3的树有2个度为1的结点,3个度为2的结点,4个度为3的结点。则该树中有()个叶子结点。【解答】12 【分析】根据二叉树性质3的证明过程,有n0=n2+2n3+1(n0、n2、n3分别为叶子结点、度为2的结点和度为3的结点的个数)。
⑻ 某二叉树的前序遍历序列是ABCDEFG,中序遍历序列是CBDAFGE,则其后序遍历序列是()。【解答】CDBGFEA 【分析】根据前序遍历序列和后序遍历序列将该二叉树构造出来。
⑼ 在具有n个结点的二叉链表中,共有()个指针域,其中()个指针域用于指向其左右孩子,剩下的()个指针域则是空的。【解答】2n,n-1,n+1 ⑽ 在有n个叶子的哈夫曼树中,叶子结点总数为(),分支结点总数为()。【解答】n,n-1 【分析】n-1个分支结点是经过n-1次合并后得到的。2.选择题
⑴ 如果结点A有3个兄弟,B是A的双亲,则结点B的度是()。A 1 B 2 C 3 D 4 【解答】D ⑵ 设二叉树有n个结点,则其深度为()。A n-1 B n C 【解答】D 【分析】此题并没有指明是完全二叉树,则其深度最多是n,最少是
+1。
+1 D 不能确定
⑶ 二叉树的前序序列和后序序列正好相反,则该二叉树一定是()的二叉树。
A 空或只有一个结点 B 高度等于其结点数 C 任一结点无左孩子 D 任一结点无右孩子 【解答】B 【分析】此题注意是序列正好相反,则左斜树和右斜树均满足条件。⑷ 线索二叉树中某结点R没有左孩子的充要条件是()。
A R.lchild=NULL B R.ltag=0 C R.ltag=1 D R.rchild=NULL 【解答】C 【分析】线索二叉树中某结点是否有左孩子,不能通过左指针域是否为空来判断,而要判断左标志是否为1。
⑸一个高度为h的满二叉树共有n个结点,其中有m个叶子结点,则有()成立。A n=h+m B h+m=2n C m=h-1 D n=2m-1 【解答】D 【分析】满二叉树中没有度为1的结点,所以有m个叶子结点,则度为2的结点个数为m-1。⑹任何一棵二叉树的叶子结点在前序、中序、后序遍历序列中的相对次序()。A 肯定不发生改变 B 肯定发生改变 C 不能确定 D 有时发生变化 【解答】A 【分析】三种遍历次序均是先左子树后右子树。
⑺如果T' 是由有序树T转换而来的二叉树,那么T中结点的前序序列就是T' 中结点的()序列,T中结点的后序序列就是 T' 中结点的()序列。
A 前序 B 中序 C 后序 D 层序 【解答】A,B ⑻设森林中有4棵树,树中结点的个数依次为n1、n2、n3、n4,则把森林转换成二叉树后,其根结点的右子树上有()个结点,根结点的左子树上有()个结点。A n1-1 B n1 C n1+n2+n3 D n2+n3+n4 【解答】D,A 【分析】由森林转换的二叉树中,根结点即为第一棵树的根结点,根结点的左子树是由第一棵树中除了根结点以外其余结点组成的,根结点的右子树是由森林中除第一棵树外其他树转换来的。⑼ 讨论树、森林和二叉树的关系,目的是为了()。A 借助二叉树上的运算方法去实现对树的一些运算
B 将树、森林按二叉树的存储方式进行存储并利用二叉树的算法解决树的有关问题 C 将树、森林转换成二叉树 D 体现一种技巧,没有什么实际意义 【解答】B 3.判断题
⑴ 在线索二叉树中,任一结点均有指向其前趋和后继的线索。
【解答】错。某结点是否有前驱或后继的线索,取决于该结点的标志域是否为1。⑵ 在二叉树的前序遍历序列中,任意一个结点均处在其子女的前面。【解答】对。由前序遍历的操作定义可知。⑶ 二叉树是度为2的树。
【解答】错。二叉树和树是两种不同的树结构,例如,左斜树是一棵二叉树,但它的度为1。⑷ 由树转换成二叉树,其根结点的右子树总是空的。【解答】对。因为根结点无兄弟结点。⑸ 用一维数组存储二叉树时,总是以前序遍历存储结点。
【解答】错。二叉树的顺序存储结构是按层序存储的,一般适合存储完全二叉树。4.证明:对任一满二叉树,其分枝数B=2(n0-1)。(其中,n0为终端结点数)【解答】因为在满二叉树中没有度为1的结点,所以有:n=n0+n2 设B为树中分枝数,则n=B+1;所以B=n0 +n2-1 再由二叉树性质:n0=n2+1,代入上式有:B=n0+n0-1-1=2(n0-1)
5.已知一棵度为m的树中有:n1个度为1的结点,n2个度为2的结点,„„,nm个度为m的结点,问该树中共有多少个叶子结点?
【解答】设该树的总结点数为n,则n=n0+n1+n2+„„+nm
又:n=分枝数+1=0×n0+1×n1+2×n2+„„+m×nm+1,由上述两式可得: n0= n2+2n3+„„+(m-1)nm+1
6.已知二叉树的中序和后序序列分别为CBEDAFIGH和CEDBIFHGA,试构造该二叉树。【解答】二叉树的构造过程如图5-12 所示。
7.对给定的一组权值W=(5,2,9,11,8,3,7),试构造相应的哈夫曼树,并计算它的带权路径长度。【解答】构造的哈夫曼树如图5-13所示。
树的带权路径长度为: WPL=2×4+3×4+5×3+7×3+8×3+9×2+11×2=120
8.已知某字符串S中共有8种字符,各种字符分别出现2次、1次、4次、5次、7次、3次、4次和9次,对该字符串用[0,1]进行前缀编码,问该字符串的编码至少有多少位。【解答】以各字符出现的次数作为叶子结点的权值构造的哈夫曼编码树如图5-14所示。其带权路径长度=2×5+1×5+3×4+5×3+9×2+4×3+4×3+7×2=98,所以,该字符串的编码长度至少为98位。
9.算法设计
⑴ 设计算法按前序次序打印二叉树中的叶子结点。
【解答】本算法的要求与前序遍历算法既有相同之处,又有不同之处。相同之处是打印次序均为前序,不同之处是此处不是打印每个结点的值,而是打印出其中的叶子结点,即为有条件打印。为此,将前序遍历算法中的访问操作改为条件打印即可。算法如下:
⑵ 设计算法求二叉树的深度。
【解答】当二叉树为空时,深度为0;若二叉树不为空,深度应是其左右子树深度的最大值加1,而其左右子树深度的求解又可通过递归调用本算法来完成。具体算法如下:
⑶ 编写算法,要求输出二叉树后序遍历序列的逆序。
【解答】要想得到后序的逆序,只要按照后序遍历相反的顺序即可,即先访问根结点,再遍历根结点的右子树,最后遍历根结点的左子树。注意和前序遍历的区别,具体算法如下:
⑷ 以孩子兄弟表示法做存储结构,求树中结点x的第i个孩子。
【解答】先在链表中进行遍历,在遍历过程中查找值等于x的结点,然后由此结点的最左孩子域firstchild找到值为x结点的第一个孩子,再沿右兄弟域rightsib找到值为x结点的第i个孩子并返回指向这个孩子的指针。
树的孩子兄弟表示法中的结点结构定义如下: template struct Tnode { T data;TNode *firstchild, *rightsib;};具体算法如下:
学习自测及答案
0.前序遍历和中序遍历结果相同的二叉树是()。A 根结点无左孩子的二叉树 B 根结点无右孩子的二叉树 C 所有结点只有左子树的二叉树 D 所有结点只有右子树的二叉树 【解答】D 1.前序遍历和中序遍历结果相同的二叉树是()。A 根结点无左孩子的二叉树 B 根结点无右孩子的二叉树 C 所有结点只有左子树的二叉树 D 所有结点只有右子树的二叉树【解答】D 2.由权值为{3, 8, 6, 2, 5}的叶子结点生成一棵哈夫曼树,其带权路径长度为()。A 24 B 48 C 53 D 72 【解答】C 3.用顺序存储的方法将完全二叉树中的所有结点逐层存放在数组A[1] ~ A[n]中,结点A[i]若有左子树,则左子树的根结点是()。
A A[2i-1] B A[2i+1] C A[i/2] D A[2i] 【解答】D 4.对任何一棵二叉树T,如果其终端结点的个数为n0,度为2的结点个数为n2,则()。A n0=n2-1 B n0=n2 C n0=n2+1 D 没有规律 【解答】C 5.一棵满二叉树中共有n个结点,其中有m个叶子结点,深度为h,则()。A n=h+m B h+m=2n C m=h-1 D n=2h-1 【解答】D 6.对于完全二叉树中的任一结点,若其右分支下的子孙的最大层次为h,则其左分支下的子孙的最大层次为()。
A h B h+1 C h或h+1 D 任意 【解答】C 7.假定一棵度为3的树中结点数为50,则其最小高度应为。A 3 B 4 C 5 D 6 【解答】C 8.在线索二叉树中,一个结点是叶子结点的充要条件为()。
A 左线索标志为0,右线索标志为1 B 左线索标志为1,右线索标志为0 C 左、右线索标志均为0 D 左、右线索标志均为1 【解答】C 9.对于一棵具有n个结点的树,其所有结点的度之和为()。【解答】n-1 10.在顺序存储的二叉树中,编号为i和j的两个结点处在同一层的条件是()。【解答】
11.现有按前序遍历二叉树的结果ABC,问有哪几种不同的二叉树可以得到这一结果? 【解答】共有5种二叉树可以得到这一结果,如图5-15所示。
12.试找出分别满足下列条件的所有二叉树: ⑴ 前序序列和中序序列相同。⑵ 中序序列和后序序列相同。⑶ 前序序列和后序序列相同。
【解答】 ⑴ 空二叉树、只有一个根结点的二叉树和右斜树。⑵ 空二叉树、只有一个根结点的二叉树和左斜树。⑶ 空二叉树、只有一个根结点的二叉树
13.将下面图5-16所示的树转换为二叉树,图5-17所示的二叉树转换为树或森林。
【解答】图5-16所示树转换的二叉树如图5-18所示,图5-17所示二叉树转换的森林如图5-19所示。
14.以孩子兄弟表示法作为存储结构,编写算法求树的深度。
【解答】采用递归算法实现。若树为空树,则其深度为0,否则其深度等于第一棵子树的深度+1和兄弟子树的深度中的较大者。具体算法如下:
第7章 图 选择题 1.对于一个具有n个顶点和e条边的有向图,在用邻接表表示图时,拓扑排序算法时间复杂度为()A)O(n)B)O(n+e)C)O(n*n)D)O(n*n*n)【答案】B 2.设无向图的顶点个数为n,则该图最多有()条边。A)n-1 B)n(n-1)/2 C)n(n+1)/2 D)n
2【答案】B 3.连通分量指的是()
A)无向图中的极小连通子图 B)无向图中的极大连通子图 C)有向图中的极小连通子图 D)有向图中的极大连通子图 【答案】B 4.n个结点的完全有向图含有边的数目()A)n*n B)n(n+1)C)n/2
D)n*(n-1)
【答案】D 5.关键路径是()
A)AOE网中从源点到汇点的最长路径 【答案】A 6.有向图中一个顶点的度是该顶点的()
A)入度 B)出度 C)入度与出度之和 D)(入度+出度)/2 【答案】C 7.有e条边的无向图,若用邻接表存储,表中有()边结点。A)e B)2e C)e-1 D)2(e-1)【答案】B 8.实现图的广度优先搜索算法需使用的辅助数据结构为()A)栈 B)队列 C)二叉树 D)树 【答案】B 9.实现图的非递归深度优先搜索算法需使用的辅助数据结构为()A)栈 B)队列 C)二叉树 D)树 【答案】A 10.存储无向图的邻接矩阵一定是一个()
A)上三角矩阵 B)稀疏矩阵 C)对称矩阵 D)对角矩阵 【答案】C 11.在一个有向图中所有顶点的入度之和等于出度之和的()倍 A)1/2 【答案】B 12.在图采用邻接表存储时,求最小生成树的 Prim 算法的时间复杂度为()A)O(n)B)O(n+e)C)O(n)D)O(n)【答案】B 13.下列关于AOE网的叙述中,不正确的是()A)关键活动不按期完成就会影响整个工程的完成时间 B)任何一个关键活动提前完成,那么整个工程将会提前完成 C)所有的关键活动提前完成,那么整个工程将会提前完成 D)某些关键活动提前完成,那么整个工程将会提前完成 【答案】B
2B)AOE网中从源点到汇点的最短路径
C)AOV网中从源点到汇点的最长路径 D)AOV网中从源点到汇点的最短路径
B)1 C)2 D)4 14.具有10个顶点的无向图至少有多少条边才能保证连通()A)9 【答案】A 15.在含n个顶点和e条边的无向图的邻接矩阵中,零元素的个数为()A)e B)2e C)n-e D)n-2e 【答案】D 2 填空题
1.无向图中所有顶点的度数之和等于所有边数的_____________倍。【答案】2 2.具有n个顶点的无向完全图中包含有_____________条边,具有n个顶点的有向完全图中包含有_____________条边。
【答案】(1)n(n-1)/2(2)n(n-1)3.一个具有n个顶点的无向图中,要连通所有顶点则至少需要_____________条边。【答案】n-1 4.假定一个图具有n个顶点和e条边,则采用邻接矩阵、邻接表表示时,其相应的空间复杂度分别为_____________和_____________。【答案】(1)O(n)(2)O(n+e)5.对用邻接矩阵表示的图进行任一种遍历时,其时间复杂度为_____________,对用邻接表表示的图进行任一种遍历时,其时间复杂度为_____________。【答案】(1)O(n)(2)O(e)6.对于一个具有n个顶点和e条边的有向图和无向图,在其对应的邻接表中,所含边结点分别为_____________和_____________条。【答案】(1)e(2)2e 7. 在有向图的邻接表和逆邻接表表示中,每个顶点的边链表中分别链接着该顶点的所有_____________和_____________结点。【答案】(1)出边(2)入边
8. 对于一个具有n个顶点和e条边的无向图,当分别采用邻接矩阵、邻接表表示时,求任一顶点度数的时间复杂度依次为_____________和_____________。【答案】(1)O(n)(2)O(e+n)9.对于一个具有n个顶点和e条边的连通图,其生成树中的顶点数和边数分别为_____________和_____________。
【答案】(1)n(2)n-1 10.Prim算法和Kruscal算法的时间复杂度分别为_____________和_____________。【答案】(1)O(n)(2)O(eloge)11.针对下图所示的连通网络,试按如下格式给出在Kruscal算法构造最小生成树过程中顺序选出的各条22
222B)10 C)11 D)12 边。
【答案】设边的信息表示为(始点,终点,权值),则在Kruscal算法构造最小生成树过程中顺序选出的各条边为:(3,5,1),(2,4,2),(1,5,3),(1,2,3)。3 判断题
1.图是一种非线性结构,所以只能用链式存储。()【答案】× 2.图的最小生成树是唯一的。()【答案】×
3.如果一个图有n个顶点和小于n-1 条边,则一定是非连通图。()【答案】√ 4.有n-1 条边的图一定是生成树。()【答案】×
5.用邻接矩阵表示图时,矩阵元素的个数与顶点个数相关,与边数无关。()【答案】√
6.用邻接表表示图时,顶点个数设为n,边的条数设为e,在邻接表上执行有关图的遍历操作时,时间代价为O(n+e)。()【答案】√
7.逆邻接表只能用于有向图,邻接表对于有向图和无向图的存储都适用。()【答案】√ 8.任何一个关键活动提前完成, 那么整个工程将会提前完成。()【答案】× 9.在AOE网络中关键路径只有一条。()【答案】×
10.在AOV网络中如果存在环,则拓扑排序不能完成。()【答案】√ 11.图的邻接矩阵存储是唯一的,邻接表存储也是唯一的。()【答案】×
12.假设一个有n个顶点和e条弧的有向图用邻接表表示,则删除与某个顶点vi相关的所有弧的时间复杂度是O(n*e)。()【答案】×
13.任意一个图都是其自身的子图。()【答案】√
14.一个无向连通图的生成树是含有该连通图的全部顶点的极大连通子图。()【答案】× 4 应用题
1.设有一有向图为G=(V,E)。其中,V={ v1, v2, v3, v4, v5},E={
(1)边集E中
2.画出1个顶点、2个顶点、3个顶点、4个顶点和5个顶点的无向完全图。并说明在n个顶点的无向完全图中,边的条数为n(n-1)/2。【答案】
【解析】因为在有n个顶点的无向完全图中,每一个顶点与其它任一顶点都有一条边相连,所以每一个顶点有n-1条边与其他顶点相连,则 n个顶点有n(n-1)条边。但在无向图中,顶点i到顶点j与顶点j到顶点i是同一条边,所以总共有n(n-1)/2条边。
3.对n个顶点的无向图G,采用邻接矩阵表示,如何判别下列有关问题:(1)图中有多少条边?(2)任意两个顶点i和j是否有边相连?(3)任意一个顶点的度是多少? 【答案】
(1)无向图的邻接矩阵是对称的,故它的边数应是上三角或下三角的非0元个数。(2)邻接矩阵中如果第i行第j列的元素非0则表示顶点i与顶点j相连。(3)任意一个顶点vi的度是第i行或第i列上非0元的个数。
4.熟悉图的存储结构,画出下面有向图的邻接矩阵、邻接表、逆邻接表、十字链表。写出邻接表表示的图从顶点A出发的深度优先遍历序列和广度优先遍历序列。
【答案】
邻接矩阵如下: 邻接表如下:
逆邻接表如下:
十字链表如下:
深度优先遍历序列为ABCFED,广度优先遍历序列为ABDCEF 5.已知下面是某无向图的邻接表,画出该无向图,并分别给出从A出发的深度优先搜索生成树和广度优先搜索生成树。
【解析】作该题的关键是弄清楚邻接表的概念,理解深度优先搜索和广度优先搜索的全过程以及二者的区别。
【答案】该无向图如下所示:
深度优先搜索生成树为: 广度优先搜索生成树为:
6.请分别用Prim算法和Kruskal算法构造以下网络的最小生成树,并求出该树的代价。
【解析】Prim算法的操作步骤:首先从一个只有一个顶点的集合开始,通过加入与其中顶点相关联的最小代价的边来扩充顶点集,直到所有顶点都在一个集合中。【答案】
【解析】Kruscal算法的操作步骤: 首先将n个顶点看成n个互不连通的分量,从边集中找最小代价的边,如果落在不同连通分量上,则将其加入最小生成树,直到所有顶点都在同一连通分量上。【答案】
7. 写出求以下AOE网的关键路径的过程。要求:给出每一个事件和每一个活动的最早开始时间和最晚开始时间。
【解析】求关键路径首先求关键活动,关键活动ai的求解过程如下(1)求事件的最早发生时间ve(j), 最晚发生时间vl(j);(2)最早发生时间从ve(0)开始按拓扑排序向前递推到ve(6), 最晚发生时间从vl(6)按逆拓扑排序向后递推到 vl(0);(3)计算e(i),l(i):设ai由弧
关键路径为:a0->a4->a6->a9 8. 拓扑排序的结果不是唯一的,试写出下图任意2个不同的拓扑序列。
【解析】解题关键是弄清拓扑排序的步骤(1)在AOV网中,选一个没有前驱的结点且输出;(2)删除该顶点和以它为尾的弧;(3)重复上述步骤直至全部顶点均输出或不再有无前驱的顶点。【答案】(1)0132465(2)0123465 9.给定带权有向图G和源点v1,利用迪杰斯特拉(Dijkstra)算法求从v1到其余各顶点的最短路径。
【解析】求解该题的关键是掌握迪杰斯特拉(Dijkstra)算法的设计原理----从一个顶点v到另一顶点vk的最短路径或者是(v,vk)或者是(v,vj,vk),它的长度或者是从v到vk弧上的权值,或者是D[j]与vj到vk弧上的权值之和,其中D[j]是已经找到的从v到vj的最短路径。【答案】S是已找到最短路径的终点的集合。
10.利用Floyd算法求下图中各对顶点之间的路径。
【解析】Floyd算法是依次添加顶点来修改相应路径,也就是说,若(vi,...,vk)和(vk,...,vj)分别是从vi到vk和从vk到vj的中间顶点的序号不大于k-1的最短路径,则将(vi,...vk,...,vj)和已经得到的从vi到vj且中间顶点序号不大于k-1的最短路径相比较,其长度较短者便是从vi到vj的中间顶点的序号不大于k的最短路径。经过n次比较后必求得vi到vj的最短路径,依次,可求得各对顶点间的最短路径。
求解的关键是求解如下的一个n阶方阵序列: D(-1),D,D,...,D,D[i][j]=G.arcs[i][j](k-1)(0)(1)(k)(n-1)其中 D(-1)(k)D=Min{D【答案】 [i][j],D(k-1)[i][k]+D
(k-1)
[k][j]} 0≤k≤n-1
每对顶点之间的最短路径及长度总结如下: 顶点A到顶点C最短路径为:A->C,长度为:1 顶点A到顶点B最短路径为:A->C->B,长度为:4 顶点C到顶点A最短路径为:C->B->A,长度为:12 顶点C到顶点B最短路径为:C->B,长度为:3 顶点B到顶点A最短路径为:B->A,长度为:9 顶点B到顶点C最短路径为:B->A->C,长度为:10
第8章 查找 选择题
1.顺序查找法适合于存储结构为()的线性表。
A)散列存储 B)顺序存储或链接存储 C)压缩存储 D)索引存储 【答案】B 2.下面哪些操作不属于静态查找表()A)查询某个特定元素是否在表中 C)插入一个数据元素
B)检索某个特定元素的属性 D)建立一个查找表 【答案】C 3.下面描述不正确的是()
A)顺序查找对表中元素存放位置无任何要求,当n较大时,效率低。B)静态查找表中关键字有序时,可用二分查找。C)分块查找也是一种静态查找表。
D)经常进行插入和删除操作时可以采用二分查找。【答案】D 4.散列查找时,解决冲突的方法有()A)除留余数法 【答案】D 5.若表中的记录顺序存放在一个一维数组中,在等概率情况下顺序查找的平均查找长度为()A)O(1)
【答案】C 6.对长度为4的顺序表进行查找,若第一个元素的概率为1/8,第二个元素的概率为1/4,第三个元素的概率为3/8,第四个元素的概率为1/4,则查找任一个元素的平均查找长度为()A)11/8 B)7/4 【答案】C 【解析】对顺序表查找,ASL=,代入题目得: ASL=4*(1/8)+3*(1/4)+2*(3/8)+1*(1/4)=9/4 7.静态查找表与动态查找表二者的根本差别在于()
A)它们的逻辑结构不一样 B)施加在其上的操作不同 C)所包含的数据元素的类型不一样 D)存储实现不一样 【答案】B 8.若查找表中的记录按关键字的大小顺序存放在一个一维数组中,在等概率情况下二分法查找的平均检索长度是()A)O(n)【答案】B 9.对有14个数据元素的有序表R[14](假设下标从1开始)进行二分查找,搜索到R[4]的关键码等于给定值,此时元素比较顺序依次为()。
A)R[1],R[2],R[3],R[4] B)R[1],R[13],R[2],R[3] C)R[7],R[3],R[5],R[4] D)R[7],R[4],R[2],R[3] 【答案】C 10.设有一个长度为100的已排好序的表,用二分查找进行查找,若查找不成功,至少比较()次。A)9 B)8
C)7
D)6 【答案】B 【解析】二分查找不成功时和给定值进行比较的关键字个数最多不超过二叉判定树的深度。100个元素查找表的判定树深为8(64<100<128)。
11.请指出在顺序表{2,5,7,10,14,15,18,23,35,41,52}中,用二分法查找关键码12需做()次关键码比较。A)2 B)3 C)4
D)5 【答案】C 12.从具有 n 个结点的二叉排序树中查找一个元素时,在最坏情况下的时间复杂度为()。A)O(n)B)O(1)C)O(log 2 n)D)O(n)【答案】C
2B)数字分析法 C)直接定址法 D)链地址法
B)O(log2n)C)O(n)D)O(n)C)9/4 D)11/4 B)O(log2n)C)O(nlog2n)D)O((log2n))
213.分块查找时确定块的查找可以用顺序查找,也可以用(),而在块中只能是()A)静态查找,顺序查找
C)二分查找,二分查找
【答案】B 14.采用分块查找时,若线性表中共有625个元素,查找每个元素的概率相同,假设采用顺序查找来确定结点所在的块时,每块应分()个结点最佳。A)10 B)25
C)6 D)625 【答案】B 15.采用分块查找法(块长为s,以二分查找确定块)查找长度为n的线性表时,每个元素的平均查找长度为()
A)s+n B)log2n+s/2 C)log2(n/s+1)+s/2 D)(n+s)/2 【答案】C 16.对一棵二叉排序树根结点而言,左子树中所有结点与右子树中所有结点的关键字大小关系是()A)小于
【答案】A 17.若二叉排序树中关键字互不相同,则下面命题中不正确的是()A)最小元和最大元一定是叶子 B)最大元必无右孩子 C)最小元必无左孩子 【答案】A 18.设二叉排序树中关键字由1至1000的整数构成,现要查找关键字为363的结点,下述关键字序列()不可能是在二叉排序树上查找到的序列? A)2,252,401,398,330, 344,397,363 B)924, 220, 911, 244, 898, 258, 362, 363 C)2, 399, 387, 219, 266, 382, 381, 278, 363 D)925, 202, 911, 240, 912, 245, 363 【答案】D 19.在初始为空的散列表中依次插入关键字序列(MON,TUE,WED,THU,FRI,SAT,SUN),散列函数为H(k)=i MOD 7,其中,i为关键字k的第一个字母在英文字母表中的序号,地址值域为 [0:6],采用线性再散列法处理冲突。插入后的散列表应该如()所示。
A)0 1 2 3 4 5 6 THU TUE WED FRI SUN SAT MON B)0 1 2 3 4 5 6 TUE THU WED FRI SUN SAT MON C)0 1 2 3 4 5 6 TUE THU WED FRI SAT SUN MON D)0 1 2 3 4 5 6 TUE THU WED SUN SAT FRI MON 【答案】B 20.若根据查找表建立长度为 m 的散列表,采用线性探测法处理冲突,假定对一个元素第一次计算的散列地址为 d,则下一次的散列地址为()。
A)d B)(d+1)%m C)(d+1)/m D)d+1 【答案】B 21.若根据查找表建立长度为 m 的散列表,采用二次探测法处理冲突,假定对一个元素第一次计算的散列地址为 d,则第四次计算的散列地址为()。
D)新结点总是作为叶结点插入二叉排序树 B)大于
C)等于
D)不小于
B)二分查找,顺序查找 D)散列查找,顺序查找 A)(d+1)%m B)(d-1)%m C)(d+4)%m D)(d-4)%m 【答案】D 22.下面有关散列查找的说法中正确的是()A)直接定址法所得地址集合和关键字集合的大小不一定相同。
B)除留余数法构造的哈希函数H(key)=key MOD p,其中P必须选择素数。C)构造哈希函数时不需要考虑记录的查找频率。
D)数字分析法适用于对哈希表中出现的关键字事先知道的情况。【答案】D 23.下面有关散列冲突解决的说法中不正确的是()
A)处理冲突即当某关键字得到的哈希地址已经存在时,为其寻找另一个空地址。B)使用链地址法在链表中插入元素的位置随意,即可以是表头表尾,也可以在中间。C)二次探测能够保证只要哈希表未填满,总能找到一个不冲突的地址。D)线性探测能够保证只要哈希表未填满,总能找到一个不冲突的地址。【答案】C 24.设哈希表长m=14,哈希函数H(key)=key%11。表中已有4个结点:addr(15)=4,addr(38)=5,addr(61)=6,addr(84)=7其余地址为空,如用二次探测处理冲突,关键字为49的结点的地址是()A)8 B)3 C)5
D)9 【答案】D 2 填空题
1.在散列函数H(key)=key%p中,p应取_____________。【答案】素数
2.采用分块查找法(块长为s,以顺序查找确定块)查找长度为n的线性表时的平均查找长度为_____________。【答案】(n/s+1)/2+1 3.己知一个有序表为(12,18,20,25,29,32,40,62,83,90,95,98),当二分查找值为29和90的元素时,分别需要_____________次和_____________次比较才能查找成功;若采用顺序查找时,分别需要_____________次和_____________次比较才能查找成功。【答案】(1)4(2)4(3)5(4)10 4.从一棵二叉排序树中查找一个元素时,若元素的值等于根结点的值,则表明 _____________,若元素的值小于根结点的值,则继续向 _____________查找,若元素的值大于根结点的值,则继续向 _____________ 查找。【答案】(1)查找成功
(2)左子树
(3)右子树 5.二分查找的存储结构仅限于 _____________,且是_____________。【答案】(1)顺序存储结构(2)有序
6.假设在有序线性表A[1..20]上进行二分查找,则比较一次查找成功的结点数为 _____________个,比较二次查找成功的结点数为_____________,比较三次查找成功的结点数为_____________,比较四次查找成功的结点数为_____________,比较五次查找成功的结点数为_____________,平均查找长度为_____________。
【答案】(1)1(2)2(3)4(4)8(5)5(6)3.7 7.在对有20个元素的递增有序表作二分查找时,查找长度为5的元素的下标从小到大依次为_____________。(设下标从1开始)【答案】4,9,14,17,20 8.对于线性表(70,34,55,23,65,41,20,100)进行散列存储时,若选用H(K)=K%9作为散列函数,则散列地址为1的元素有_____________个,散列地址为7的元素有_____________ 个。【答案】(1)2(2)2 9.索引顺序表上的查找分两个阶段:_____________、_____________。【答案】(1)确定待查元素所在的块(2)在块内查找待查的元素
10.分块查找中,要得到最好的平均查找长度,应对256个元素的线性查找表分成_____________块,每块的最佳长度是_____________。若每块的长度为8,则等概率下平均查找长度为_____________。【答案】(1)16(2)16
(3)21 【解析】分块查找的平均查找长度由两部分组成——查找索引表确定所在块的平均查找长度Lb和在块中查找元素的平均查找长度Lw,即ASLbs=Lb+Lw=(b+s)/2+1,其中s为每块的长度,b为所分的快数。由数学知识可知当s= 时,ASLbs可取得最小值 +1。因此,可得每块的最佳长度是16,应将查找表分为16块。若每块的长度为8,则b=32,因此ASLbs=Lb+Lw=(b+s)/2+1=21。
11._____________是一棵二叉树,如果不为空,则它必须满足下面的条件: A)若左子树不空,则左子树上所有结点的值均小于根的值。B)若右子树不空,则右子树上所有结点的值均大于根的值。C)其左右子树均为二叉排序树。【答案】二叉排序树
13.假定有k个关键字互为同义词,若用线性探测法把这些同义词存入散列表中,至少要进行_____________次探测。
【答案】1+2+3...+(k-1)+k=k(k+1)/2 【解析】在散列表的一连串连续空间内,第一个关键字只需探测一次,第二个就要探测2次,如此这般,第k个关键字就要探测k次才能找到位置存放。3 判断题
1.对查找进行时间分析时,只需要考虑查找成功的平均情况。()【答案】×
【解析】大多数情况下,特别查找表中记录数n很大时,查找不成功的概率可以忽略不计。但是,当查找不成功的情况不能忽视时,查找算法的平均查找长度应是查找成功时的平均查找长度与查找不成功时的平均查找长度之和。
2.在索引顺序表上实现分块查找,在等概率查找情况下,其平均查找长度不仅与表的个数有关,而且与每一块中的元素个数有关。()【答案】√
3.构造一个好的哈希函数必须均匀,即没有冲突。()【答案】×
【解析】一个好的哈希函数必须均匀,并不代表完全没有冲突,而是尽量减少冲突。4.在一定情况下,有可能设计出无冲突的散列函数H。()【答案】√
5.二分查找只适用于有序表,包括有序的顺序表和有序的链表。()【答案】×
【解析】二分查找只适用于顺序表,而不能在链表结构中采用。因为链表查找都是从头指针开始。6.对给定的关键字集合,以不同的次序插入初始为空的树中,有可能得到同一棵二叉排序树。()【答案】√
7.分块查找适用于任何有序表或者无序表。()【答案】× 【解析】分块查找适用于任何有序表或者分块有序表,而不适用于任意的无序表。
8.在用线性探测法解决冲突所构造的散列表中,每组同义词中至少有一个元素的地址正好等于其散列地址。()【答案】×
【解析】当存在堆积的冲突时,可能没有一个元素地址等于其计算所得的散列地址。9.对一棵二叉排序树中序遍历一定得到一个关键字的有序序列。()【答案】√
10.所谓冲突即是两个关键字的值相同的元素,其散列地址相同。()【答案】×
【解析】冲突是指两个关键字的值不相同的元素,计算得到的散列地址相同。11.二叉判定树和二叉排序树一样,都不是唯一的。()【答案】×
【解析】对于同一组结点,由于建立二叉排序树时插入结点的先后次序不同,所构成的二叉排序树的形态及深度也不同,所以含有n个结点的二叉排序树不唯一。但二叉判定树却是唯一的。
12.若二叉树中每个结点的值均大于其左孩子的值,小于其右孩子的值,则该二叉树一定是二叉排序树。()【答案】×
【解析】判定一棵二叉树是否是二叉排序除上面两个条件外,还必须满足第三个条件,即其左右子树也是二叉排序树。
13.分块查找中,每一块的大小是相同的。()【答案】×
【解析】最末一块,可以不是整块,前面块的大小必须相同。
14.对一个有序表作二分查找,查找每个元素所需的查找次数均比用顺序查找所需的查找次数要少。()【答案】×
【解析】顺序查找时最少的比较次数为1,它的比较次数小于位于二叉判定树第二层以上的结点。二分查找时最多的比较次数为二叉判定树的深度。
15.散列表的查找效率主要取决于所选择的散列函数与处理冲突的方法。()【答案】√ 4 应用题
1.顺序查找时间为O(n),二分法查找时间为O(log2n),散列法为O(1),为什么有高效率的查找方法而低效率的方法不被放弃? 【答案】不同的查找方法适用的范围不同,高效率的查找方法并不是在所有情况下都比其他查找方法效率要高,而且也不是在所有情况下都可以采用。
2.对含有n个互不相同元素的集合,同时找最大元和最小元至少需进行多少次比较? 【答案】n-1次
【解析】设变量max和min用于存放最大元和最小元(的位置),第一次取两个元素进行比较,大的放入max,小的放入min。从第2次开始,每次取一个元素先和max比较,如果大于max则以它替换max,并结束本次比较;若小于max则再与min相比较,在最好的情况下,比较下去都不用和min相比较,所以这种情况下,至少要进行n-1次比较就能找到最大元和最小元。
3.若对具有n个元素的有序的顺序表和无序的顺序表分别进行顺序查找,试在下述两种情况下分别讨论两者在等概率时的平均查找长度:
(1)查找不成功,即表中无关键字等于给定值K的记录;(2)查找成功,即表中有关键字等于给定值K的记录。【答案】
(1)不成功时需要n+1 次比较(2)成功时平均为(n+1)/2次
【解析】有序表和无序表顺序查找时,都需要进行n+1次比较才能确定查找失败。因此平均查找长度都为n+1。查找成功时,平均查找长度都为(n+1)/2,有序表和无序表也是一样的。因为顺序查找与表的初始序列状态无关。
4.设有序表为(a, b, c, d, e, f, g, h, i, j, k, p, q),请分别画出对给定值a, g和n进行折半查找的过程。【答案】
(1)查找a的过程如下(圆括号表示当前比较的关键字),经过三次比较,查找成功。
(2)g的查找过程如下,一次比较成功。
[a b c d e f(g)h i(3)n的查找过程如下,经过四次比较,查找失败。
j k p q ]
5.为什么有序的单链表不能进行折半查找? 【答案】因为链表无法进行随机访问,如果要访问链表的中间结点,就必须先从头结点开始进行依次访问,这就要浪费很多时间,还不如进行顺序查找,而且,用链存储结构将无法判定二分的过程是否结束,因此无法用链表实现二分查找。
6.构造有12个元素的二分查找的判定树,并求解下列问题:(1)各元素的查找长度最大是多少?
(2)查找长度为1、2、3、4的元素各有多少?具体是哪些元素?(3)查找第5个元素依次要比较哪些元素? 【答案】12个元素的判断树如下图所示:
(1)最大查找长度是树的深度4。(2)查找长度为1的元素有1个,为第6个,查找长度为2的元素有2个,为第3个和第9个,查找长度为3的元素有4个,为第1、4、7、11个,查找长度为4的元素有5个,为第2、5、8、10、12个。(3)查找第五个元素依次比较6,3,4,5。
7.以数据集合{1,2,3,4,5,6}的不同序列为输入,构造4棵高度为4的二叉排序树。【答案】
图(1)图(2)
图(3)图(4)
8.直接在二叉排序树中查找关键码K与从中序遍历输出的有序序列中用二分查找法查找关键码K,其数据比较次数是否相同? 【答案】不相同。
【解析】因为二分查找得到的判定树和二叉排序树的形状不一定相同。9.已知一棵二叉排序树如下:
(1)假如删除关键字28,画出新二叉树。(2)若查找56,需和哪些关键字比较。【答案】(1)删除元素28后,需修改二叉排序树的形态,可用结点28左子树上最大的结点代替它如图(1),也可用其右子树上最小的结点代替它,如图(2)。
图(1)图(2)
2)若要查找56,需和38、49、55、56进行4次比较。
10.设散列函数为h(key)=key%101,解决冲突的方法为线性探测,表中用“-1”表示空单元。
(1)若删去散列表HT中的304(即令HT[1]=-1)之后,在表HT中查找707将会发生什么?
(2)若将删去的表项标记为“-2”,查找时探测到“-2”继续向前搜索,探测到“-1”时终止搜索。请问用这种方法删去304后能否正确地查找到707? 【答案】
(1)查找707时,首先根据散列函数计算得出该元素应在散列表中的0单元,但是在0单元没有找到,因此将向下一单元探测,结果发现该单元是-1(为空单元),所以结束查找,这将导致707无法找到。(2)如果改用“-2”作为删除标记,则可以正确找到707所在的结点。
11.已知散列表的地址区间为0~11,散列函数为H(k)=k % 11,采用线性探测法处理冲突,将关键字序列20,30,70,15,8,12,18,63,19依次存储到散列表中,试构造出该散列表,并求出在等概率情况下的平均查找长度。
【答案】构造散列表如下(每个元素的查找长度标注在该元素的下方)。
等概率情况下成功时的平均查找长度为(1×5+2+3+4+5)/9=19/9 12.设散列函数为H(k)=k % 11,采用拉链法处理冲突,将上例中关键字序列依次存储到散列表中,并求出在等概率情况下的平均查找长度。【答案】
在等概率情况下成功的平均查找长度为:(1*5+2*2+3*1+4*1)/9=16/9 13.假定一个待散列存储的线性表为(32,75,29,63,48,94,25,46,18,70),散列地址空间为HT[13],若采用除留余数法构造散列函数和线性探测法处理冲突,试求出每一元素的初始散列地址和最终散列地址,画出最后得到的散列表,求出平均查找长度。【答案】
构造的散列表如下:
在等概率情况下成功的平均查找长度为(1*7+2*5+3*1+4*1)/14=24/14 14.散列表的地址区间为0~15,散列函数为H(key)=key%13。设有一组关键字{19,01,23,14,55,20,84}, 采用线性探测法解决冲突,依次存放在散列表中。问:(1)元素84存放在散列表中的地址是多少?(2)搜索元素84需要的比较次数是多少? 【答案】构造的散列表如下:
(1)元素84存放在散列表中的地址是8。(2)搜索元素84需要的比较3次。
第9章 排序 选择题
1.从末排序的序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在排序序列的合适位置,该排序方法称为()排序法。A)插入 B)选择 C)希尔 D)二路归并 【答案】A 2.下面各种排序方法中,最好情况下时间复杂度为O(n)的是()A)快速排序 B)直接插入排序 C)堆排序 D)归并排序 【答案】B 3.用某种排序方法对线性表(25,84,21,47,15,27,68,35,20)进行排序时,无序序列的变化情况如下: 25 84 21 47 15 27 68 35 20 20 15 21 25 47 27 68 35 84 15 20 21 25 35 27 47 68 84 15 20 21 25 27 35 47 68 84 则所采用的排序方法是()
A)选择排序
B)希尔排序
C)归并排序
D)快速排序 【答案】D
4.下面给出的四种排序法中,()排序是不稳定排序法。A)插入 B)冒泡 C)二路归并 D)堆 【答案】D 5.快速排序方法在()情况下最不利于发挥其长处。A)要排序的数据量太大
B)要排序的数据中含有多个相同值 C)要排序的数据已基本有序 D)要排序的数据个数为奇数 【答案】C
6.一组记录的关键码为(46,79,56,38,40,84),则利用快速排序的方法,以第一个记录为基准得到的一次划分结果为()A)38,40,46,56,79,84 B)40,38,46,79,56,84 C)40,38,46,56,79,84 D)40,38,46,84,56,79 【答案】C
7.对记录的关键码{50,26,38,80,70,90,8,30,40,20}进行排序,各趟排序结束时的结果为: 50,26,38,80,70,90 ,8,30,40,20 50,8,30,40,20,90,26,38,80,70 26,8,30,40,20,80,50,38,90,70 8,20,26,30,38,40,50,70,80,90 其使用的排序方法是()
A)快速排序 B)基数排序 C)希尔排序 D)归并排序 【答案】C 8.在文件“局部有序”或文件长度较小的情况下,最佳内部排序方法是()A)直接插入排序 B)冒泡排序 C)简单选择排序 D)归并排序 【答案】A 【解析】当待排序列基本有序时,对冒泡排序来说,若最大关键字位于序列首部,则每趟排序仅能使其“下沉”一个位置,要使其下沉到底部仍需n-1趟排序,也即时间复杂度仍为O(n)。而对简单选择排序来说,其比较次数与待排序列的初始状态无关;归并排序要求待排序列已经部分有序,而部分有序的含义是待排序列由若干有序的子序列组成,即每个子序列必须有序,并且其时间复杂度为O(n log2);直接插入排序在待排序列基本有序时,每趟的比较次数大为降低,也即n-1趟比较的时间复杂度由O(n)降至O(n)。9.在下列算法中,()算法可能出现下列情况:在最后一趟开始之前,所有的元素都不在其最终的位置上。
A)堆排序 B)冒泡排序 C)插入排序 D)快速排序 【答案】C 【解析】在插入排序中,如果待排序列中的最后一个元素其关键字值为最小,则在最后一趟开始之前,前n-1个排好序的元素都不在其最终位置上,与排好序后的位置相差一个位置。因此,选C。
10.设有5000个无序的元素,希望用最快速度挑选出其中前10个最大的元素,在以下的排序方法中,采用()方法最好
A)快速排序 B)堆排序 C)希尔排序 【答案】B 【解析】用堆排序最好,因为堆排序不需要等整个排序结束就可挑出前10个最大元素,而快速排序和希尔排序都需等待整个排序结束才能知道前10个最大元素。
11.对给出的一组关键字{14,5,19,20,11,19}。若按关键字非递减排序,第一趟排序结果为{14,5,19,20,11,19},问采用的排序算法是()
A)简单选择排序 B)快速排序 C)希尔排序 D)二路归并排序 【答案】C 12.以下序列不是堆的是()A)100,85,98,77,80,60,82,40,20,10,66 B)100,98,85,82,80,77,66,60,40,20,10 C)10,20,40,60,66,77,80,82,85,98,100 D)100,85,40,77,80,60,66,98,82,10,20 【答案】D 【解析】根据堆采用完全二叉树的顺序存储形式及堆的特点,因第一个结点即根结点关键字值最大,则应建立一个大根堆,但依据此数据序列建立起堆后关键字值为40的左右孩子结点分别为60、66,不符合大根堆特点。
13.下面排序方法中,关键字比较次数与记录的初始排列无关的是()A)希尔排序 B)冒泡排序 C)直接插入排序 D)直接选择排序 【答案】D 【解析】如果初始排列基本有序,则对希尔排序来说,前几趟的插入工作大为减少。冒泡排序和直接插入
2n
2排序都与初始排序序列有关,只有直接选择排序与初始序列无关.故选D。
14.一组记录的关键字为{45,80,55,40,42,85},则利用堆排序的方法建立的初始堆为()A)80,45,50,40,42,85 B)85,80,55,40,42, 45 C)85,80,55,45,42,40 D)85,55,80,42,45,40 【答案】B 15.一组记录的关键字为{25,50,15,35,80,85,20,40,36,70},其中含有5个长度为2的有序表,用归并排序方法对该序列进行一趟归并后的结果为()A)15,25,35,50,20,40,80,85,36,70 B)15,25,35,50,80,20,85,40,70,36 C)15,25,50,35,80,85,20,36,40,70 D)15,25,35,50,80,20,36,40,70,85 【答案】A 【解析】对5个长度为2的有序表一趟归并后得到前两个长度为4的有序表和最后一个长度为2的有序表,故选A。
16.n个元素进行冒泡排序的过程中,最好情况下的时间复杂度为()A)O(1)B)O(log2)C)O(n)D)O(n)【答案】D 【解析】最好情况下至少需要一趟排序,即比较n-1次,故选D。
17.n个元素进行快速排序的过程中,第一次划分最多需要移动()次元素(包括开始将基准元素移到临时变量的那一次)。
A)n/2 B)n-1 C)n D)n+l 【答案】D 【解析】移动次数最多的情况是对n-1个元素比较时都需移动,加上开始将基准元素移到临时变量以及由临时变量移至正确位置的二次,即共需n+1次,故选D。18.下述几种排序方法中,要求内存量最大的是()A)插入排序 B)选择排序 C)快速排序 D)归并排序 【答案】D 【解析】插入排序和选择排序需要的辅助空间为O(1),快速排序需要的辅助空间为O(log2),归并排序需要的辅助空间为O(n),因此选D。
19.下面排序方法中,时间复杂度不是O(n)的是()
A)直接插入排序 B)二路归并排序 C)冒泡排序 D)直接选择排序 【答案】B 【解析】直接插入排序、冒泡排序和直接选择排序的时间复杂度为O(n),而二路归并排序的时间复杂度为O(n log2),故选B。
20.对下列4个序列用快速排序方法进行排序,以序列的第1个元素为基准进行划分。在第1趟划分过程中,元素移动次数最多的是序列()A)70,75,82,90, 23,16,10,68 B)70,75,68,23,10,16,90,82 C)82,75,70,16,10,90,68,23 D)23,10,16,70,82,75,68,90 【答案】A 【解析】快速排序第一趟划分的方法是:将第1个元素放入最终排好序序列中的正确位置上,则在这个位n
2nn
2置右边小于该元素值的元素都将移到其左边,在这个位置左边大于该元素值的元素都将其移到其右边。由此得到A需移动的元素最多,故选A。2 填空题
1.当数据量特别大需借助外部存储器对数据进行排序,则这种排序称为_____________。【答案】外部排序
2.在堆排序、快速排序和归并排序中,若从节省存储空间考虑,则应首先选取_____________方法,其次选取_____________方法;若只从排序结果的稳定性考虑,则应先择_____________方法;若只从平均情况下排序的速度来考虑,则选择_____________方法;若只从最坏情况下排序最快并且要节省内存考虑,则应选取_____________方法。
【答案】(1)堆排序
(2)快速排序
(3)归并排序(4)快速(5)堆
3.对n个元素的序列进行冒泡排序,最少的比较次数是_____________,此时元素的排列情况为_____________,在_____________情况下比较次数最多,其比较次数为_____(4)_ ____。【答案】
(1)n-1(2)从小到大排序(3)元素从大到小排列(4)n(n-1)/2 【解析】初始元素正序时,第一趟比较n-1次,并无数据交换,则不再比较,故只比较n-1次。若反序,则比较(n-1)+(n-2)+(n-3)+„..+2+1共n(n-1)/2次。
4.希尔排序是把记录按下标的一定增量分组,对每组记录进行直接插入排序,随着增量_____________,所分成的组包含的记录越来越多,当增量的值为_____________时,整个数组合为一组。【答案】(1)减少
(2)1 5.直接插入排序需借助的存储单元个数(空间复杂度)为_____________,最好情况下直接插入排序的算法时间复杂度为_____________,最坏情况下该算法的时间复杂度为_____________。【答案】(1)1(2)O(n)(3)O(n)6.对n个数据进行简单选择排序,所需进行的关键字间的比较次数为_____________,时间复杂度为_____________。
【答案】(1)n(n-1)/2(2)O(n)7.对于关键字序列(12,13,11,18,60,15,7,20,25,100),用筛选法建堆,必须从键值为_____________的关键字开始。【答案】60 【解析】建堆必须从n/2结点开始,而10/2=5位置的结点值为60,故填60。
8.对一组记录(54,38,96,23,15,72,60,45,83)进行直接插入排序时,当把第7个记录60插入到已排序的有序表时,为寻找其插入位置需比较_____________次。【答案】3 【解析】当把第7个记录60插入到有序表时,则前6个记录已经有序,此时记录60由后向前与有序表中的元素进行比较,直到遇到值小于60的记录为止,也即在有序表(15,23,38,54,72,96)中共需比较3次,因此填3。
9.若对顺序存储在A[l]~A[9]的记录(76,38,62,53,80,74,83,65,85)进行堆排序,已知除第一个元素76外,以其余元素为根的结点都已是堆,则对第一个元素进行筛运算时,它将最终被筛到A数组下标为_____________的位置上。【答案】8 【解析】从树结构关键字值看,除根外是小根堆。对第一元素进行筛运算时,得到的数据序列为:38,53,62,65,80,74,83,76,85。
11.在时间复杂度为O(log2)的排序方法中,_____________排序方法是稳定的;在时间复杂度为O(n)的排序方法中,_____________排序方法是不稳定的。n
22【答案】(1)归并
(2)直接选择
12.设表中元素的初态是按键值递增的,若分别用堆排序、快速排序、冒泡排序和归并排序方法对其仍按递增顺序进行排序,则_____________最省时间,_____________最费时间。【答案】(1)冒泡排序
(2)快速排序
【解析】若初始序列已经有序,则冒泡排序仅需一趟(比较n-1次);而快速排序则需n-1趟,其时间复杂度升至O(n)。因此填:冒泡排序,快速排序。
13.从一个无序序列建立一个堆的方法是:首先将要排序的n个键值分放到一棵______________的各个结点中,然后从i=_____________的结点Ki开始,逐步把以Ki-
1、Ki-
2、„、K1为根的子树排成堆,直到以Kl为根的树排成堆,就完成了建堆的过程。【答案】(1)完全二叉树(2)n/2下取整。
14.在归并排序中,若待排序记录的个数为20,则共需要进行_____________趟归并,在第三趟归并中,是把长度为_____________的有序表归并为长度为_____________的有序表。【答案】(1)5(2)4(3)8 【解析】第一次把长度为1的归并为长度的2的子表共10个,第二次把长度为2的归并成长度为4的子表共5个,第三次把长度为4的归并为长度为8的共3个,第四次长度为8归并为长度为16的,第5次归并成一个有序表。3 判断题
1.对一个堆,按二叉树层次进行遍历可以得到一个有序序列()【答案】×
【解析】堆的定义只规定了结点与其左、右孩子结点间的大小关系,而同一层上属不同父母的结点之间并无明确的大小关系,所以堆的层次遍历并不能得到一个有序序列。2.内部排序就是整个排序过程完全在内存中进行的排序()【答案】√
3.在数据基本有序时,直接插入排序法一定是性能最好的算法()【答案】×
【解析】在数据量较少且数据基本有序时,直接插入法性能较好,但当数据量大时,则该算法的性能会大大降低。
4.当数据序列已有序时,若采用冒泡排序法,数据比较n-1次()【答案】√
5.内排序中的快速排序方法,在任何情况下均可得到最快的排序效果()【答案】×
【解析】快速排序在待排序记录为随机分布时效果最好,基本有序时效果最差。6.用希尔方法排序时,若关键字的初始排序杂乱无序,则排序效率就低()【答案】×
【解析】希尔排序又称“缩小增量排序”,即每趟只对相同增量距离的关键字进行比较,这与关键字序列初始有序或无序无关。
7.有一小根堆,堆中任意结点的关键字均小于它的左、右孩子关键字。则其具有最大值的结点一定是一个叶结点并可能在堆的最后两层中()【答案】√
8.对n个记录的集合进行归并排序,在最坏情况下所需要的时间是O(n)()【答案】×
【解析】归并排序不受记录初始序列的影响,即所谓的最坏情况,其所需时间也是O(nlog2)。9.对n个记录的集合进行冒泡排序,在最坏情况下所需要的时间是O(n)()
n