- 博客(25)
- 资源 (1)
- 收藏
- 关注
原创 【动态规划之】求最长公共子序列问题
/** ** copyright@andy ** http://blog.csdn.net/MonkeyAndy **/首先介绍动态规划方法的相关知识动态规划方法的基本思想:分成若干个子问题,先求解子问题,然后根据子问题的解求得原问题的解。经分解得到的子问题往往不是互相独立的。可重复利用!其核心思想就是分治,分治方法的特点是分解后的子问题相对独立,可以通过简单的合并算法
2012-09-08 23:22:15
1389
原创 在一个字符串中找到第一个只出现一次的字符。
/***************************************copyright@ andy*http://blog.csdn.net/MonkeyAndy**************************************/题目描述:在一个字符串中找到第一个只出现一次的字符。如输入 abaccdeff,则输出 b。思路:用hash
2012-09-05 20:09:22
739
原创 c中数据类型的隐式转换规则
在C的运算中以下四种情况会发生数据类型的隐式转换: 1、算术运算式中,低类型能够转换为高类型。 2、赋值表达式中,右边表达式的值自动隐式转换为左边变量的类型,并赋值给他。 3、函数调用中参数传递时,系统隐式地将实参转换为形参的类型后,赋给形参。 4、函数有返回值时,系统将隐式地将返回表达式类型转换为返回值类型,赋值给调用函数。
2012-09-04 09:52:53
1122
原创 [STL应用之使用 bitset 实现排序]
/××××××××××××××××××××××××××MonkeyAndy原创,转载请注明出处×××××××××××××××××××××××/http://blog.csdn.net/MonkeyAndy/××××××××××××××××××××××××××MonkeyAndy原创,转载请注明出处×××××××××××××××××××××××/没有最好只有更好,如您有更
2012-08-21 20:45:40
557
原创 Bit-map介绍及其应用
注:本文参考自 http://blog.csdn.net/v_JULY_v ,修正了其中的一些问题感谢原作者所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。如果说了这么多还没明白什么是Bit-map,那么我们来看一个具体的例子,假设我们要对0-7内的5个元素(4,7,
2012-07-30 21:47:25
536
转载 一致性hash算法 - consistent hashing
一致性 hash 算法( consistent hashing )张亮consistent hashing 算法早在 1997 年就在论文 Consistent hashing and random trees 中被提出,目前在cache 系统中应用越来越广泛;1 基本场景比如你有 N 个 cache 服务器(后面简称 cache ),那么如何将一个对象 object 映射到 N
2012-07-22 23:58:34
785
转载 【组合问题的原理与其递归实现】
以在n个数中选取m(01. 首先从n个数中选取编号最大的数,然后在剩下的n-1个数里面选取m-1个数,直到从n-(m-1)个数中选取1个数为止。2. 从n个数中选取编号次小的一个数,继续执行1步,直到当前可选编号最大的数为m。很明显,上述方法是一个递归的过程,也就是说用递归的方法可以很干净利索地求得所有组合。下面是递归方法的实现:/// 求从数组a[1..n]中任选m个元素的所
2012-07-16 11:34:44
523
1
原创 安装TextPad后无“Compile Java” 等选项的解决办法
重装系统后,安装TextPad后编译Java程序发现,Tools中无Compile Java选项(ctrl+1不管用),原因可能如下:之前 java的jdk是默认安装在c盘的,TextPad编译器可能是默认的寻找C盘下的jdk,重装系统后,我将jdk安装在了D盘,导致其无法识别。所以需要手动添加编译工具。具体如下:在Configure中选择Preferences 选择To
2012-07-10 17:23:41
1923
原创 哈希函数的构造方法以及冲突解决办法
哈希函数的构造方法常用的构造哈希函数的方法有: 1.直接定址法 取关键字或关键字的某个线性函数值为哈希地址。即:H(key)=key 或 H(key)=a·key+b 其中a和b为常数(这种哈希函数叫做自身函数)。 [例如]:有一个从1岁到100岁的人口数字统计表,其中,年龄作为关键字,哈希函数取关键字自身。这样,若要询问25岁的人有多少,则
2012-06-23 20:36:14
6737
翻译 C++内存池(C++ Memory Pool)
/--------------------MonkeyAndy 翻译,转载请注明出处------------------------/http://blog.csdn.net/MonkeyAndy/--------------------MonkeyAndy 翻译,转载请注明出处------------------------/目录前言它的工作原理是什么?
2012-06-07 10:48:14
1783
原创 【随机数应用之】在半径为R的圆内找随机n个点
/---------------MonkeyAndy原创 转载请注明出处------------------/http://blog.csdn.net/MonkeyAndy-------------------------如有错误,欢迎批评指正-------------------------问题描述:设rand(s,t)返回[s,t]之间的随机小数,利用该函数在一个半径为R的
2012-06-05 20:27:34
3099
1
转载 全排列算法原理和其递归实现
全排列是将一组数按一定顺序进行排列,如果这组数有n个,那么全排列数为n!个。现以{1, 2, 3, 4, 5}为例说明如何编写全排列的递归算法。1、首先看最后两个数4, 5。 它们的全排列为4 5和5 4, 即以4开头的5的全排列和以5开头的4的全排列。由于一个数的全排列就是其本身,从而得到以上结果。2、再看后三个数3, 4, 5。它们的全排列为3 4 5、3 5 4、 4
2012-06-04 10:38:53
759
转载 【蓄水池抽样应用之】如何等概率的从N个元素中选取出K个元素
如何等概率的从N个元素中选取出K个元素?这个问题就是一个蓄水池抽样(Reservoir Sampling),算法可以如下描述: Init : a reservoir with the size: k for i= k+1 to N M=rand
2012-06-02 09:33:04
1106
原创 【字典树的应用之】百度2012实习生校园招聘笔试题
/--------MonkeyAndy原创,转载请注明出处-----------/http://blog.csdn.net/MonkeyAndy/--------MonkeyAndy原创,转载请注明出处--------------/学习了字典树后想起百度的笔试题可以使用这个方法解决,写下与大家分享,欢迎批评指正,共同进步题目描述:给一个单词a,如果通过交换单词中
2012-06-01 11:01:01
1259
2
原创 SQL Server 2008 1433端口启用的解决方案
SQL Server 2008一般默认的端口为 1433 ,但有时会遇到无法连接端口1433的问题,检查端口1433是否启用的方法为:开始–>输入cmd –>回车–>telnet localhost 1433->回车 出现黑屏,表示本机连接端口1433成功。否则按照以下顺序进行配置:(1) 关闭数据库引擎 打开配置管理器,找到 SQL Serv
2012-05-28 15:56:35
21768
3
转载 c++ volatile的用法
一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值(From Memory),而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子: 1) 并行设备的硬件寄存器(如:状态寄存器) 2) 一个中断服务子程序中会访问到的非自动变量(Non-automa
2012-05-25 09:09:57
440
转载 C++ 标准库 vector list map使用方法
List(链表)List将元素按顺序储存在链表中. 与 向量(vectors)相比, 它允许快速的插入和删除,但是随机访问却比较慢.list对象函数assign() 给list赋值 back() 返回最后一个元素 begin() 返回指向第一个元素的迭代器 clear() 删除所有元素 empty() 如果list是空的则返回true end() 返回末尾的迭代器
2012-05-24 22:19:05
5027
1
原创 求两个字符串的(连续的)最长公共子串
转载请注明出处http://blog.csdn.net/MonkeyAndy问题:给出两个字符串,求出这两个字符串的连续的最长公共子序列例如 : char* a="aocdfacddcdfe"; char* b="pmcdfacdfe";连续的最长公共子序列为 “cdfacd”问题分析:思路及算法流程:1、以a串为主串,遍历a串,记录下b串中与a[
2012-05-24 16:25:55
7433
原创 线性表顺序表示及合并算法
#define LIST_INIT_SIZE 100//线性表存储空间的初始分配量#define LISTINCREMENT 10//线性表存储空间的分配增量typedef struct{ ElemType *elem;//存储空间基址 int length; //当前长度 int listsize; //当前分配的存储容量(以sizeof(ElemType
2012-05-22 21:34:31
1049
1
原创 在字符串中找出连续最长的数字串,并把这个串的长度返回,并把这个最长数字串付给其中一个函数参数outputstr所指内存
写一个函数,它的原形是int continumax(char *outputstr,char *intputstr) 功能: 在字符串中找出连续最长的数字串,并把这个串的长度返回,并把这个最长数字串付给其中一个函数参数outputstr所指内存。例如:"abcd12345ed125ss123456789"的首地址传给intputstr后,函数将返回 9,outputstr所指的值为12
2012-05-19 17:06:59
1720
原创 内部排序算法以及比较
内部排序内部排序方法的讨论比较排序方法 平均时间 最坏情况 辅助存储简单排序 O(n^2) O((n^2) O(1)快速排序 O(n log n) O(n^2) O(log n)堆排序 O(n log n) O(log n)
2012-05-19 17:01:51
500
原创 数组al[0,mid-1]和al[mid,num-1]是各自有序的,对数组al[0,num-1]的两个子有序段进行merge,得到al[0,num-1]整体有序
问题描述:数组al[0,mid-1]和al[mid,num-1]是各自有序的,对数组al[0,num-1]的两个子有序段进行merge,得到al[0,num-1]整体有序。要求空间复杂度为O(1)。注:al[i]元素是支持'运算符的。思路:由于要求空间复杂度为O(1),故不能使用归并排序1、遍历0~mid -1,将其与a[mid]相比较,若 a[mid] 2、循环遍历a[m
2012-05-16 19:51:01
2473
1
原创 进程死锁
概念: 一组竞争系统资源或相互通信的进程间相互的“永久”阻塞。当一组进程中的所有进程都在等待一个事件(等待请求资源的释放)而只有在进程集合中的其他阻塞的进程才可以触发该事件,这时称一组进程死锁百度百科http://baike.baidu.com/view/121723.htm#产生死锁的原因1.竞争资源引起进程死锁 1)竞争不
2012-05-12 21:42:28
890
原创 结构体大小及其数据的对其原则
结构体数据成员的对其原则结构体默认的字节对齐一般满足三个准则:1) 结构体变量的首地址能够被其最宽基本类型成员的大小所整除;2) 结构体每个成员相对于结构体首地址的偏移量(offset)都是成员自身大小的整数倍,如有需要编译器会在成员之间加上填充字节(internal adding);3) 结构体的总大小为结构体最宽基本类型成员大小的整数倍,如有需要编译器会在最末一个成员之后加
2012-05-12 21:34:28
433
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人