![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 64
明瑶
这个作者很懒,什么都没留下…
展开
-
ALGO-124 数字三角形 动态规划
问题描述 (图3.1-1)示出了一个数字三角形。 请编一个程序计算从顶至底的某处的一条路 径,使该路径所经过的数字的总和最大。 ●每一步可沿左斜线向下或右斜线向下走; ●1<三角形行数≤100; ●三角形中的数字为整数0,1,…99; . (图3.1-1)输入格式 文件中首先读到的是三角形的行数。 接下来描述整个三角形输出格原创 2016-03-09 20:16:32 · 409 阅读 · 0 评论 -
动态规划算法学习
笔试面试中经常会出现一些考察动态规划方面的题目,以前没有接触过,现在初学做个整理。1. 什么是动态规划? 和分治法一样,动态规划(dynamicprogramming)是通过组合子问题而解决整个问题的解。 分治法是将问题划分成一些独立的子问题,递归地求解各子问题,然后合并子问题的解。 动态规划适用于子问题不是独立的情况,也就是各子问题转载 2016-05-27 17:09:50 · 300 阅读 · 0 评论 -
Java二分查找算法
二分查找又称折半查找,将待查找的键key与数组中间值array[mid]比较,如果相等,则查找成功,如果key小于数组中间值,则在数组前半段查找,如果key大于数组中间值,则在数组后半段查找,如果没有则查找失败。优点:查找速度快,比较次数少,平均性能好缺点:要求待查表是有序表,插入、删除困难递归方法:public static int search(int[]原创 2016-05-29 12:07:48 · 417 阅读 · 0 评论 -
Java 快速排序
快速排序:已知数列[k1,k2,k3,k4,k5,k6,k7] 。以k1为基准,将数列分为左右两部分,大于k1的在k1右边,小于k1的在k1左边,在左右两部分如此递归,时间复杂度为O(log2(n))算法如下:先将数列分为两部分public static int sort(int[] arr,int begin,int end){ int temp = arr[0]原创 2016-05-29 23:46:56 · 379 阅读 · 0 评论