yxj_1989
码龄12年
关注
提问 私信
  • 博客:87,030
    社区:162
    87,192
    总访问量
  • 32
    原创
  • 839,845
    排名
  • 3
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2012-11-07
博客简介:

共同分享,一起成长

查看详细资料
个人成就
  • 获得19次点赞
  • 内容获得2次评论
  • 获得31次收藏
创作历程
  • 44篇
    2013年
成就勋章
TA的专栏
  • 程序员面试
    39篇
  • linux学习
    9篇
  • 数据挖掘
    2篇
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

如何高效地实现查询在一个表而不在另一个表中的记录

面试的时候被考官问到这个问题,不佳思索就想出来一个可以解决这个问题的方法,我说用not in就可以实现,也就是这样:      select   A.*   from   tbl1 A where   A.key   not   in   (select   key   from   tbl2)  然后考官又问,还有没有其他的方法,我说也可以用not exists,然后又问还有吗,我实在也
原创
发布博客 2013.09.17 ·
1277 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Linux多线程编程的时候怎么查看一个进程中的某个线程是否存活

pthread_kill:别被名字吓到,pthread_kill可不是kill,而是向线程发送signal。还记得signal吗,大部分signal的默认动作是终止进程的运行,所以,我们才要用signal()去抓信号并加上处理函数。int pthread_kill(pthread_t thread, int sig);向指定ID的线程发送sig信号,如果线程代码内不做处理,则按照信号默
原创
发布博客 2013.09.10 ·
2068 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

水库抽样问题

随机抽样问题表示如下:要求从N个元素中随机的抽取k个元素,其中N无法确定。这种应用的场景一般是数据流的情况下,由于数据只能被读取一次,而且数据量很大,并不能全部保存,因此数据量N是无法在抽样开始时确定的;但又要保持随机性,于是有了这个问题。所以搜索网站有时候会问这样的问题。这里的核心问题就是“随机”,怎么才能是随机的抽取元素呢?我们设想,买彩票的时候,由于所有彩票的中奖概率
原创
发布博客 2013.09.02 ·
1767 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

SQL Select语句完整的执行顺序

1、from子句组装来自不同数据源的数据;2、where子句基于指定的条件对记录行进行筛选;3、group by子句将数据划分为多个分组;4、使用聚集函数进行计算;5、使用having子句筛选分组;6、计算所有的表达式;7、使用order by对结果集进行排序
原创
发布博客 2013.08.29 ·
1223 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

海盗分硬币问题总结

传说,从前有五个海盗抢得了100枚金币.他们通过了一个如何确定选用谁的分配方案的安排.即:1.抽签决定各人的号码(1,2,3,4,5);2.先由1号提出分配方案,然后5个人表决.当且仅当超过半数人同意时,方案才算被通过,否则他将被扔入大海喂鲨鱼;3.当1号死后,再由2号提方案,4个人表决,当且仅当超过半数同意时,方案才算通过,否则2号同样将被扔入大海喂鲨鱼;4.往下依次类推
原创
发布博客 2013.08.17 ·
3961 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球(13个呢?)

1,天平一边放四个,平则坏球在余下的四个里,好办(同方法二中的相等处理)。 不平,先将偏重的四个编号为:1、2、3、4。偏轻的编为A、B、C、D(因为不知道轻重)。2。天平一边放三个,比如:左边放1、2、A。右边放3、4、B。 平则坏球是C、D 里偏轻的,不平则根据轻重淘汰1、2、B或 3、4、A。假设是12A>34B,那么一定是12中有一个偏重或者B偏轻,最后一次把12B相称即可,假设称
原创
发布博客 2013.08.14 ·
1473 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

B-树和B+树的应用:数据搜索和数据库索引

