自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

programmer的专栏

技术改变世界

  • 博客(48)
  • 资源 (4)
  • 收藏
  • 关注

原创 《离散数学及其应用》第六版中文版勘误表(更新中)

第7章 高级计数技术 P353页 “把生还的人数记作J(n)”应该是“生还的人的编号记作J(n)”

2013-05-19 10:56:00 2463

转载 Linux并发编程资料汇总

进程间通信深刻理解Linux进程间通信(IPC)序http://www.ibm.com/developerworks/cn/linux/l-ipc/Linux环境进程间通信(一)管道及有名管道http://www.ibm.com/developerworks/cn/linux/l-ipc/part1/Linux环境进程间通信(二): 信号(上)http://www.ibm.

2012-10-25 22:32:25 2143

原创 Python核心编程第15章正则表达式练习答案

#15-1 识别下列字符串:“bat,” “bit,” “but,” “hat,” “hit,” 或 “hut”pattern =  r'[bh][aiu]t,?'#15-2  匹配用一个空格分隔的任意一对单词,比如,名和姓pattern = r'\b\w+ \w+\b'#15-3  匹配用一个逗号和一个空格分开的一个单词和一个字母。例如,英文人名中的姓和名的首字母

2012-10-09 10:54:35 4525 1

转载 Windows编程优秀博文汇总

C/C++ 的文件读写操作总结(一) http://blog.csdn.net/jia0511/article/details/7615982C/C++ 的文件读写操作总结(二) http://blog.csdn.net/jia0511/article/details/7615990Windows内存管理机制http://blog.csdn.net/yeming81/art

2012-09-23 22:29:14 2570

原创 死锁

1         死锁操作系统中有若干进程并发执行,它们不断申请、使用、释放系统资源,虽然系统的进程协调、通信机构会对它们进行控制,但也可能出现若干进程都相互等待对方释放资源才能继续运行,否则就阻塞的情况。此时,若不借助外界因素,谁也不能释放资源,谁也不能解除阻塞状态。根据这样的情况,操作系统中的死锁被定义为系统中两个或者多个进程无限期地等待永远不会发生的条件,系统处于停滞状态,这就是死锁。

2012-09-23 20:19:58 745

原创 百度2013校园招聘笔试题

第一题,基础题:1. 数据库及线程产生死锁的原理和必要条件,如何避免死锁。2. 列举面向对象程序设计的三个要素和五项基本原则。3.Windows内存管理的方式有哪些?各自的优缺点。第二题,算法与程序设计:1.公司举行羽毛球比赛,采用淘汰赛,有1001个人参加,要决出“羽毛球最高选手”,应如何组织这次比赛?可以使用伪代码。2.有100盏灯泡,第一轮点亮所有电灯,第二轮每两盏灯

2012-09-23 11:35:55 1656

原创 Linux系统编程概略

基础知识文件IOint open(const char *pathname, int oflag, mode_t mode);int close(int fd);off_t lseek(int fd, off_t offset, int whence); // whence: SEEK_SET SEEK_CUR, SEEK_ENDssize_t read(int

2012-09-18 20:22:17 655

原创 C++面向对象程序设计

基本概念面向对象程序设计:以对象为中心,将数据和方法封装在一起。三要素:抽象继承 多态五个基本原则:单一职责原则:就一个类而言,应该有且仅有一个引起它变化的原因。开放-封闭原则:是说软件实体(类、模块、函数等等)应该可以扩展,但是不可修改。里氏替换换原则:子类应当可以替换父类并出现在父类能够出现的任何地方。依赖倒置原则:高层模块不应该依赖低层模块。两个都应该依赖抽象。抽

2012-09-04 20:36:19 1228 2

转载 数据挖掘——决策树算法

决策树算法1、摘要      在前面两篇文章中,分别介绍和讨论了朴素贝叶斯分类与贝叶斯网络两种分类算法。这两种算法都以贝叶斯定理为基础,可以对分类及决策问题进行概率推断。在这一篇文章中,将讨论另一种被广泛使用的分类算法——决策树(decision tree)。相比贝叶斯算法,决策树的优势在于构造过程不需要任何领域知识或参数设置,因此在实际应用中,对于探测式的知识发现,决

