搜索算法在大学生程序设计竞赛中的应用

来源 :科技尚品 | 被引量 : 0次 | 上传用户:zhjkkcd
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:在运用计算机技术时,如果出现了一些较为复杂的问题,那么我们就可以采用搜索算法来进行解决,这种方法在计算机技术中起着至关重要的作用,并且在相关的程序设计竞赛中,搜索算法也是考察的重点之一。运用简单却严密的算法来解决实际问题是锻炼一个人基本功和积累潜力最强有力的途径,深度优先搜索和广度优先搜索是搜索算法中最为关键的两部分,要想熟练的运用搜索算法,我们就必须了解这两种搜索算法。其次,探讨搜索算法的规律,根据不同问题的特点制定不同的搜索方案,这也是我们熟练运用搜索算法的必然工作之一。
  关键词:深度优先搜索;广度优先搜索;剪枝;启发式搜索;程序设计
  随着社会的发展,计算机技术水平也变得越来越高,现阶段,很多计算机都已经具备高性能的操作方法,而搜索算法在计算机技术中起着至关重要的作用,它可以利用计算机的高性能在一定的时间内有效的求出问题解决的方法,也正是因为这一点,很多学者都将目光放到了搜索算法当中,并且这种算法也得到了大多数人的关注。现在,越来越多的大学生都开始关注起计算机程序设计竞赛,参加到这类竞赛,可以让大学生提高利用编程解决实际问题的能力,同时也能将一些方法灵活地运用在不同的问题之中,总而言之,大学生积极的参加到这类竞赛中可以提高自己的编程能力。
  1 搜索算法
  搜索算法是利用计算机高性能的特点通过遍历每一种可能性来寻求解决问题的方案,一般包括枚举法、深度优先(DFS)、广度优先(BFS)、A*算法等等。本文主要探讨深度优先算法和广度优先算法这两种较通用的算法。
  深度优先算法,顾名思义,以深度优先进行搜索,是图算法的一种。英文全称为Depth First Search。深度优先搜索的实质是从某个未被访问过的节点出发,不断访问与当前结点相邻且未被访问过的结点,如果不存在这样的结点,则返回上一个结点。这一特性与递归的思想十分一致,在当前所要做的事情和下一步所要做的事情是一致的,所以,深度优先搜索用递归实现十分简单,当然,用非递归的方法同样可以实现。当结点返回到上一结点之后,DFS就可以沿另外一个方向进行搜索,当其找到最终目标之后,搜索工作就会结束。深度优先搜索并不是完美无缺的,也存在一些问题,当数据规模比较大,求解问题所用的时间会很长,在不限制搜索深度的情况下,可能引起堆栈溢出,从而找不到解。而且,在找到解的情况下,也不能保证找到的是问题的最优解。
  广度优先搜索,又称为宽度优先搜索,也是图算法的一种,有点类似于树中的层序遍历,从某个未被访问过的结点出发,假设每两个相邻结点的距离为1,先访问与起始结点距离为1的所有结点,再访问与起始结点距离为2且未被访问过的结点,以此类推,直至所有的结点都被访问过。广度优先搜索的搜索方式更为细致,当问题有解时,可以找到最优解,而且它会将每个出口的路径都记录下来,就算经过不同的路口,它也会按照同样的方式进行记录。但是在最后一层的搜索时,广度优先搜索可能会采取一次性输出可能情况的手段,这就导致所需的存储空间较大。而且相比于深度優先搜索而言,效率比较低。
  一般来说,深度优先搜索和广度优先搜索可以解决大多数的搜索问题,但是有些情况下,它们会受到内存、时间等因素的限制,这就导致在实际问题中,这两种搜索方式无法找到最优的解决方案。针对这一问题,我们必须对这两种搜索方式进行一定的改进。
  2 搜索算法的选择与优化
  2.1 搜索策略选取原则
  一般来说,深度优先搜索和广度优先搜索都能解决一些比较简单的问题,但由于深度优先搜索编写方便,而且状态管理也比较方便,所以通常采用深度优先搜索。如果遇到的问题需要用多个路径来进行问题求解,那么我们也可以选择深度优先搜索,因为深度优先搜索在得到一个路径之后就可以直接进行输出,所以选择它可以最快的将问题解决。但是对于广度优先搜索来说,如果用它来解决这种多路径的问题,那么就会消耗大量的时间,因为在搜索过程中,广度优先搜索会把路径的节点全部保存起来,直到最后一个节点之后才会进行输出,这样不仅浪费空间,还会影响效率。对于广度优先搜索来说,最优解的问题求解是最适合它的。
  根据以上搜索策略的选取原则,我们在国内的一些OJ平台(杭电、洛谷、51nod等等)选取了一些题目进行分析验证,都取得了不错的效果。
  2.2 优化搜索策略
  由于深度优先搜索和广度优先搜索是两种比较通用的搜索方法,在编程时我们往往采用较固定的模板,这样一来,当我们面对较为复杂的问题,编写的程序执行效率显然不高。因此,我们往往需要根据不同的问题对算法进行优化。
  剪枝是搜索算法中常常采用的一种优化方法,也是大学生程序设计竞赛中的重要考点之一,如果我们的程序在比赛中运行超时,不妨考虑一下剪枝优化。剪枝的思想十分简单,它是根据上一层已经得到的结果进行判断,如果在现有条件下有可能出现问题的解,则继续往下搜索,否则立即返回上一层。这样一来,就可以避免搜索一些肯定没有结果的分支,从而提高了程序的效率。
  启发式搜索也是一种对搜索策略的优化,它引导搜索朝着最后可能的方向前进,以搜索算法中著名的八数码问题为例,要想将数码移动步数降到最低,那么我们千万不能采取深度优先搜索方式,因为这种运算方式中采用了太多没有意义的中间状态,它会使运算过程变得过于复杂。虽然广地优先搜索可以在运算过程中找到最短的路径,但由于八数码问题空间过高,运用广度优先搜索仍会消耗大量的时间以及存储空间,所以综合来看,这两种运算方式都不合适。然而,启发式搜索可以在搜索前对相应的位置进行评估,并且按照指定的方向进行搜索,通过比较我们可以得出一个结论,在进行复杂问题解决的时候,启发式搜索具有较大的优势,所以在解决八数码问题的时候,我们通常采用的搜索算法都是启发式搜索。
  3 结语
  综上所述我们可以看出,现在,计算机的发展和搜索算法有着密切的关联,两者缺一不可。而且随着社会的进步,搜索的应用也变得越来越广泛,现阶段,我们的学习目标主要就是如何运用简单的运算方法来解决问题,这样可以有效的增强我们的个人能力以及解决问题的能力。其次,在现有的计算机程序设计竞赛中,搜索问题所占的比例是极高的,这也说明了一个问题,搜索算法在计算机技术中起着极为关键的作用。搜索策略是搜索过程中最重要的一步,好的策略可以有效的解决问题,为我们节省时间。在面对不同的问题时,我们要学会选择不同的方式,合理的搜索策略不仅可以节省时间,同时还可以在很大程度上提高搜索效率。
  参考文献
  [1]曲大鹏,张迪,连秋雨,等.搜索算法在计算机程序设计竞赛中的研究[J].辽宁大学学报(自然科学版),2016,(3):209-213.
  [2]刘洋.点格棋博弈中UCT算法的研究与实现[D].安徽大学,2016.
  [3]光洋.爱恩斯坦棋计算机博弈系统的研究与实现[D].安徽大学,2016.
  (作者单位:1.江苏科技大学 计算机科学与工程学院;2.江苏科技大学 计算机学院;3.江苏科技大学 材料科学与工程学院)
