- 1、本文档共71页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
备战NOIP2010提高组初赛复习
——算法篇之算法设计的常用策略
程序设计主要包括两个方面
结构特性的设计(数据结构的设计);
行为特性的设计(算法设计);
第一篇主要阐述了结构特性的设计,即如何为解题选择合适的数据结构。但这只是问题的一个方面。接下来的问题是如何将解题过程的每一个细节准确地加以定义,并用某种语言完整地描述出来。这一过程既所谓行为特性的设计,亦称算法设计。第二篇将围绕这个主题展开讨论。
算法是一组(有限个)规则,,,,,:
(1)有穷性 一个算法必须保证执行有限步之后结束;
(2) 算法的每一步骤必须确切定义;
(3) 一个算法有0个或多个输入,0个输入是 指算法本身定出了初始条件;
(4) 一个算法有一个或多个输出, 的算法是毫无意义的;
(5) 算法原则上能够精确地进行,;
,,,
现实世界的事物多姿多彩,千变万化。我们不可能规定一些简单的条条框框和套用现成的模式去解决所有的问题。然而,现实世界也有大量事物存在着许多相似或相近的规律,存在本质相同的东西。正因为如此,就有可能形成一些常用的方法思路(策略),按照这些方法思路分析和求解试题,一般可使解题过程变得容易一些。
本章将介绍几种典型的算法策略,这些策略常用于那些需要独立思考、见解独创和有所创新的非标准题。当然面对实际试题,究竟使用哪种方法,怎样用,需要“具体问题具体分析”,需要机智灵活,不宜死记成规、生搬硬套,得靠自己想方设法。所谓“阵而后战,兵法之常,运用之妙,存乎一心”是也。
§5.1 将问题A对应另一个便于思考或有求解方法的问题B,化繁为简,变未知为已知。
一 一对应技术是一种重要的策略。它的思维核心是求同,通过举一反三、触类旁通地对已经解决的类似问题和有关事实作联想,外推出事物间的联系,从而全面、深入地认识和分析事物。“世界上没有完全不同的东西”,相似点的普遍存在为我们使用对应策略解题提供了基础。但是对应并不等于等价,它不仅要分析问题间的共同点,还要分析问题间的不同点,是一种异中求同的思维方法。
一、对应精典问题
“客观世界物质第一性,思维第二性”。经典问题及其算法的知识积累是解题的基础。竞赛的许多试题最终都可以转化为经典问题,因此必须尽可能多地掌握经典问题及其算法的知识。解题时,心中经常要回忆已经解决的经典问题和有关解法,往往会收到意想不到的效果。当然这些试题并不直接以经典问题的原貌出现。我们必须合理运用求同思维、求异思维比较两者间的相同点和不同点,通过适当的方法将试题转化为经典问题。
【例题廿】换车问题
一个城市有n个车站,已知m条连接这些车站的公共汽车单向路线。求站1至站n的最少换车数。
输入:
n m
以下m行依次列出每条线路的车站序号。
输出:
最少换车次数。
算法分析
这个问题对我们来讲并非陌生。如果将问题要求改为“求站1到站n最少经过多少站”,就变为我们相当熟悉的最短路径的典型应用。即
令有向图G=V,E,V|=n。vi,vjV且(Vi,Vj)E当且仅当i站、j站在某条线路上相邻,(Vi,Vj)ij设为1。显然,汽车线路经过的站数=路径顶点数=路径边数+1=路径的权和+1。为使总站数最少,只要使路径的权和最小,即只要求出图G中Vi至Vj的最短路径即可。
但现在的问题是求最少换车次数,虽然它与求经过最少站数的总是有共同背景,但要求不同。我们化异为同,重新对原图G作了修正:
若Vi,VjV且(Vi,Vj)∈E当且仅当站i与站j依次在同一条公共汽车线路上(Vi可直达Vj),Wij仍为1。然后运用求最短路径方法计算V1至Vn的最短路径长度,其长度-1即为最少换车次数。设
t—当前线路的车站数;
oneline—当前线路的车站序列;
g—有向图的相邻矩阵;
我们按照下述算法计算最少换车次数:
fillchar (g, sizeof (g),0); {有向图初始化}
for i:=1 to m do {读入每条线路的信息,构造g图}
begin
t←0; fillchar(oneline,sizeof(oneline),0); {第i条线路初始化}
while not eoln do
begin
t←t+1;i条线路的第t个车站序号oneline[t];
for j:=1 to t-1 do g[oneline[j],oneline[t]]1;
您可能关注的文档
- %90镰刀菌烯醇和多组分真菌毒素污染状况.pdf
- (12-13)1位二进制全加器VHDL设计.ppt
- (第2篇 ARM微处理器硬件结构)第5 6节.ppt
- (第2篇 ARM微处理器硬件结构)第7 8节.ppt
- 安防监控系统安装与调控技巧.docx
- 安全背包公钥密码的要点与设计.doc
- (二)VHDL语言程序基本结构.ppt
- (冀教版)六年级数学下册课件 中位数及众数.ppt
- (硼与水补给系统).pdf
- (苏教版)六年级数学下册课件 中位数与众数.ppt
- 2025年市总工会党组书记、市委组织部部长生活会“四个带头”个人对照检查发言材料2篇(含上年度整改+个人情况、个人事项+典型案例).docx
- 2025年部编版小学六年级下册《道德与法治》第四单元 让世界更美好第10课 我们爱和平教学课件.pptx
- 公司领导班子2025年围绕“四个带头”主题检视问题整改落实方案与组织生活会批评意见(20条)2篇文.docx
- 教育系统党组班子2025年对照“四个带头”含意识形态、以典型案例举一反三解析检视材料【2篇文】.docx
- 2025年国有企业领导班子、学校副校长生活会“四个带头”方面对照个人检视发言材料2篇文(附:上年度整改情况、典型案例解析).docx
- 2025年生活会“四个带头”个人对照检查材料2篇文(含对其他领导批评意见,个人公开事项申报、意识形态).docx
- 2025年国有企业党委书记、领导班子生活会“四个带头”方面对照检查发言材料2篇文(上年度整改情况).docx
- 乡镇领导班子、市委组织部常务副部长2025年对照“四个带头”含违纪行为为典型案例的剖析与反思检视剖析材料{2篇文}.docx
- 市委社会工作部2025年生活会领导班子对照检视发言材料2篇文(含以案为鉴,深刻反思存在问题、反面典型案例举一反三解析、其他需要说明情况).docx
- 2025年民主生活会、组织生活会批评意见(20条)与市直单位领导班子“四个带头”对照检查材料【含上年度查摆问题整改落实情况】2篇文.docx
文档评论(0)