分治策略在求最大最小数中的应用与分析

来源 :学术理论与探索 | 被引量 : 0次 | 上传用户:atianjun
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:排序(Sorting)是计算机程序设计中的一个重要操作,它的功能是将一个数据记录的任意序列,重新排列成一个按关键字有序的序列,在实现的过程中,可以有多种方法,其中利用分治策略是解决这一问题的有效途径。本文通过比较讨论了运用分治策略的思想实现快速求解,证明其有效性和高效性。
  关键词:分置策略;应用;分析
  
  1前言
  
  任何一个可以用计算机求解的问题所需的计算时间都与其规模有关。问题的规模越小,越容易直接求解,解题所需的计算时间也越少。例如,对于n个元素的排序问题,当n=1时,不需任何计算。n=2时,只要作一次比较即可排好序。n=3时只要作3次比较即可,…。而当n较大时,问题就不那么容易处理了。要想直接解决一个规模较大的问题,有时是相当困难的。
  
  2分治策略的应用与分析
  
  分治法的设计思想是,将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。
  分治策略是:对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同,递归地解这些子问题,然后将各子问题的解合并得到原问题的解。这种算法设计策略叫做分治法。
  分治法在每一层递归上都有三个步骤:
  ①分解:将原问题分解为若干个规模较小,相互独立,与原问题形式相同的子问题;
  ②解决:若子问题规模较小而容易被解决则直接解,否则递归地解各个子问题;
  ③合并:将各个子问题的解合并为原问题的解。
  我们以线性表查找为例,
  例:在线性表L中找出最大数 {1,5,13,6,8,9,215,3}
  (1)、用常规查找法,就是一个一个的扫描L的所有元素,找出最大数和最小数。
  int maxmin(int a[])
  {int max1=a[0],min1=a[0];
   for(i=1;i  {if (max1>a[i])max1=a[i];
  if (max1  }
  }
  我们分析这种查找方式:需要14次比较,算法复杂度:T(n)=O(n);
  (2)、用递归分治策略查找法
  算法的实现(C语言):
  //主函数
  #include
  void maxmin(int i,int j,int a[]);
  int max,min; //全局变量
  void main()
  {
   int a[]={1,5,13,6,8,9,215,3,66,8};
   max=a[0];
   min=a[0];
   maxmin(0, sizeof(a)/sizeof(a[0])-1,a);
   cout<   cout<  }
  //函数如下
  void maxmin(int i,int j,int a[])
  {
   if (j-i>1)//子集大于二时候,分集
   {
   maxmin(i,int((j+i)/2),a);
   maxmin(int((j+i)/2)+1,j,a);
   }
   else
   {
   if (a[i]>a[j])
   {
  if (max   if (min>a[j]) min=a[j];
   }
   else
  {
  if (max   if (min>a[i]) min=a[i];
  }
   }
  }
  分析:我们可以把10个元素分成 A1={1,5,13,6}和A2={8,9,215,3}两组,分别求出两组的最大最小值,然后比较这两组的最大最小值,求出全部元素的最大值。
  如果A1和A2中的元素多于两个,则再用上述方法将其分为两子集,直到集合中的元素少于二个为止。
  
  我们分析这种查找方式:图中每个方框中,左边是最小值,右边是最大值。从图中看出,用这种方法一共比较了10次,比直接比较法的14次减少4次,即约减少了1/3。
  我们以在8个元素中找出最小数和最大数做比较
  
  这种算法在比较数组元素所用时间比比较整数i、j所用的时间多得多时,是一种较优的算法。
  
  结语
  
  由此可见:利于分治策略求解时,所需时间取决于分解后子问题的个数、子问题的规模大小等因素,而二分法,由于其划分的简单和均匀的特点,是经常采用的一种有效的方法。由分治法产生的子问题往往是原问题的较小模式,这就为使用递归技术提供了方便,在这种情况下,反复应用分治手段,可以使子问题与原问题类型一致而其规模却不断缩小,并由此可产生许多高效算法。
  
  参考文献:
  [1]SARABAASE.计算机算法.设计与分析导论[M](第3版).北京:高等教育出版社,2001.
  [2]王海源.分治算法的两种思路和形式[J].上海师范大学学报(自然科学版),2003(32) .
  [3]范时平.基于满二叉树的原地快速排序[J].重庆邮电学院学报(自然科学版),2006(18):781-783.
  [4]虎治勤.快速排序性能分析[J].电脑知识与技术(学术交流),2007(2):443-444.
其他文献
摘 要:全面推进素质教育,要求地理课程改革必须转变 "学科本位"、"知识中心"的教育观念,着眼于学生的全面发展和终身发展,结合地理学科的特点,创设有助于学生自主学习、主动探究地理问题的学习情境。课前预习作为学生学习新知识的第一环节,在培养学生的自主学习习惯,提高其自主学习能力方面起到了非常重要的作用。引导学生进行课前预习无疑成为培养学生自主学习的重要途径。   关键词:课前预习;习惯培养;方法指导
期刊
自最高人民检察院于2003年发布《人民监督员制度试点工作方案》、在天津、河北、山东等十个省市开展人民监督员试点工作以来,经过六年时间的不断探索,人民监督员制度现已在全国检察机关全面施行。作为检察改革的一项重大举措,高检院的相关文件将人民监督员定位为检察机关的监督者,即由人民监督员对检察机关的相关工作进行监督。应当承认,人民监督员制度的施行在很大程度上解决了长期困扰检察机关的“谁来监督监督者”的问题
期刊
军务部门在组织指导部队行政管理的实践中,经常采用一些行之有效的方法,诸如:调查研究的方法、抓点带面的方法、督促检查的方法、相互协作的方法、专题活动的方法以及培训骨干的方法等。    一、深入实际,调查研究    深入实际,调查研究,是搞好行政管理的重要方法。军务部门必须面向连队,深入基层,调查研究,掌握第一手资料。特别是在新形势下,部队建设中出现了许多新问题、新情况,迫切需要机关深入下去,及时加以
期刊
一.积极的人生观、终生的求知欲、好奇心及自学能力是学生在学校里所要获得的最宝贵的东西。从数学学科角度来讲,前几条都是直接涉及数学教育的问题,也即涉及数学教学的人文内涵。一般来说,现代数学教学的人文性包括两方面。第一,是强调教学过程中对学生身心两方面的和谐发展,整个数学教学过程中必须体现对学生个体作为人的价值的尊重、认同与重视。因此,教学活动应重视学生的需要、兴趣、创造和自由,重视发展学生的个性,使
期刊
摘 要:课堂是学生接受知识、提高自我适应社会能力的场所,也是教师引导学生提高自身素养的场所。而课堂教学效果的好坏直接关系学生知识获得的多与少、能力的高与低。  关键词:课堂效率;备课;课堂精讲;学习兴趣;师生关系;事半功倍;测试    提高课堂教学效率,是全面提高教学质量的基本要求,是实施素质教育的一项重要任务,也是减轻学生过重负担的一个根本措施。目前,在一些中小学校的课堂教学中还不同程度地存在着
期刊
摘 要:素质教育趋势下课堂教学必须改革,课堂教学该如何变才符合素质教育的精神实质,该如何变才有利于提高学生的能力。  关键词:变化;引导;探究    素质教育视野下教学课堂必须提高效率,大多数教师认为其有效性取决于以下三个条件:一是建立在科学的理论基础之上,反映有关思维、学习和行为的研究成果;二是指导学生按照一定的序列开展活动;三是学生积极参与学习过程。这些教学规律是始终以学生为“主体”、为“中心
期刊
在新的历史时期,学员的思想观念、价值取向、行为方式等出现了许多新情况、新问题,影响着学员队的全面建设和战斗力的生成。如何保证部队的高度集中统一,全面提升学员队管理教育工作质量,保证部队良好的工作、学习、生活秩序,美国著名政治学者威尔逊和犯罪学家凯琳提出的“破窗理论”给我们几点启示:如果有人打坏了一个窗户玻璃,而又未得到及时维修,别人就容易受到暗示去打烂更多的窗户玻璃。久而久之,这些破窗就给人造成一
期刊
摘 要:原电池和电解池是氧化还原反应原理的具体应用,探究电极反应发生的原因, 是理解及应用原电池、电解池的前提和关键。因此,在分析、研究原电池或电解池的问题时,要紧紧抓住氧化还原反应这一主线索。   关键词:原电池;电解池;电极;电极反应;综合应用      一、原电池与电解池的区别与判断     在“原电池”与“电解池”的教学中,经常会发现一些学生不会区别与判断原电池与电解池,这与学生缺乏感性知
期刊
众所周知,要学好一种语言,词汇是关键。掌握一定数量的词汇有助于提高说话能力和阅读、写作水平。词汇量越大,英语学习的效果肯定会越好。因此词汇的学习自然就成了初中英语教学的一个重要组成部分。那么如何才能更好地进行词汇教学呢?     一、实物和看图导入生词,把单词放在句中进行教学    新教材中,大部份单词都比较具体,可借助实物(pencil book)、挂图、简笔画以及动作,表情等进行直观情景教学,
期刊
摘 要.:本文从工作的流通岗位的实际工作经验出发,阐述了现代图书馆实现人性化服务的必要性,分析了图书馆如何加强人性化建设,吸引读者最大限度地利用图书馆馆藏文献资源。  关键词:读者服务;人性化服务;人文关怀    在信息化日新月异的今天,很多图书馆片面地强调设备的更新、技术的提高和藏书量的增加这些硬件,而忽视了“读者第一、服务至上”这一软件的提高,缺乏以人为本的服务理念,缺少人文关怀,至使图书馆事
期刊