Dynamic Programming

  在介绍动态规划之前,先了解一下分治策略:分治策略是将原问题分解为若干个规模较小但类似于原问题的子问题 (Divide),“递归”的求解这些子问题 (Conquer),然后再合并这些子问题的解来建立原问题的解。 [Read More]

Depth-First Search

深度优先遍历

  深度优先遍历/搜索(Depth-First Search/Traversal)是树结构中常见的操作,有着广泛的用处,有两种主要的解决办法,递归和迭代。针对节点访问次序的不同,又可以分为先序、中序和后序遍历。 [Read More]

Breadth-First Search

  深度优先遍历 / 搜索(Breadth-First Search/Traversal)是树结构中常见的操作,有着广泛的用处,这里对不同的实现方式做了分别介绍。 [Read More]

Binary Search

二分查找

  二分查找(Binary Search)是在有序数组中查找某一特定元素的搜索算法。主要的算法流程如下: 从数组的中间元素开始搜索,如果中间元素即是需要查找的元素,即搜索过程结束。 如果中间元素比要搜索的元素大,那么要搜索的元素就在中间元素的左侧(升序数组,否则在右侧),对左侧有序子数组进行相同的取中间元素再比较的过程;如果中间元素比要搜索的元素小,就对右侧子数组进行同样的操作。 结束条件(递归出口):如果子数组为空。 [Read More]
Tags: Coding

二维数组中的查找

  题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 [Read More]
Tags: Coding