B-树1 .B-树定义B-树是一种平衡的多路查找树,它在文件系统中很有用。定义:一棵m 阶的B-树,或者为空树,或为满足下列特性的m 叉树:⑴树中每个结点至多有m 棵子树;⑵若根结点不是叶子结点,则至少有两棵子树;⑶除根结点之外的所有非终端结点至少有[m/2] 棵子树;⑷所有的非终端结点中包含以下信息数据:      (n,A0,K1,A1,K2,…,Kn,An
转载
发布博客 2013.08.13 ·
909 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

在遇到可以用递归解决的问题,但是又不让用递归怎么办

我们知道,用递归方法可以快速,简洁地解决一些问题,但是他的空间开销也比较大,我们习惯于用递归解决各种问题,但是在一些应用场景下要求我们不能使用递归,我们发现这时候举手无措,这时候怎么办呢???记住这时候不用慌张,我们知道,递归的深入过程实际上是逐步入栈的时候,回溯的时候是出栈的时候,在我们知道这个道理的情况下,我们只要自己建立一个栈,然后在栈中模拟函数的调用过程,不是就可以达到目的了。所以在不让用
原创
发布博客 2013.08.10 ·
1751 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

memmove源码实现

函数原型: void *memmove(void *dest, const void *src, unsigned int count)参数说明:dest为目的字符串,src为源字符串,count为要拷贝的字节数。所在库名:#include 函数功能:将字符串src中的前n个字节拷贝到dest中。返回说明:dest和src所指内存区域可以重叠,但复制后src内容会被更改。函数返回指
转载
发布博客 2013.08.08 ·
1679 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

用c++编写一个不能被继承的类(但是可以在类外部定义该类的对象)

据我们知道,我们只要把类的构造函数和析构函数定义为private类型,那么就不能够在外部建立给类的对象,也就不能以给类为基类进行继承,因为如果继承,建立对象的时候将要调用基类的构造函数,但是因为为private,所以派生类调用基类构造函数的时候,将会连接失败,这样达到不能被继承的任务,但是缺憾是我们不能够在类外部定义该类的对象。那么应该怎么解决呢?????下面给出代码templatecla
原创
发布博客 2013.08.06 ·
1301 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

二分查找的感悟

今天在看v_JULY_v写的二分查找实现(Jon Bentley:90%程序员无法正确实现)一文,感悟颇深,在看文章之前自己心想二分查找不是相当的easy,但是真的在读完文章,然后和自己写的比较之后,返现我就是那90%中的一员,深深明白一个道理,看似再简单的问题,没有100%的细心和努力也不可能做好。现在就把原文中的代码展示出来,不知道是属于10%行列还是90%行列?代码来自:http://b
原创
发布博客 2013.08.05 ·
1255 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

对linux中多线程编程中pthread_join的理解

在Linux中,默认情况下是在一个线程被创建后,必须使用此函数对创建的线程进行资源回收,但是可以设置Threads attributes来设置当一个线程结束时,直接回收此线程所占用的系统资源,详细资料查看Threads attributes。    其实在Linux中,新建的线程并不是在原先的进程中,而是系统通过一个系统调用clone()。该系统copy了一个和原先进程完全一样的进程,并在这个
原创
发布博客 2013.08.04 ·
4472 阅读 ·
2 点赞 ·
0 评论 ·
5 收藏

用位运算求一个数的绝对值

我们知道在我们对一个数进行位运算的时候,是在这个数的补码上进行的,对于补码我们知道,正数的补码是原码,负数的补码为原码除了最高位的符号位,取反,然后加1。把补码转换成原码的时候,正数还是原码,负数时把补码除了符号位取反然后加1(我们可以发现如果这时候连符号位也求反,然后加1,与以前不同的只是少了一个符号位,现在实际上就是这个数的绝对值)。所以我们可以得到对一个负数求绝对值的表达式为in
原创
发布博客 2013.08.04 ·
5248 阅读 ·
6 点赞 ·
2 评论 ·
12 收藏

复制构造函数应该注意的问题

拷贝构造函数必须以引用的形式传递(参数为引用值)。其原因如下:当一个对象以传递值的方式传一个函数的时候,拷贝构造函数自动的被调用来生成函数中的对象。如果一个对象是被传入自己的拷贝构造函数,它的拷贝构造函数将会被调用来拷贝这个对象这样复制才可以传入它自己的拷贝构造函数,这会导致无限循环直至栈溢出(Stack Overflow)。除了当对象传入函数的时候被隐式调用以外,拷贝构造函数在对象被函数返回
原创
发布博客 2013.08.03 ·
1179 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

信号量的使用步骤

信号量的使用如下步骤小结1.声明信号量sem_t sem1;2.初始化信号量sem_init(&sem1,0,1);3.sem_post和sem_wait函数配合使用来达到线程同步4.释放信号量int sem_destroy (sem_t *sem1);
原创
发布博客 2013.08.01 ·
1653 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

父进程和子进程关于数据和文件描述符的继承的理解

用fork()函数建立的子进程几乎与父进程完全一样,子进程中的所有变量均保持他们在父进程中的值(当然fork的返回值除外),因为自己称可用的数据是父进程可用数据的拷贝,并且其占用不同的内存地址空间(当然逻辑地址可能是一样的),这就保证了在一个进程中的变量数据变化不会影响到另外一个进程。这一点非常重要。    但是有一点要特别注意的,在父进程打开的文件,那么在子进程中也会打开,继承了打开的文件描
原创
发布博客 2013.08.01 ·
4931 阅读 ·
2 点赞 ·
0 评论 ·
8 收藏

#define和printf都不是C语句

语言的语句用来向计算机系统发出操作指令。一个语句经编译后产生若干条机器指令。C语句都是用来完成一定操作任务的。Printf是C语句#define只是一个宏,在预处理是用,不是语句
原创
发布博客 2013.07.30 ·
10777 阅读 ·
6 点赞 ·
0 评论 ·
5 收藏

placement new

1. placement new的含义placement new 是重载operator new 的一个标准、全局的版本,它不能够被自定义的版本代替(不像普通版本的operator new 和 operator delete能够被替换)。void *operator new( size_t, void *p ) throw()     { return p; }placemen
转载
发布博客 2013.07.30 ·
835 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

strcpy函数和mencpy函数的解释和区别分析

strcpy和memcpy的区别strcpy和memcpy都是标准C库函数,它们有下面的特点。strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。已知strcpy函数的原型是:char* strcpy(char* dest, const char* src);memcpy提供了一般内存的复制。即memcpy对
转载
发布博客 2013.07.30 ·
2059 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

自己写的atoi函数和itoa函数

atoi函数的实现源码:#include using namespace std;enum status{invalid=0,valid};bool result_status=invalid;//最后最为输入是否违法的标识int strToInt(const char* str){   long long num=0;    bool minus=false; i
原创
发布博客 2013.07.30 ·
1658 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多