- 博客(32)
- 资源 (6)
- 收藏
- 关注
原创 浅谈红黑树的添加删除操作
红黑树的性质(牢记) 1、每个结点的颜色只能是红色或黑色。 2、根结点必须是黑色的。 3、每个叶子结点都带有两个空的黑色结点(被称为黑哨兵null),如果一个结点n的只有一个左孩子,那么n的右孩子是一个黑哨兵;如果结点n只有一个右孩子,那么n的左孩子是一个黑哨兵。 4、如果一个结点是红的,则它的两个儿子都是黑的。也就是说在一条路径上不能出现相邻的两个红色结点。 5、从任何一个结点到其子孙叶
2016-05-26 11:33:56 1571
原创 常见排序算法大全
声明:本节全称利用一维数组展开讨论,排列后结果均为由小到大 1、直接插入排序 思想:数据r[0]到r[i-1]是有序的,r[i]到r[n-1]是任意次序的。将r[i]插入到r[0]到r[i-1]中并使得r[0]到r[i]有序。i从1开始到结束进行n-1次。//直接插入排序//时间复杂度O(n^2),空间复杂度O(1),稳定void InsertSort(int *a,int n){
2016-05-28 13:53:00 278
原创 查找算法及二叉平衡树
查找的分类: 1.静态查找 2.动态查找 3.哈希查找1.1顺序查找法//应用范围:顺序表或线性链表表示的表,表内元素之间无序。// 在数组arr中查找等于k的元素,若找到,则函数返回该元素的位置,否则返回0//平均查找长度:ASL = 1/n∑(n-i+1) = ½(n+1)int SeqSearch(int arr*, int key){ int i ; for(i
2016-05-27 14:44:39 516
原创 笔试面试题15--作业调度算法
1.假设系统按单道方式运行且采用最短作业优先算法,有J1,J2,J3,J4共4个作业同时到达,则以下哪几种情况下的平均周转时间为10分钟? A.执行时间J1:1分钟 J2:5分钟 J3:9分钟 J4:13分钟 B.执行时间J1:1分钟 J2:4分钟 J3:7分钟 J4:10分钟 C.执行时间J1:2分钟 J2:4分钟 J3:6分钟 J4:8分钟 D.执行时间J1:3分钟 J2:6分钟 J3:
2016-05-25 11:23:34 1279
原创 笔试面试题14---.h/.exe/.lib/.dll文件
1、 下列有关windows系统的EXE和DLL文件说法错误的是? A.EXE和DLL文件都是PE文件 B.EXE不能有导出函数,DLL可以有导出函数 C.EXE有x86和x64之分,则DLL没有 D.EXE可以单独运行,DLL则不行答案解析:BC PE文件的全称是Portable Executable,意为可移植的可执行的文件,常见的EXE、DLL、OCX、SYS、COM都是PE文件,
2016-05-25 11:08:37 656
原创 笔试面试13--给定 x, k ,求满足 x + y = x | y 的第 k 小的正整数 y
给定 x, k ,求满足 x + y = x | y 的第 k 小的正整数 y 。 | 是二进制的或(or)运算,例如 3 | 5 = 7。比如当 x=5,k=1时返回 2,因为5+1=6 不等于 5|1=5,而 5+2=7 等于 5 | 2 = 7。解法:程序
2016-05-19 17:39:25 2405
原创 Git学习
More in: http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 MyGitHub: https://github.com/weiqp/hello Git Command Manual(Git命令学习手册)
2016-05-14 20:53:15 339
原创 简历精简
对于应届生来说经验不足,能力有限,想要让面试官肯定自己的能力,又想尽量把自己的实力全部展现出来,制作简历就要多花心思。怎样才能做出出色的简历,给大家分享一些链接,制作简历的时候多学习学习: 总之一句话,从面试官的角度修正你的简历 http://cv.qiaobutang.com/knowledge/articles/5159332c0cf2763fd0e6a5ce?from=db03200201
2016-05-14 18:25:17 615
转载 Linux网络编程:socket文件传输
/************************************************************************* >File: Transport File on Linux > File Name: Server.c > Author: WQP_Ya_Ping **************************************
2016-05-14 15:44:05 714
原创 笔试面试题12--字符串拷贝、链接、比较无库函数实现
面试案例1:字符串拷贝函数问题。(不调用库函数)char *strcpy(char *strDest, const char *strSrc){ assert((strDest != NULL) && (strSrc != NULL)); char *address = strDest; while((*strDest ++ = *strSrc ++) != '\0');
2016-05-14 15:37:52 435
原创 笔试面试题11--整数与字符串转化
面试例题1:怎样将整数转化成字符串数,并且不用函数itoa?# if 0//整数转化为字符串,不使用itoa()# include <stdio.h>int main(){ int num = 12345; int i = 0; char temp[7],str[7]; while(num) { temp[i] = num%10 + '0';
2016-05-14 15:24:00 324
原创 笔试面试题10--特殊指针
面试例题1:写出函数指针、函数返回指针、const指针、指向const的指针、指向const的const指针 指针。 函数指针: void (*f)() 函数返回指针: void * f() const指针: const int* 指向const的指针: int *const 指向const的const指针: const int *const
2016-05-14 14:57:35 390
原创 笔试面试题9--指针和引用的区别
面试例题1:指针和引用的差别? 答案: (1)非空区别。在任何情况下都不能使用指向空值的引用。一个引用必须总是指向某 些对象。因此如果你使用一个变量并让它指向一个对象,但是该变量在某些时候也可能不指 向任何对象,这时你应该把变量声明为指针,因为这样你可以赋空值给该变量。相反,如果 变量肯定指向一个对象,例如你的设计不允许变量为空,这时你就可以把变量声明为引用。 不存在指向空值的引用这个事
2016-05-14 14:53:24 1319
原创 笔试面试题8--内联函数和宏的区别
面试例题:内联函数和宏的差别是什么?答案:内联函数和普通函数相比可以加快程序运行的速度,因为不需要中断调用,在编 译的时候内联函数可以直接被镶嵌到目标代码中。而宏只是一个简单的替换。 内联函数要做参数类型检查,这是内联函数跟宏相比的优势。 inline是指嵌入代码,就是在调用函数的地方不是跳转,而是把代码直接写到那里去。 对于短小的代码来说inline增加空间消耗换来的是效率提高,这方面和宏
2016-05-14 14:50:32 563
原创 C++编译时多态之运算符重载
C++编译时多态之运算符重载 面向对象多态包括:重载多态、强制多态、包含多态、参数多态 1.不可重载的运算符: 2.类属关系运算符“”.“” 3.成员指针运算符“”.*“” 4.作用域运算符“”::“” 5.三目运算符“”?:“” 点击上方链接可进行更多了解……
2016-05-14 14:24:42 342
原创 STL学习之路(2)
承接上一篇,我们继续来感受STL的奇妙://栈的实现# include <iostream># include <string># include <iterator># include <stack>using namespace std;int main(){ stack<char>s; string str; cin>>str; for(string:
2016-05-14 13:14:12 323
原创 STL学习之路
STL泛型程序设计,C++的一大特色,可编写不依赖具体数据类型的程序。知识点: 1. STL四大组件(容器、迭代器(泛化的指针)、算法、函数对象(泛化的函数)) 2. 基本容器:顺序容器(Vector、deque、list)关联容器(set、multiset、map、multimap) 3. 迭代器:输入迭代器(读)、输出迭代器(写)、前向迭代器(读和写)、双向迭代器
2016-05-13 21:53:13 501
原创 选择、快速排序算法实现
排序算法在笔试面试中是常考的知识点之一,其中的选择排序和快排算法经常会要求面试者手写。由 于其代码量短小并且可以在短时间内考察出面试者的编程习惯和基本功。为了提高巩固自己的基本功,所以在此实现两个算法的源码,也供大家评阅://FileName: Sort Algorithm//Author : WQP_Ya_Ping//Date : 2016-5-13//打印原数组vo
2016-05-13 14:18:56 635
原创 笔试面试题7--求因数个数
7.整数240有多少个因数?(C) A.36 B.54 C. 20 D.28解析:公式:因数个数 = (因子1 + 1)* (因子2 + 1)*(因子3 + 1)……240分解成4个2,1个3,1个5,那么因数个数就是(4+1)(1+1)(1+1)=5*2*2=20
2016-05-12 23:29:07 656
原创 笔试面试题6--递归思想
笔试面试题66.有一段楼梯台阶有15级台阶,以小明的脚力一步最多只能跨3级,请问小明登上这段楼梯有多少种不同的走法?( C ) A.2345 B.3261 C.5768 D.6843解析:类似斐波那契数列的思想,若所求方法表示为f(n),因为当台阶大于3时,可看做是f(n)=f(n-1)+f(n-2)+f(n-3);//因为踏入最后一节阶梯有
2016-05-12 23:16:40 856
原创 卡特兰数相关问题
详见链接::http://blog.csdn.net/han_xiaoyang/article/details/11938973
2016-05-12 17:32:42 339
原创 面试笔试题5--大整数表示问题?
5. 大整数845678992357836701转化成16进制表示,最后两位字符是? A. AB B. EF C. 8B D. 9D解析:它要16进制最后两位,也就是二进制最后八位。那么最后八位怎么求?很简单,除二取余。这样从后往前写就是10111001。。。。二进制嘛,倒着写,最后两位位应该是100111
2016-05-12 14:44:22 993
原创 面试笔试题4--如何判断主机是大端小端?
方法1#includeint main(void){ unsigned int x = 0x12345678; unsigned char *p = (unsigned char*)&x; printf("%0x,%0x,%0x,%0x\n",p[0],p[1],p[2],p[3]); return 0;} //输出结果为:78 56
2016-05-12 14:35:24 313
原创 笔试面试题3——虚函数的工作原理
3.虚函数的工作原理详见::http://blog.csdn.net/hackbuteer1/article/details/7883531
2016-05-12 09:52:37 418
原创 笔试面试题2
2.假定CSomething是一个类,执行下面这些语句之后,内存里创建了__个CSomething对象。CSomething a();CSomething b(2);CSomething c[3];CSomething &ra = b;CSomething d=b;CSomething *pA = c;CSomething *p = new CSomething(4);
2016-05-12 09:46:14 277
原创 笔试面试题1
1.以下函数中,和其它函数不属于一类的是(C)A.fwrite B. putc C.pwrite D.putchar E.getline F.scanf解析:(1).size_t fwrite(const void * ptr, size_t size, size_t nmemb, FIL
2016-05-12 09:20:36 938
转载 五大常用算法
算法设计之五大常用算法设计方法总结::http://blog.csdn.net/zolalad/article/details/11393915
2016-05-11 22:58:25 374
原创 Linux下Socket网络编程(C/S)
客户端 //client.c#include#include#include#include#include#include#define MAXLINE 80#define SERV_PORT 8000int main(int argc,char *argv[]){ struct sockaddr_in servaddr; char buf[M
2016-05-11 22:40:03 634
原创 Vim (.Virc/.Vimrc文件)常见配置
1..视当前自己安装的Linux系统而定,在/etc/vim下找到.vimrc文件;或者在/etc目录下找到.virc文件。2..使用命令chmod +x .vimrc 或 chmod +x .virc使文件获得修改权限。3..往文件末尾添加下列命令syntax on #语法高亮显示#如果此时语法还是没有高亮显示,那么在/etc目录下的profile文件中添加以下语句:export
2016-05-11 22:22:09 1183
原创 什么函数才能成为虚函数?
一个类中将所有的成员函数都尽可能地设置为虚函数总是有益的。 设置虚函数须注意: 1:只有类的成员函数才能说明为虚函数; 2:静态成员函数不能是虚函数; 3:内联函数不能为虚函数; 4:构造函数不能是虚函数; 5:析构函数可以是虚函数,而且通常声明为虚函数。原因:内联函数需要在编译阶段展开,而虚函数是运行时动态绑定的,编译时无法展开; 构造函数在进行调用时还不
2016-05-11 14:55:23 1385
转载 KMP算法
KMP算法理解 最近在学习字符串的模式匹配算法,有简单的BF算法,大家自行百度很容易理解,但效率并不高。 KMP算法,引入了一个next数组,效率明显提升,大家可以访问上方蓝色链接进行了解。KMP算法理解起来有点难度,网上教程又让人眼花缭乱,所以分享一个容易理解的给大家!
2016-05-04 20:59:34 306
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人