自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

转载 并查集(Union-Find)算法介绍

原文:http://blog.csdn.net/dm_vincent/article/details/7655764本文主要介绍解决动态连通性一类问题的一种算法,使用到了一种叫做并查集的数据结构,称为Union-Find。更多的信息可以参考Algorithms 一书的Section 1.5,实际上本文也就是基于它的一篇读后感吧。原文中更多的是给出一些结论,我尝试给出一些思路

2013-09-09 15:01:56 653

转载 malloc函数的一种简单的原理性实现

malloc()是C语言中动态存储管理的一组标准库函数之一。其作用是在内存的动态存储区中分配一个长度为size的连续空间。其参数是一个无符号整形数,返回值是一个指向所分配的连续存储域的起始地址的指针malloc()工作机制  malloc函数的实质体现在,它有一个将可用的内存块连接为一个长长的列表的所谓空闲链表。调用malloc函数时,它沿连接表寻找一个大到足以满足用户请求所需要的

2013-09-03 19:49:55 565

转载 聚簇索引和非聚簇索引

一、聚簇索引(clustered indexes)的使用 聚簇索引是一种对磁盘上实际数据重新组织以按指定的一个或多个列的值排序。由于聚簇索引的索引页面指针指向数据页面,所以使用聚簇索引查找数据几 乎总是比使用非聚簇索引快。每张表只能建一个聚簇索引,并且建聚簇索引需要至少相当该表120%的附加空间,以存放该表的副本和索引中间页。建立聚簇索引 的思想是:1、大多数表都应该有聚簇

2013-09-03 15:06:11 784

原创 华为心得

终于尘埃落定,当南京华为BSS的boss许诺offer的时候,这真是一个甜蜜的时刻。从参加实习招聘,到现在的提前招聘,前后也近三个月的时间的。前后的机试、面试,还是可以感觉到华为的变化的。众所周知的华为今年涨薪的,研究生基本工资9k,优秀的可以谈到12k,对于种种原因很想留在南京的我而言,这个工资我感觉还是挺有一定的竞争力的。好了,话不多说,进入正题。    实习的机试、面试应该还是挺容易的。

2013-08-15 10:20:15 2179 4

原创 带有通配符的两个字符串匹配问题

比如constchar*s1="abcdfgfgdfgbhcdf";const char*s2="**fgd**f*bh*";就是匹配的,并且输出fgdfgbh。bool pipei(const char*s1,const char*s2){ const char *beg=NULL;const char *t1=NULL,*t2=NULL; while(*s2) { if(*s2

2013-08-15 09:31:44 1286

原创 乱序数组找出前面的都比他小后面的都比他大的数

int f(int*a,int*b,int n){ if(!a||!b||n<3) return -1; int*temp=new int[n](); int max=a[0],count=0; for (int i=1;i<n-1;i++) if(a[i]>max) { temp[i]++; max=a[i]; } int min=a[n-1]; for

2013-08-13 16:41:16 3516

原创 汉罗塔

汉罗塔经典移动次数解法和第m次第s个盘子从哪个柱子移动到哪个柱子的公式解法void han(int n, int m){ int s=1,t=2; for (int i=1;i<=n;i++) { if(m%t==s) break; s=t; t*=2; } cout<<s<<'\t'; int k=m/t; if(n%2==k%2) { if((k+1)%3=

2013-08-13 16:02:35 1079 8

原创 连续最大积

void f(){ int t; cin>>t; vector v; for (int i=0;i<t;i++) { int n; cin>>n; int*a=new int[n]; for (int j=0;j<n;j++) { cin>>a[j]; } int temp=0,current=0,max=0; for (int i=0;i<n;i

2013-08-10 21:05:17 629

原创 输入一个数,把它作为一个串,判断其中是否包含长度>=2的相同子串,如 果包含,返回1,不包含,返回0

bool f(string s){ map m; map::iterator ite; int len=s.size(); for (int i=0;i<len-1;i++) m[s.substr(i,2)]++; for(ite=m.begin();ite!=m.end();ite++) if(ite->second!=1) return true; return fals

2013-08-09 23:01:25 1086 1

原创 识别字符串中的整数并转换为数字形式

int f(string s,int*a){ int count=0; int n=0; bool isnumber=false; for(int i=0;i<s.size();i++) { if(isdigit(s[i])) { n=n*10+s[i]-'0'; isnumber=true; if(i==s.size()-1) { a[coun

2013-08-09 22:47:40 1205

原创 星期几 知道今天(2013年8月9号星期五)

bool runnian(int y){return (y%4==0&&y%100!=0)||y%400==0;}int fm(int y,int m,int d){switch (m){case 1:if(!runnian(y)) return -(9+31+30+31+30+31+28+31-d);else return -(9+31+30+31+3

2013-08-09 21:52:11 959

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除