/*
*Copyright(c)2014,烟台大学计算机学院学生
*All rights reserved.
*文件名称:
*作者:马广明
*完成日期:2014 年 5 月 27 日
*版本号:v1.0
*问题描述:求各种立体体积。
*输入描述:无。
*程序输出:正方体,球体,圆柱体面积及体积
*问题分析:
*算法设计:
*/
#include
using names...
分类:
其他好文 时间:
2014-06-05 04:30:10
阅读次数:
206
双调欧几里得旅行商问题是一个经典动态规划问题。《算法导论(第二版)》思考题15-1和北京大学OJ2677都出现了这个题目。
旅行商问题描述:平面上n个点,确定一条连接各点的最短闭合旅程。这个解的一般形式为NP的(在多项式时间内可以求出)
J.L. Bentley 建议通过只考虑双调旅程(bitonictour)来简化问题,这种旅程即为从最左点开始,严格地从左到右直至最右点,然后...
分类:
其他好文 时间:
2014-06-05 04:28:09
阅读次数:
220
算法训练 瓷砖铺放
时间限制:1.0s 内存限制:512.0MB
问题描述
有一长度为N(1
例如,长度为4的地面一共有如下5种铺法:
4=1+1+1+1
4=2+1+1
4=1+2+1
4=1+1+2
4=2+2
编程用递归的方法求解上述问题。
输入格式
只有一个数N,代表地板的长度
输出格...
分类:
其他好文 时间:
2014-06-05 03:49:46
阅读次数:
211
//*************************************
// 函数名称:FineTab 二分查找算法 ->查温度表
// 函数功能:查找数据在表中对应的位置 表中数据从大到小
// 入口参数:表地址、表长度、要查找的数据
// 出口参数:无
// 返 回 值:数据在表中的位置
//***************************************/
int ...
分类:
其他好文 时间:
2014-06-05 03:00:34
阅读次数:
246
算法训练 幂方分解
时间限制:1.0s 内存限制:256.0MB
问题描述
任何一个正整数都可以用2的幂次方表示。例如:
137=27+23+20
同时约定方次用括号来表示,即ab 可表示为a(b)。
由此可知,137可表示为:
2(7)+2(3)+2(0)
进一步:7= 22+2+20 (21用2表示)
3=2+20...
分类:
其他好文 时间:
2014-06-05 02:56:01
阅读次数:
232
在c++11标准中定义了一种新的可调用对象 lambda
lambda类似与匿名函数 , 只不过可以通过一种机制(不是参数)来调用一些局部变量 , 这样就能使自身的参数变少,也就能达到STL中某些算法对谓词的要求。
lambda的形式:
lambda表达式的引入标志,在‘[]’里面可以填入变量,表示lambda要捕获的变量 , 这就是lambda的关键处 。 可以为空
l...
分类:
编程语言 时间:
2014-06-05 02:45:39
阅读次数:
282
本题应该挺经典的,因为可以使用好多方法过,适合训练多种高级数据结构和算法。
这里使用AVL平衡二叉树的解法,时间还可以,大概300ms吧,内存很省188k,因为这里使用指针,没有浪费内存。
这里使用Geeks上面的AVL的做法,使用递归更新树,而不使用双亲指针,试了下使用双亲指针,真的好麻烦,要维护多一个指针,容易出错很多。
递归操作二叉树是非常优雅的。
而且不需要使用任何STL容器,非常...
分类:
其他好文 时间:
2014-06-05 01:56:58
阅读次数:
269
暗通道优先的图像去雾算法。说到图像去雾,就不得不提到由何凯明博士等人提出的基于暗通道的图像去雾算法。这个算法因其新颖的思路和理想的效果而广受关注,相关论文也曾于2009年荣获CVPR最佳论文奖,同时也是该奖设立以来,首次由亚洲学者获颁此殊荣。本文介绍起原理,并在MATLAB中编程实现,试验证明效果良好。...
分类:
其他好文 时间:
2014-06-05 01:52:59
阅读次数:
250
1. 红黑树并不追求“完全平衡”——它只要求部分地达到平衡要求,降低了对旋转的要求,从而提高了性能。
红黑树能够以O(log2 n) 的时间复杂度进行搜索、插入、删除操作。此外,由于它的设计,任何不平衡都会在三次旋转之内解决。当然,还有一些更好的,但实现起来更复杂的数据结构,能够做到一步旋转之内达到平衡,但红黑树能够给我们一个比较“便宜”的解决方案。红黑树的算法时间复杂度和AVL相同,但统...
分类:
其他好文 时间:
2014-06-05 01:44:35
阅读次数:
232
快速排序的平均性能相当好,故快速排序通常是用于排序的最佳的使用选择。
该算法的关键是对数组进行初始划分。进行完数组划分之后,需要递归地将划分出来的两子数组分别进行快速排序。...
分类:
其他好文 时间:
2014-06-05 01:11:08
阅读次数:
258