算法学习与C++实现
文章平均质量分 77
mantofast
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
从排序开始---算法之旅
基本的排序方法 每次说到排序,都会想起刚学习C语言那会的冒泡排序还有哨兵设置改进方法。但是看过算法导论后才知道自己是多么浅薄,排序的方法有很多。 问题描述: 输入:n个数的一个序列 输出:序列满足一定条件(如从大到小或是从小到大)的一个排列 1、插入排序 思想:从打扑克牌说起,这原创 2015-02-03 13:50:04 · 264 阅读 · 0 评论 -
2分查找
以下是2分查找算法的一个变形 一个已排好序的数组[1,2,3,4,5,6,7,8],若将数组的前半挪到后面即[3,4,5,6,7,8,1,2],如何在lg(n)时间内查找到分叉点 分析:我们知道,如果排好的数组,那么左边的一定小于右边的值,题设里提到lg(n),那么很自然的想到递归,就是如何把问题归为相同类型的子问题,查找问题就是要不断缩小范围。对于任意给定的按题设打乱的数组,只需要比较边界元原创 2015-03-30 10:35:48 · 296 阅读 · 0 评论 -
动态规划学习笔记之0-1背包问题
课堂上老师是从找零问题(即给一些不同面值种类的钱币,用户输入一定金额,要求输出用最少的个数的钱币组合)开始引入的贪心算法,分治思想以及动态规划方法。日常生活中我们也许没有注意到,自己在处理找零问题时总是采用的是贪心算法,每次都从最大面值的钱币开始,直至剩余值小于最大面值,才开始选取更小一点的面值,这样的方法简单,复杂度低,但是不一定能得到全局最优的结果。而分治思想就是把一个复杂的大问题分解成几个完原创 2015-03-19 17:02:09 · 435 阅读 · 0 评论
分享