- 博客(12)
- 资源 (2)
- 收藏
- 关注
原创 最大子序列问题
问题描述:给定整数A1,A2,...,AN(可能为负数),求(Ai+...Aj)的最大值(为了方便起见,如果所有整数均为负数,则最大子序列和为0)。一.首先给出了一个递归的算法 复杂度为O(Nlog(N)),这个方法采用一种“分治”(divide-and-conquer)策略。在我们的例子中,最大子序列和可能出现在三处。或者整个出现在输入数据的左半部,或者整个出现右半部,或者跨越输入数据的中部
2007-11-30 15:51:00 2938 1
转载 海明码的C++实现
#include iostream>#include exception>using namespace std;namespace Encode...{ class LengthException : public std::exception ...{ virtual const char* what()
2007-11-29 21:57:00 2142 1
转载 Stein算法求最大公约数 ( ANSI C )
首先引进一个符号:g_c_d是greatest common divisor(最大公约数)的缩写,g_c_d( x,y ) 表示x和y的最大公约数。然后有一个事实需要了解:一个奇数的所有约数都是奇数。这个很容易,下面我们要用到。 来研究一下最大公约数的性质,我们发现有 g_c_d( k*x,k*y ) = k*g_c_d( x,y ) 这么一个非常好的性质(证明我就省去了)。说他好是因为他
2007-11-27 22:53:00 3874
转载 关于内存对齐的学习笔记
一、问题的提出 两年之前我写过一篇可变参数学习笔记,里面曾经简单的解释过一句: 代码 ((sizeof(n)+sizeof(int)-1)&~(sizeof(int)-1)) 的作用是在考虑字节对齐的因素下计算第一个可变参数的起始地址。 当时限于时间和水平,未能做更详细的解释。 今天(2007-11-2
2007-11-27 18:35:00 1063 1
原创 全排序
void permute(const string & str, int low, int high){ vector cVec; for(; low cVec.push_back(str[low]); do{ copy(cVec.begin(), cVec.end(), ostream_iterator(cout,"")); cout }while(next_
2007-11-21 18:39:00 905
转载 使用STL的hash_map要点
说来惭愧,使用了很久Visual Stdio 2003了,只知道MFC升级到了7.0,ATL也升级到了7.0,对于这两个经典的类库做了一些研究,但一直没有注意C++标准库的变化。 今天尝试的使用了stdext::hash_map这个库,果然不错。下面写下一些心得。 hash_map类在头文件hash_map中,和所有其它的C++标准库一样,头文件没有扩展名。如下声
2007-11-20 18:46:00 5326 2
原创 算法题2
1.下面将要介绍一个高效的数据结构,并将它应用在一个很小的问题上:给定一个输入文件,查找其中最长的重复子字符串。例如,“Ask not what your country can do for you, but what you can do for your country”中最长的重复字符串就是“can do for you”,“your country”是第二个位置。如何编写解决这个问题
2007-11-14 19:11:00 858
原创 最大K乘积问题(DP专题)
最大K乘积问题: 设I是一个n位十进制整数。如果将I划分为k段,则可得到k个整数。这k个整数的乘积称为I的一个k乘积。试设计一个算法,对于给定的I和k,求出I的最大k乘积。编程任务: 对于给定的I 和k,编程计算I 的最大k 乘积。Input输入的第1 行中有2个正整数n和k。正整数n是序列的长度;正整数k是分割的段数。接下来的一行中是一个n位十进制整数。(nOutput计算出的最大k
2007-11-14 13:49:00 4527
原创 www计算机会议影响力
Computer Science Conference Rankings DISCLAIMER: The ranking of conferences
2007-11-10 20:14:00 8614
原创 优先队列的精简实现(c++)
templateclass priqueue{private: int n, maxsize; T *x; void swap(int i, int j) { T t = x[i]; x[i] = x[j]; x[j] = t; }p
2007-11-09 22:33:00 1080
原创 位域
有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几 个不同的区域, 并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的二进制
2007-11-09 22:09:00 686
翻译 Creating an Index Table in STL
In "Creating an Index Table in STL," ("C/C++ Tips #1," August 2000) Craig Hicks points out that an index table is a useful tool with no direct support in the Standard C++ library. However, there is a
2007-11-07 13:04:00 812
Wireless Sensor Networks: Signal Processing and Communications Perspectives
2008-02-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人