
【算法】
MING.MING
学生一枚
展开
-
【算法】分治法
分治法java代码实现二分搜索(二分查找、折半查找)汉诺塔合并排序(归并排序)【未总结部分】 二分搜索(二分查找、折半查找) 【要求】线性表为有序表(排好序的) 【基本思想】先确定待查找记录所在的范围,然后逐步缩小范围直至找到或找不到该记录位置。 【步骤】 1、先确定中间位置:middle = (left+right)/2; 2、将待查找得key值与data[middle].key值相比较。若相等...原创 2019-03-04 10:46:36 · 1186 阅读 · 0 评论 -
【算法】动态规划法
动态规划法定义及性质设计步骤核心动态规划算法的两种形式斐波那契数列两种解决方法 定义及性质 1、定义:把原问题分解为相对简单的子问题的方式求解复杂问题的方法 2、性质:重叠子问题和最优子结构性质 设计步骤 1.描述最优解的结构,可以利用子问题的最优解来构造原问题的最优解; 2.递归定义最优解的值 3.按自底向上的方式计算最优解的值 4.由计算出的结果构造一个最优解 核心 记住求解过的值,不用重新...原创 2019-03-11 09:35:38 · 2201 阅读 · 0 评论 -
【算法】贪心法
贪心法贪心算法特征基本思路举个例子(硬币问题) 贪心算法 贪新算法通过一系列的选择来得到问题的解。他所做的每一个选择都是当前状态下的最好选择,即贪心选择。 贪心选择的一般特征:贪心选择和最优子结构性质。 特征 一、贪心选择性质 贪心选择性质是指所求的问题的整体最优解可以通过一系列局部最优的选择,即贪心选择。这是贪心算法可行的第一个基本要素,也是贪心算法与动态规划算法的主要区别。 在动态规划算法中,...原创 2019-03-18 09:11:39 · 589 阅读 · 0 评论