2012年7月16日

百度2011校招笔试算法题二

摘要: 2、二重哥德巴赫猜想每个不小于6的偶数都可以表示为两个素数之和编写一个函数,输出6-100000内所有偶数可以表示为哪两个素数之和,如果一个偶素有多种表示方式,输出任意一种即可。代码实现(仅供参考):int ispri(int num){ for(int k=2;k<=num/2;k++) { if(!num%k) return 0; } return 1;}void judge(int number){ for(int j=1;j<number;j++) { if(ispri(j)) { ... 阅读全文

posted @ 2012-07-16 17:59 as_ 阅读(1236) 评论(0) 推荐(0) 编辑

百度2011校招笔试算法题一

摘要: 1.问题描述有一个单入口,单出口的有向无环图。给出一个算法,在已有结点之间插入若干结点,使得从入口结点到出口结点经过的任意路径长度一致,详细描述你的算法思路,并分析其时间复杂度和空间复杂度。2.算法思路首先深度遍历,计算出入口到出口的最长路径,然后重新深度遍历,遍历到出口节点之前计算此路径长度,如果计算出小于最长路径则插入节点,使这个路径等于最长路径。3.算法实现:(仅供参考)struct Edge{ VPoint *dest; Edge *next;}struct VPoint{ int id; int weight; Edge *adj;}int longe... 阅读全文

posted @ 2012-07-16 17:48 as_ 阅读(1404) 评论(0) 推荐(0) 编辑

进程和线程

摘要: 进程进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程是表示资源分配的基本单位,又是调度运行的基本单位。 进程特性:动态性,并发性,独立性,异步性 进程状态:1)就绪状态(Ready) 2)运行状态(Running) 3)阻塞状态(Blocked) 引起进程创建事件:1) 用户登录 2) 作业调度 3) 提供服务 4) 应用请求 调度算法:FIFO(First Input First Output 先进先出法)、RR(时间片轮转算法)、(HPF)最高优先级算法 进程间通信:1.管道(pipe)及有名管道(named pipe 阅读全文

posted @ 2012-07-16 16:42 as_ 阅读(1183) 评论(0) 推荐(0) 编辑

new/delete 和malloc/free 的区别一般汇总

摘要: 一、基本概念 malloc/free:1、函数原型及说明: void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。 void free(void *FirstByte): 该函数是将之前用malloc分配的空间还给程序或者是操作系统,也就是释放了这块内存,让它重新得到自由。2.内存操作: malloc函数的参数是接受需要分配的内存字节数,如果内存能够满足请求量,那么将会返回:指向被分配的内存块起始位置 free函数释放的是指针指向的内存(不是释放的指针本身,不会删除指针本身),其中指针 阅读全文

posted @ 2012-07-16 16:00 as_ 阅读(17856) 评论(2) 推荐(6) 编辑

2012年7月14日

计算机一些基本进制单位及细节基础知识

摘要: 最基本单位 转换关系1Byte = 8 Bit1 KB = 1,024 Bytes1 MB = 1,024 KB1 GB = 1,024 MB1 TB = 1,024 GB1 PB = 1,024 TB1 EB = 1,024 PB1 ZB = 1,024 EB1 YB = 1,024 ZBPS:B即Byte,音译拜特,字节的意思,一般以字节作为计算机存储容量基本单位。1个字节是8个二进制位(8个二进制位组成1个字节),即1Byte=8bit(八个位的组合,共有256种电路状态)。1个数字=1个英文字母(字符)=1字节(Byte),即一个标准英文字母就是一个字节,它有8个比特(bit),(如A 阅读全文

posted @ 2012-07-14 20:12 as_ 阅读(2754) 评论(0) 推荐(1) 编辑

执行程序的内存分布总结

摘要: 以下内容为各方资料汇总 所以逻辑顺序不大清晰一般认为在c中分为这几个存储区: 1. 栈--有编译器自动分配释放 2. 堆--一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收 3. 全局区(静态区)-- 全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。程序结束释放。 4. 另外还有一个专门放常量的地方。程序结束释放。 在函数体中定义的变量通常是在栈上,用malloc, calloc, realloc等分配内存的函数分配得到的就是在堆上。在所有函数体外定义的是全局量,加了stat... 阅读全文

posted @ 2012-07-14 19:14 as_ 阅读(1376) 评论(0) 推荐(0) 编辑

Trie--字典树

摘要: 在计算机科学中,trie,又称前缀树,是一种有序树,用于保存关联数组,其中的键通常是字符串。与二叉查找树不同,键不是直接保存在节点中,而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串,而根节点对应空字符串。一般情况下,不是所有的节点都有对应的值,只有叶子节点和部分内部节点所对应的键才有相关的值。Trie 这个术语来自于 retrieval。根据词源学,trie 的发明者 Edward Fredkin 把它读作 /ˈtriː/ "tree"。但是,其他作者把它读作 /ˈtraɪ/ "try"。在图示中,键标注在节点中 阅读全文

posted @ 2012-07-14 12:20 as_ 阅读(1151) 评论(0) 推荐(0) 编辑

2012年7月13日

支持向量机(Support Vector Machine)-----SVM(转,有修改)

摘要: SVM(一)线性分类器线性分类器(一定意义上,也可以叫做感知机) 是最简单也很有效的分类器形式.在一个线性分类器中,可以看到SVM形成的思路,并接触很多SVM的核心概念.用一个二维空间里仅有两类样本的分类问题来举个小例子。如图所示:C1和C2是要区分的两个类别,在二维平面中它们的样本如上图所示。中间的直线就是一个分类函数,它可以将两类样本完全分开。一般的,如果一个线性函数能够将样本完全正确的分开,就称这些数据是线性可分的,否则称为非线性可分的。什么叫线性函数呢?在一维空间里就是一个点,在二维空间里就是一条直线,三维空间里就是一个平面,可以如此想象下去,如果不关注空间的维数,这种线性函数还有一个 阅读全文

posted @ 2012-07-13 18:41 as_ 阅读(4756) 评论(0) 推荐(1) 编辑

百度2012校招笔试题之位数和编码

摘要: 算法设计给定一个数字编码N,大多数情况下可以找到一个数字编码M,其位数与编码N相等(编码可以从0开始),各位数字之和与编码N中各位数字之和相等,并且M是数值大于N的所有码中最小的一个,也可能要找的编码M不存在。如给定编码N=134,则编码M=143;给定编码N=020,则编码M=101,形式化表述为f(N)=M,如果M不存在,则f(N)=-1。现在给定一个起始编码N, N的数字位数最大不超过1000,N 的数值最大不超过10^500,要求给出序列S(N),其中S(0)=N,S(1)=f(N),S(2)=f(S(1)),S(3)=f(S(2))...,当S(i+1)<0时序列结束,但小于0 阅读全文

posted @ 2012-07-13 13:45 as_ 阅读(1041) 评论(1) 推荐(0) 编辑

百度2012校招笔试题之全排列与组合

摘要: 算法题目:求一个全排列函数:如p([1,2,3])输出:[123],[132],[213],[231],[321],[323].思路:采用字典序的排序的方法代码实现:void swap(char *a,char *b){ char temp; temp=*a; *a=*b; *b=temp;}void reverse(char *dic ,int start,int end){ int i=start,j=end; for(;i<=j;i++,j--) swap(dic[i],dic[j]);}void perm (char *... 阅读全文

posted @ 2012-07-13 10:21 as_ 阅读(1411) 评论(0) 推荐(0) 编辑

导航