摘要: 队列用的是先进先出(FIFO);linkedList的addFrist方法就是先进先出方法。 堆栈用的是先进后出(FILO);如main方法压栈最后执行完main弹栈。 阅读全文
posted @ 2017-01-12 21:09 zzdxw 阅读(1128) 评论(0) 推荐(0) 编辑
摘要: 类似于回溯法,也是一种在问题的解空间树T上搜索问题解的算法。但在一般情况下,分支限界法与回溯法的求解目标不同。回溯法的求解目标是找出T中满足约束条件的所有解,而分支限界法的求解目标则是找出满足约束条件的一个解,或是在满足约束条件的解中找出使某一目标函数值达到极大或极小的解,即在某种意义下的最优解。 阅读全文
posted @ 2017-01-12 15:39 zzdxw 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。 概念: 回溯法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为 阅读全文
posted @ 2017-01-12 15:29 zzdxw 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 概念: 在对问题求解时,总是做出当前看来最好的选择,也就是说不从整体考虑,它做出某种意义上的最优解。 贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。 以下的列子使用贪心算法就不能取到最优解。 有 阅读全文
posted @ 2017-01-12 14:29 zzdxw 阅读(241) 评论(0) 推荐(1) 编辑
摘要: 动态规划概念: 动态规划算法通常用于求解具有某种最优性质的问题。在这类问题中,可能会有许多可行解。每一个解都对应于一个值,我们希望找到具有最优值的解。动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于用动 阅读全文
posted @ 2017-01-12 14:27 zzdxw 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 基本思想就是:设置一个key=48 从后往前比 如果后面数小于48 那就交互位置,再从前往后比,如果前面数大于48就交换位置,从后往前比,以此类推。 java代码实现: public class ArithmeticQuickSort { public void quick_sort(int[] a 阅读全文
posted @ 2017-01-12 14:05 zzdxw 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 分治算法概念: 分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。 解题步骤: 分治算法 分治法解题的一般步骤: 分治算法 (1)分解,将要解决的问题划分成若干规模较小的同类问题; (2)求解,当子问题划分得 阅读全文
posted @ 2017-01-12 10:48 zzdxw 阅读(313) 评论(0) 推荐(0) 编辑