Tony

子集生成

很多问题都可以“暴力解决”。不需要动太多脑筋,把所有的可能性都列出来,然后一一实验。这样的方法显得很“笨”,却往往是行之有效的。 并且,很多问题拆分后的子问题,也需要用暴力求解的思想,比如 BFS 搜索最短路径,就需要列出所有可能,然后加入队列。 本篇讨论暴力求解的其中一个问题,子集生成问题。其他暴力求解的问题,如简单枚举,枚举排列,回溯法,路径寻找(隐式图的遍历)等问题,本篇暂不讨论。 ...

二分搜索及其应用

二分搜索简介 在计算机科学中,二分搜索(binary search)也称折半搜索(half-interval search)、对数搜索(logarithmic search),是在有序数组中查找某一特定元素的搜索算法。 其基本思想是通过逐次比较数组特定范围的中间元素与目标元素的大小,每次缩小一半的搜索范围,来提高搜索效率。 二分搜索的时间复杂度是 O(log n),空间复杂度为 O(1)...