
ACM备战
vcjmhg
这个作者很懒,什么都没留下…
展开
-
回溯算法解决子集、组合和排列问题
本文主要讲了通过回溯法如何解决排列、组合、子集这三类问题的基本思路:组合问题关键点在于用一个start来保证每次选择的元素是之前未被选择过的排列问题关键点在于通过contains()来保证每次选择的元素都未被包含在trace中这两类问题回溯结束的时机都是搜索到的元素达到了预定的长度,即我们可以判断trace中元素的长度来判断是否终止此次回溯。而子集问题则不然,因为它的长度是变长的,所以每次进入搜索的第一件事情就是将结果加入到结果集中。原创 2021-04-30 17:10:50 · 347 阅读 · 2 评论 -
两种查找方式
折半查找法方法1:二分查找(递归实现):void srearch mid(int key){ int mid; if(top>bot) { mid=(top+end) if(key==a[mid]) { cout<<mid; return 0; }原创 2016-10-15 16:22:39 · 280 阅读 · 0 评论