其他文献
摘 要:根据班级学生的性格特质,结合学校办学特色,我创建了有自己特 色班级文化。加强班级文化建设,能使班级井然有序、一枝独秀、充满生机,使学校充满文化氛围、文化底蕴、育人特色。  关键词:中职学生特色班级;爱心感化  G645.1  打造多元化特色班级,让每名中职学生在班级找到自己的最爱,这是我——一个中职学校班主任的最大愿望!古语说“入兰芷之室,久而不闻其香,则与之化矣”,班级文化的浓郁与否,直
煤炭工业技术咨询委员会受原中煤总公司计划局委托,对总公司所属79个矿务局(直属矿)461个矿井,进行了“矿井、矿区综合评价及分类”的调查研究。其目的是使煤炭企业适应改革
摘要:2016年5月12日,福州商贸职业学校校园救护队在“红十字日”展示了心肺复苏、包扎等现场急救技能。救护队成员在活动现场接受记者采访时说:参加学校救护队,学习急救技能、安全小知识,在现实生活中很实用,在学校对同学有帮助,在家里对家人有帮助,甚至我们还有队员在旅游中应用急救技能帮助了他人,这些都让我们非常有成就感。本论文以福州商贸职业中专为例,结合福建省福州市红十字会的体验式生命教育的要求,谈谈
陈独秀1937年8月出狱后,中国共产党表示欢迎。1937年11月20日出版的党中央理论刊物《解放》,还发表了时评——《陈独秀先生到何处去》,并以尊敬和期待的口吻说:“当独秀先生
新课程改革的倡导为初中数学教学的改革与发展提供了良好的契机.作为初中数学教师,要促进教学的改革,就必须在诸多方面适应教学的转变,无论是教育方式还是教育理念.文章就以
1993年8月14日,武汉钢铁(集团)公司矿业公司揭牌仪式在武汉市青山区隆重举行。来自全国冶金矿山行业各单位、武钢矿山所在地政府、武汉青山区各部门及武钢兄弟公司、一共50
摘 要:虽然说以4G通信技术为基础的无线网络通信模式,令人们日常生活、学习和工作获得愈加便利性的支持服务条件,但是却也不可避免地滋生出许多通信安全隐患。在此类背景下,笔者决定针对基于4G通信技术的无线网络安全通信的问题,以及相关协调性控制举措等内容,加以有序论证解析,希望能够引起相关工作人员重视。  关键词:4G通信;无线网络;安全问题;控制举措  截止至今,在现代网络技术的全面革新与发展等条件作
摘要:高校肩负着学习研究宣传马克思主义、培养中国特色社会主义事业建设者和接班人的重大任务,高校学生基层党组织是实现这一任务的基地,是高校党建的基点,也是对学生党员进行教育管理的最直接、最有效的载体。新媒体的不断发展,特别是网络技术、移动通讯技术的广泛运用给高校学生基层党建工作带来了新情况、新问题和新挑战,加强和创新高校学生基层党建工作是做好高校学生思想政治教育工作的迫切需要,传统的学生党建管理模式
摘 要:电线电缆行业归口于机械行业,但它与一般的机械行业相比有许多鲜明的特点,例如部门之间信息沟通不畅,工作效率难以提高,重复劳动明显等。企业希望实现扁平化管理,使管理工作做到规范化、精细化、数字化。经过多方调研、选型,本公司最后选择了金思维信息技术有限公司作为信息化合作伙伴,采用JSERP软件系统搭建信息化管理平台。一场影响深远的信息化变革在长龙电缆公司悄然拉开了序幕。  关键词:电缆;金思维;
摘 要:在当前社会高速发展的宏观背景之下,PLC技术在工业自动化领域当中的地位愈来愈重要。对于我国绝大多数自动化企业来讲,在生产运营过程当中,会涉及相应的PLC技术。在本文的研究当中,主要结合当前高职学校PLC教学的现状进行分析,探讨了高职学校PLC教学的策略和方法。  关键词:高职学校PLC;教学策略;理论联系实际  相对而言,高职学校学生基础比较薄弱,如果单纯依赖于传统的教学方法,往往难以达到