![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
准备工作-笔面试
文章平均质量分 88
yichudu
code anything
展开
-
阿里,20150402春季实习生招聘在线试题(单选部分+附加题)
阿里,20150402春季实习生招聘在线试题原创 2015-04-03 00:52:22 · 2663 阅读 · 8 评论 -
二叉树的非递归遍历
二叉树的非递归遍历原创 2014-04-04 18:07:56 · 1293 阅读 · 0 评论 -
概率与统计试题
概率与统计一、基本概念具有以下三个特点的试验叫随机试验:1.可重复进行;2.可能的结果不止一个,但可以预知所有可能的结果;3.试验之前不能预知此次出现的结果。样本空间:随机试验E所有可能出现的结果的集合,常记为S。多个事件的和、差、积;时间的对立与互斥。对任意两个基本事件A、B,有P(A+B)=P(A)+P(B)-P(AB)。等可能概型(与之对应的是几何概型):原创 2014-03-30 22:18:08 · 2523 阅读 · 2 评论 -
快速排序及代码实现
代码//自己实现快速排序 #include using namespace std;void f_sort_quick(int*a,int left,int right);int f_partition(int *a,int left,int right);//以a[left]元素作为划分依据,保证划分后比它小的在它左边,比它大的在它右边//返回值为划分后基准元素在数组原创 2015-10-10 13:58:40 · 1431 阅读 · 0 评论 -
归并排序及代码实现
自己实现归并排序+快速排序,二者都是嵌套加递归归并排序://归并排序 #include #include using namespace std;void merge_sort(int a[],int m_left,int m_right);void merge(int a[],int m_left,int m_mid,int m_right);int a[10]={1原创 2014-03-22 20:30:03 · 2206 阅读 · 0 评论 -
排序概述
平均复杂度为O(n*log n)的:归并排序、堆排序、快速排序。快速排序的最差情况为O(n*n);其他常见的为O(n*n);排序效率与待排数组初始状况不敏感的有:归并排序、堆排序、选择排序。原创 2014-09-18 21:59:41 · 1262 阅读 · 0 评论 -
积累(五-大数据处理)
1. 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url。单个文件的大小达到5G*64=320G,所以要拆成小的部分。1.遍历文件a,对每一个url计算key=hash(url)%1000。相同key的url存放在一个文件里。这样我们得到了1000个文件(a0、a1、...、a999)。2.对b采用同样的方法。得到(b0、b原创 2014-10-13 16:03:36 · 1060 阅读 · 0 评论 -
跳跃链表 skipList
二分查找的速度已经很快了,在此基础上的跳跃链表是一种以空间换时间的思想。1.跳跃链表的思想1.元素有序。2.有多层,层数越高,元素之间的间隔interval越大。3.每个元素有一个指向下层该元素的指针,downPointer。2.查找过程1.从顶层开始,二分查找待查元素。定位到插入位置而找不到元素,则往下一层从待插入位置开始新的二分查找。2.不断重复上述过程,直原创 2016-05-16 14:36:18 · 2454 阅读 · 0 评论 -
数据库基础
索引 是单独的数据库结构,用来加速数据检索。 缺点:1.占用额外存储空间;2.对表中数据修改时,索引也要动态维护,效率降低。 聚集索引根据数据行的键值排序和存储。 非聚集索引不修改原表中数据项的位置。原创 2014-05-07 11:18:41 · 1402 阅读 · 2 评论 -
随机数相关
1.shuffle()问:使用random,如何将一个数组中的元素打乱?答:可参考Collections.shuffle()算法。思想为:通过随机数取下标,与指定位置的元素互换。简化后的参考代码见下:public static void shuffle(List list) { Random rnd=new Random(); for (int i=list.size(); i原创 2016-07-24 10:34:45 · 423 阅读 · 0 评论 -
有关编译原理
有关编译原理:词法分析 分析单词来识别数字、变量和C++关键字。语法分析 分析单词组合是否合法。语法分析程序试着构造一棵语法树,如else 写在 if前面则不能通过编译。语义分析 分析源程序的功能和用途。比如检查函数调用时形参与实参是否匹配等。原创 2014-04-06 20:46:46 · 1524 阅读 · 0 评论 -
携程2016春招
知识点:字符串,特殊规则排序题目描述:待补充。sample input:544,54,5,5652,5,5845,45512,1110,9,1sample output56,5,54,54458,5,52455,4512,119,1,10code尚不知道标准答案,自己写的代码应该没问题。{CSDN:CODE原创 2016-03-25 17:38:20 · 1961 阅读 · 4 评论 -
二叉搜索、 B- 、B+、 红黑 、AVL 树
B-树 M阶B-树是一种多路平衡搜索树(并不是二叉的): 根结点的儿子数为[2, M]; 除根结点以外的非叶子结点的儿子数为[M/2, M]; 所有叶结点都为空且位于同一层; 若一个非叶结点有n个孩子,那么它有n-1个关键字,结构见下:n-1 P0 K1 P1 K2 P2 ... Kn-1 Pn-1 表一:非叶结点存放的数据 K[1], K[2], …, K[n-1]为非叶子结点的关键字且K[i] < K[i+1]; P[i]为指向孩子节点的指针。其中P[i-1]原创 2014-04-02 21:27:01 · 1989 阅读 · 0 评论 -
查找与散列(Hash)
查找与散列(Hash)1.查找的一些概念查找——在给定集合中查找特定的元素。在查找的过程中,查找的长度是指关键字间的比较次数,而平均查找长度则是数学上的期望:ASL=P1*C1+P2*C2+...+Pn*Cn。 Pi为查找第i个元素的概率,Ci为查找第i个元素所需的查找长度。一般认为每个元素查找概率相同。平均查找长度分为查找成功和查找不成功长度两种。原创 2014-04-05 22:44:13 · 2462 阅读 · 0 评论 -
一些东华自命题考研算法题
1.试编写算法,对一棵以孩子-兄弟链表表示的一般树统计其叶子的个数。 2.试编写算法,将单链表L1拆成两个链表,其中以L1为头的链表保持原来向后的链接,另一个链表的头为L2,其链表方向与L1相反,L1包含原链表的奇数序号的节点,L2包含原链表的偶数序号的节点。原创 2014-11-19 20:13:07 · 5011 阅读 · 1 评论 -
undone有关链表
链表定义及常用操作:原创 2014-05-06 08:32:10 · 1073 阅读 · 0 评论 -
积累(二)
阿里2014实习生招聘问:某国家非常重男轻女,若一户人家生了一个女孩,便要继续生,直到得到男孩为止。假设生男生女概率相等,请问平均每户人家有(1)个女孩。答:此题即高数中的级数。 引申: int f(int x){ int s=0; while(x--) s+=f(x); return max(x,1);}//若调用f(35),此程序原创 2014-03-31 21:07:23 · 2256 阅读 · 2 评论 -
有关软件工程
软件工程 设计模式 适配器:封装一个对象,并提供接口的转换,主要的目的是在不修改已经存在的类的前提下,让他们可以在新的框架下面工作。 装饰者:封装一个对象,并提供额外的行为,用组合的方式来替代继承以扩展类的功能。 代理模式:封装一个对象,并控制它的访问,但是代理和被代理的对象有相同的接口(在c++里面有相同的基类)。 外观模式:封装许多对象,以简化它们的接口,此模式原创 2014-04-07 09:45:08 · 857 阅读 · 0 评论 -
堆排序+代码实现
堆排序堆,heap,是二叉树的一种。小根堆有这样的性质——任意一个结点的值比它的左右孩子都要小。排序思想将待排元素看作是完全二叉树,物理上用一维数组存储。实现堆排序需要解决两个问题:1.如何将杂乱的完全二叉树初始化为一个堆?答:从最后一个非叶结点起,将该节点当做根,自上而下进行调整,使之成为一个堆。然后依次对倒数第二个、倒数第三个、直至正数第一个结点进行此操作。2.输出原创 2014-09-08 21:54:02 · 2639 阅读 · 0 评论 -
积累(一)
struct的成员默认是public,class的成员默认是private定义一个函数指针,指向的函数有两个int形参并且返回一个函数指针,返回的指针指向一个有一个int形参且返回int的函数。这个函数指针的定义是:int (*(*F)(int, int))(int); 问:有n个人,其中一个明星和n-1个群众,群众都认识明星,明星不认识任何群众,群众和群众之间的认识关系不知道,现在如原创 2014-03-22 20:41:09 · 1264 阅读 · 0 评论 -
有关操作系统
内存管理in操作系统对进程按固定大小进行划分,单位为页;对主存按同样大小进行划分,叫页框。一个页刚好对应一个页框。那么进程内的指令或数据的地址表示为:页号,页内偏移量。操作系统为每个进程分配一张页表,内容为:页号,该页内存地址。用于实现逻辑地址到物理地址的映射。原创 2014-04-03 17:59:50 · 2336 阅读 · 0 评论 -
数据库设计
数据库设计ER模型,Entity-Relationship,实体-关系模型。该模型的图形化表示就是ER图。1.用矩形表示实体。2.用椭圆表示实体属性。3.用零星表示是体检关系。例一:有一个简单的数据库系统,实体有班级、学生、课程。一个班有若干个学生,一个学生只能属于一个班。一个学生可以选修多门课,一门课有若干学生选修。原创 2014-07-14 11:26:17 · 1373 阅读 · 0 评论 -
积累(三)
积累(三)一个房间有3个人,每个人都想知道三个人的年龄之和,但每没个人都不想让其他2个人知道自己年龄,问有什么方法得年龄和?答:原创 2014-06-10 21:52:04 · 929 阅读 · 0 评论 -
积累——非IT(一)
在12小时之内时针分针有几次重合?答:0:00:00 一次,[1:00:00,2:00:00)一次,[2:00:00,3:00:00)一次,...,[10:00:00,11:00:00)一次。共11次。在一天24小时之内时针分针秒针有几次重合?答:0:00:00 12:00:00 这两次想算的话,时针速度30/3600度每秒,分针1/10度,秒针6度。先计算时针与分针重合的时原创 2014-09-10 17:12:11 · 1301 阅读 · 3 评论 -
有关网络
网络地址=IP地址&子网掩码(按位与)冲突域:网卡向通信线路发送帧时,若检测到碰撞,就称发生了冲突。所有会发生冲突的主机构成了冲突域。总线型局域网会发生冲突,现在通常使用交换机,一个电脑连一个端口,这时每个冲突域就只有主机自身。原创 2014-04-03 18:35:52 · 1120 阅读 · 0 评论 -
一些库函数实现(注意安全性检查)
十进制转二进制 安全性检查略//十进制转二进制 //安全性检查略#include #include using namespace std; deque m_d; int a; string f_convert(int x); void f_2(int x); void f_convert_void(int x); int main( ) {原创 2014-03-26 10:36:06 · 1031 阅读 · 0 评论 -
58同城, 2017春招后端编程题
1.字符串转数字太简单了. 略.2.考察异或2.1 第一问 数组中有若干个整数, 只有一个出现了一次, 其他数字都出现了两次, 找出这个数字.相同的数字, 异或结果是 0; 0 异或一个数字, 结果就是该数字. 根据这个特性, 数组内的元素迭代异或就是结果.2.2 第二问 数组中有若干个整数, 只有两个出现了一次, 其他数字都出现了两次, 找出这两个数字.step1 还是逐个异或, 记原创 2017-03-24 14:40:33 · 829 阅读 · 0 评论