2012-09-02 19:22:47 1410

原创 设计MP3搜索引擎

(百度)假设一个 mp3 搜索引擎收录了 2^24 首歌曲,并记录了可收听这些歌曲的 2^30 条 URL,但每首歌的 URL 不超过 2^10 个。系统会定期检查这些 URL,如果一个 URL 不可用则不出现在搜索结果中。现在歌曲名和 URL 分别通过整型的 SONG_ID 和 URL_ID 唯一确定。对该系统有如下需求:1) 通过 SONG_ID 搜索一首歌的 URL_ID,给出 URL_

2012-09-02 18:44:58 1364

原创 设计海量key-value数据的存储查询模块

(百度2011)单机存储100亿大数据量的key-value数据,要求能够支持插入和查询操作,单条数据长度不定,平均约1024字节,假设可用内存10G,磁盘空间不限,请设计一个存储查询模块,支持按照key来获取对应的value,设计目标以查询性能为先,尽量节约资源,查询可以理解为网民的检索行为。1)        说明该设计方案和主要思路,以及优缺点2)        请详细说明该

2012-09-02 18:42:53 2262

原创 数据结构与算法试题集锦

1 数组1.1 两个已排序的整型数组,求交集,最快算法 (百度)输入:两个已排序的整型数组(int a[m], b[n])输出:两个数组的交集分析:注意有4种情况:a升序,b升序;a升序,b降序;a降序,b升序;a降序,b降序。1.2 逆序对(百度)多人排成一个队列,我们认为从低到高是正确的序列,但是总有部分人不遵守秩序。如果说,前面的人比后面的人高(两人身

2012-08-30 20:05:11 6869

原创 百度笔试题

一、选择题:15 分共 10 题 1. 在排序方法中,关键码比较次数与记录地初始排列无关的是:DA. Shell 排序 B. 归并排序 C. 直接插入排序 D. 选择排序 2. 以下多线程对 int 型变量x的操作,哪几个需要进行同步:B CA. x=y; B. x++; C. ++x; D. x=1; 3. 代码void func(){  static

2012-08-27 20:52:31 1364

原创 选择原料工厂

12个工厂分布在一条东西向高速公路的两侧,工厂距离公路最西端的距离分别是0、4、5、10、12、18、27、30、31、38、39、47.在这12个工厂中选取3个原料供应厂,使得剩余工厂到最近的原料供应厂距离之和最短,问应该选哪三个厂?分析:1、是一维问题,不是二维,可以抽象成:有12个点分布在一维坐标轴上,选择3个点,使得剩余的点到最近的点的距离之和最小。2、工厂距离是从小到大排序的

2012-07-28 17:13:27 2196

原创 C语言标准IO

这几天参加中兴捧月比赛,用到了C语言的标准IO库。由于对其中的一些细节不是非常清楚,导致了许多Bug,花了好长时间来调试。所以在此做个笔记,以备后查。1. 缓冲区全缓冲。在这种情况下,当填满标准I/O缓存后才进行实际I/O操作。对驻留在磁盘上的文件的访问通常是由标准I/O库实施全缓冲的。 缓冲区可由标准IO例程自动冲洗(如当填满一个缓冲区时),或调用函数fflush强制冲洗。行缓冲

2012-07-27 16:00:59 1144

原创 中缀、前缀、后缀表达式之间的转换

中缀表达式转换为后缀表达式:从前面扫描,从前面输出中缀表达式转换为前缀表达式:从后面扫描,从后面输出前缀表达式和后缀表达式转换为中缀表达式:重建计算树,中序遍历树,子节点的优先级若低于父节点,子树的表达式两端加括号稍后贴上源程序

2012-07-19 21:21:12 834

原创 Linux多线程──读者写者问题

读者写者问题这也是一个非常经典的多线程题目,题目大意如下:有一个写者很多读者,多个读者可以同时读文件,但写者在写文件时不允许有读者在读文件,同样有读者读时写者也不能写。程序:// reader_writer.cpp//////////////////////////////////////////////////////////////////////// 读者写者问题

2012-07-12 21:37:56 5271 1

原创 Linux多线程──生产者消费者

生产者消费者问题这是一个非常经典的多线程题目,题目大意如下:有一个生产者在生产产品,这些产品将提供给若干个消费者去消费,为了使生产者和消费者能并发执行,在两者之间设置一个有多个缓冲区的缓冲池,生产者将它生产的产品放入一个缓冲区中,消费者可以从缓冲区中取走产品进行消费,所有生产者和消费者都是异步方式运行的,但它们必须保持同步,即不允许消费者到一个空的缓冲区中取产品,也不允许生产者向一个已经装

2012-07-12 20:51:17 7143 4

原创 Linux多线程──3个子线程轮流运行

迅雷笔试题:编写一个程序,开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示;如:ABCABC….依次递推。程序:#include #include const int THREAD_NUMBER = 3;// 子线程的互斥量和条件变量pthread_mutex_t thread_mutex

2012-07-10 21:49:58 3134 2

原创 Linux多线程──主线程和子线程分别循环一定次数

子线程循环 10 次,接着主线程循环 100 次,接着又回到子线程循环 10 次,接着再回到主线程又循环 100 次,如此循环50次,试写出代码。要注意条件变量的自动复位问题。参看这篇文章:Linux 的多线程编程的高效开发经验代码:#include #include // 互斥锁,条件变量pthread_mutex_t mutex;pthread_cond_t cond

2012-07-08 20:54:14 3971

原创 华为面试2:1分2分5分的硬币,组成1角,共有多少种组合。

动态规划,注意不要有重复的,例如组成1角钱,5 2 2 1 和 1 2 2 5是1种组合算法的设计思想在程序中注释的很清楚。解法一:// 动态规划// total_money: 要找的零钱总和// changes: 零钱数组,已经从小到大排序,第1个元素设为0,有效元素从第2个位置即下标1开始// kinds_change: 零钱种类int make_change_prob

2012-07-05 11:38:49 4559

原创 淘宝面试题:有一个一亿节点的树,现在已知两个点,找这两个点的共同的祖先。

如题。分析:假设这棵树的每个结点都有n的指针指向n棵子树,可能有的子树为空。已知的两个结点的关系有两种情况:一个结点是另一个结点的祖先,这种情况第一个结点是两个结点的共同祖先;第三个结点是两个结点的共同祖先。算法:递归遍历每个结点,如果当前结点是空结点,返回NULL,如果当前结点等于两个结点中的一个,返回当前结点指针递归遍历当前结点的所有子树,返回n个结点指

2012-06-30 16:46:37 4777 2

原创 网易游戏笔试题─两个圆相交,交点是A1,A2。现在过A1点做一直线与两个圆分别相交另外一点B1,B2。 B1B2可以绕着A1点旋转。问在什么情况下,B1B2最长

两个圆相交,交点是A1,A2。现在过A1点做一直线与两个圆分别相交另外一点B1,B2。B1B2可以绕着A1点旋转。问在什么情况下,B1B2最长?设两个圆的圆心分别为O1,O2。作O1C垂直于B1B2,O2D垂直于B1B2。|B1B2| = |A1B1| + |A1B2| = 2|A1C| + 2|A1D|=2|CD||CD| ^2 = |O1O2|^2 - (|O1C|-|O2D|)^

2012-06-22 20:57:24 5035 5

原创 面试题─用1、2、2、3、4、5这六个数字,写一个main函数,打印出所有不同的排列

用1、2、2、3、4、5这六个数字,写一个main函数,打印出所有不同的排列,如:512234、412325等,要求:"4"不能在第三位,"3"与"5"不能相连。// str: 字符串// begin: 字符串第一个字符的索引// end: 字符串最后一个字符的索引// cnt: 统计全排列的数目,调用之前赋值为0void string_full_permutation_conta

2012-06-22 20:12:06 3808 1

原创 雅虎面试题─有两个双向循环链表A,B,知道其头指针为:pHeadA,pHeadB,请写一函数将两链表中data值相同的结点删除

有双向循环链表结点定义为:struct node{   int data;  struct node *front,*next;};有两个双向循环链表A,B,知道其头指针为:pHeadA,pHeadB,请写一函数将两链表中data值相同的结点删除。用两个向量A_vec、B_vec分别存储链表A、B的元素值,将A_vec、B_vec排序,用类似归并排序的方

2012-06-22 16:01:34 7299 1

原创 雅虎面试题─把十进制数(long型)分别以二进制和十六进制形式输出,不能使用printf系列

编程实现:把十进制数(long型)分别以二进制和十六进制形式输出,不能使用printf系列。实现了unsigned long型的转换。// 十进制转换为二进制,十进制数的每1bit转换为二进制的1位数字char *int_to_bin(unsigned long data){ int bit_num = sizeof(unsigned long) * 8; char *

2012-06-22 15:28:53 4065 3

原创 谷歌笔试题--给定一个集合A=[0,1,3,8](该集合中的元素都是在0,9之间的数字,但未必全部包含), 指定任意一个正整数K,请用A中的元素组成一个大于K的最小正整数。

谷歌笔试题--给定一个集合A=[0,1,3,8](该集合中的元素都是在0,9之间的数字,但未必全部包含), 指定任意一个正整数K,请用A中的元素组成一个大于K的最小正整数。Google2009华南地区笔试题给定一个集合A=[0,1,3,8](该集合中的元素都是在0,9之间的数字,但未必全部包含),指定任意一个正整数K,请用A中的元素组成一个大于K的最小正整数。比如,A=[1,0] K=

2012-06-21 19:47:08 7391 1

转载 Linux下C/C++开发工具注意事项

1、 make 时钟错误make: Warning: File `Makefile' has modification time 4.6e+07 s in the futuremake: 警告:检测到时钟错误。您的创建可能是不完整的。解决方法:运行下列命令再makefind . -type f -exec touch {} \;

2012-06-18 22:37:05 678

转载 微软等公司数据结构+算法面试100题---字符串

0.(原第8题)(1)用一种算法使通用字符串相匹配。(2)颠倒一个字符串。优化速度。优化空间。(3)颠倒一个句子中的词的顺序,比如将“我叫克丽丝”转换为“克丽丝叫我”,实现速度最快,移动最少。(4)找到一个子字符串。优化速度。优化空间。(5)比较两个字符串,用O(n)时间和恒量空间。1.(原第10题)-----------------------------

2012-05-13 10:28:17 1798

转载 微软等公司数据结构+算法面试100题---数组

1.(原第3题)----------------------------------------------------------------------求子数组的最大和题目:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1, -2, 3, 1

2012-05-05 20:02:26 1111

转载 微软等公司数据结构+算法面试100题--链表

1.(原第7题)----------------------------------------------微软亚院之编程判断俩个链表是否相交给出俩个单向链表的头指针,比如h1,h2,判断这俩个链表是否相交。为了简化问题,我们假设俩个链表均不带环。问题扩展:1.如果链表可能有环列?2.如果需要求出俩个链表相交的第一个节点列?2.(原第13题)------

2012-04-28 14:02:32 979

转载 微软等公司数据结构+算法面试100题--树

引用自博客 http://blog.csdn.net/v_JULY_v1.(原第1题)----------------------------------------------把二元查找树转变成排序的双向链表 题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。  10  / \ 6 14 /

2012-04-25 18:03:20 831

转载 中软国际笔试面试题

中软国际http://topic.csdn.net/u/20081221/00/41babf3d-1c22-4ff7-aec9-de4f48a6e1c7.html题目1:一条小溪上7块石头,如图所示:(图就是下面的链接)http://album.hi.csdn.net/app_uploads/jinder22/20081220/235450716.p.jpg?d=2008122023551

2012-04-06 14:27:52 5494

转载 阿里巴巴笔试面试题

http://topic.csdn.net/u/20081030/15/aeae3a59-83da-41ba-83e3-9f13f0499fef.html?43101写出atol的实现代码(答案楼主和8楼)

2012-04-06 13:38:26 556

转载 C/C++笔试面试题

strcmp strcpy atoi atol 为什么虚函数效率低http://topic.csdn.net/u/20081031/12/06d0e218-8aab-4203-850c-9e6b76099c09.html?20373

2012-04-05 16:41:25 630

转载 腾讯笔试面试题整理

http://topic.csdn.net/u/20081029/22/c8fe34c1-25ab-4b94-986e-4c2fd4caa664.html1、设计一个魔方(六面)的程序。2、有一千万条短信,有重复,以文本文件的形式保存,一行一条,有重复。请用5分钟时间,找出重复出现最多的前10条。3、收藏了1万条url,现在给你一条url,如何找出相似的url。(面试官不解释何为相

2012-04-05 16:21:05 2306 2

转载 百度笔试面试题整理

1、A厂有1万个工人,编号0-9999,( EE[10000] ), 1个厂长( GG )分派任务, 1个监工( MM )管理工人。厂子忙的时间不确定,可能突然很忙,1天接到任务5000多个,1个任务只能分配给1个工人做, 也可能好几十天没新任务。厂长分配任务给这1万个工人干,按工人编号一个一个来,到最后一个工人就又从头开始,任务完成时间各不相同,可能一个工人在分配任务的时候手里还有任务,

2012-04-05 14:44:08 699

转载 跟我一起写Makefile文件

概述 关于程序的编译和链接 Makefile介绍 一、Makefile的规则 二、一个示例 http://blog.csdn.net/haoel/article/details/2886三、make是如何工作的 四、makefile中使用变量 五、让make自动推导 六、另类风格的makefile 七、清空目标文件的规则http://blog.csdn.net/haoel/ar

2011-12-07 21:36:20 519

原创 数据结构与算法笔试面试题

http://topic.csdn.net/t/20011231/10/452103.html128名选手参加比赛,每名选手每天只能比赛一次。用尽可能少的天数决出所有名次(1~128名)。求算法(答案在56楼)

2011-10-18 22:30:12 654

原创 网络笔试面试题

1、TCP与UDP的区别(数码视讯2011)

2011-10-18 22:28:52 440

深度探索C++对象模型

这本书探索“对象导向程序所支持的C++对象模型”下的程序行为。对于“对象导向性质之基础实现技术”以及“各种性质背后的隐含利益交换”提供一个清楚的认识。检验由程序变形所带来的效率冲击。提供丰富的程序范例、图片,以及对象导向观念和底层对象模型之间的效率测量。

2013-08-31

STL原码剖析中文版

学习编程的人都知道,阅读、剖析名家代码乃是提高水平的捷径。源码之前,了无秘密。大师们的缜密思维、经验结晶、技术思路、独到风格,都原原本本体现在源码之中。 这本书所呈现的源码,使读者看到vector的实现、list的实现、heap的实现、deque的实现、Red Black tree的实现、hash table的实现、set/map的实现;看到各种算法(排序、查找、排列组合、数据移动与复制技术)的实现;甚至还能够看到底层的memory pool和高阶抽象的traits机制的实

2013-08-31

More Effective C++中文版

《More Effective C++:35个改善编程与设计的有效方法(中文版)》内容简介:继Effective C++之后,Scott Meyers于1996推出这本《More Effective C++(35个改善编程与设计的有效方法)》“续集”。条款变得比较少,页数倒是多了一些,原因是这次选材比“第一集”更高阶,尤其是第5章。Meyers将此章命名为技术(techniques),并明白告诉你,其中都是一些patterns,例如virtual constructors,smart pointers,reference counting,proxy classes,double dispatching……这一章的每个条款篇幅都达15-30 页之多,实在让人有“山重水复疑无路,柳暗花明又一村”之叹。

2012-04-15

空空如也

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

TA关注的人

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