NeilHappy
码龄14年
求更新 关注
提问 私信
  • 博客:1,082,749
    社区:10,014
    1,092,763
    总访问量
  • 84
    原创
  • 126
    粉丝
  • 6
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
加入CSDN时间: 2011-11-07
博客简介:

Neil的博客

博客描述:
我庆幸,我正在做我最喜欢的事
查看详细资料
个人成就
  • 获得247次点赞
  • 内容获得84次评论
  • 获得141次收藏
  • 代码片获得114次分享
  • 博客总排名1,848,581名
创作历程
  • 3篇
    2015年
  • 30篇
    2013年
  • 61篇
    2012年
  • 13篇
    2011年
成就勋章
TA的专栏
  • java
    2篇
  • 年度总结
    1篇
  • 综合
    16篇
  • 开发语言相关
    4篇
  • 心情随笔
    19篇
  • 即时通讯
  • 思考者
    10篇
  • linux学习笔记
    9篇
  • c/c++
    2篇
  • 算法和数据结构
    50篇
  • 回溯法
    5篇
  • vim相关
    1篇
  • python学习笔记
    3篇
  • unix/linux系统编程
    5篇
  • 算法(数据结构)每天一题
    28篇
  • My English articles
    4篇
  • 《TCP/IP详解卷1》学习小结
    3篇
  • busybox-0.60.3源码剖析
    2篇

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 1

TA参与的活动 0

创作活动更多

新星杯·14天创作挑战营·第13期

这是一个以写作博客为目的的创作活动,旨在鼓励大学生博主们挖掘自己的创作潜能,展现自己的写作才华。如果你是一位热爱写作的、想要展现自己创作才华的小伙伴,那么,快来参加吧!我们一起发掘写作的魅力,书写出属于我们的故事。我们诚挚邀请你们参加为期14天的创作挑战赛!注: 1、参赛者可以进入活动群进行交流、互相鼓励与支持(开卷),虚竹哥会分享创作心得和涨粉心得,答疑及活动群请见:https://bbs.csdn.net/topics/619781944 【进活动群,得奖概率会更大,因为有辅导】 2、文章质量分查询:https://www.csdn.net/qc

89人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

vim“找到 tag: 1/4 或更多” 其他定义的查看方法

:tselect 显示列表:tn和:tp 显示后一个tag和前一个tag
转载
博文更新于 2012.04.02 ·
5679 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

Python学习总结(二)----python的练习方法

继续学习python中,越来越发现python的方便,也找到了一些python与C/C++的一些相同点与不同点。由于我看的书中缺乏编程练习题,我就在想如何能够尽快地熟悉python。由于我一直在参加算法竞赛,所以就想到了用Python去实现一些数据结构和算法。这类的编程通常不会用到太多的库,但却是锻炼基本功的很好的方法。程序写好后,可以花几分钟时间来总结一下所用到的知识点,这对初学者的效果非常好。
原创
博文更新于 2013.02.24 ·
3419 阅读 ·
5 点赞 ·
0 评论 ·
4 收藏

猜你喜欢-----推荐系统原理介绍

写在正文之前 最近在做推荐系统,在项目组内做了一个分享。今天有些时间,就将逻辑梳理一遍,将ppt内容用文字沉淀下来,便于接下来对推荐系统的进一步研究。推荐系统确实是极度复杂,要走的路还很长。 A First Glance  为什么需要推荐系统——信息过载 随着互联网行业的井喷式发展,获取信息的方式越来越多,人们从主动获
原创
博文更新于 2015.07.05 ·
11187 阅读 ·
10 点赞 ·
1 评论 ·
32 收藏

万剑归宗—架构设计中的抽象思维与具象思维

新项目上线,用户量不断增加,工作中继续不断发现问题,解决问题。花一点时间来总结一下自己对架构设计的理解。 小小的打个广告。这篇文章是发布在neil的微信公众号上。neil的文章都会第一时间发布在微信公众号上。欢迎小伙伴们关注。                      微信公众号:互联网与作曲家   武侠小说中的“万剑归宗”---
原创
博文更新于 2015.06.14 ·
2436 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

写给程序员的心理学入门知识(一)

正文之前neil是14年毕业的一枚后台开发,在大学的时候除了钻研技术外,还喜欢看一些其他领域的书籍。作为工科学生,我们都很擅长逻辑思维。但作为社会人,工作和生活中不可避免地需要跟很多人打交道,学点简单的心理学大有裨益。其实在我看来,心理学等很多社会科学的知识在本质上都是逻辑,只是换了一种思维方式而已。所以,对于我们工科生来说,学一些入门的心理学常识是没任何难度的。
原创
博文更新于 2015.04.21 ·
3521 阅读 ·
2 点赞 ·
0 评论 ·
1 收藏

无限式查找-----2013年2月28日

问题描述:已知一个数组x[],元素个数有多少并不很清楚,但是数组元素已经依顺序从小到大排好,而且在数组最后添加了足够多的MAX记号;MAX表示最大的值,比数组中每一个元素都大,而且个数足够多。编写一个程序,在这个数组中找出某个给定的值。      思路:二分查找法是一个非常高效的算法,但要想使用二分查找法,必须满足2个条件:1.元素是有序的,可以从小到大排列,也可以从大到小排列。2.知道元
原创
博文更新于 2013.04.04 ·
1014 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

用递归方法对二叉树进行层次遍历

在这里看到了这个题。层次遍历是用队列,一级一级地入队列然后输出。而用递归的话,我首先想到是用两个栈来模拟队列,在递归遍历二叉树的过程中入栈,然后最后一次性出栈。但仔细思考后发现无法做到层次遍历。在这里看到了正确的方法。     主要代码如下: 1 void PrintNodeAtLevel(BiTree T,int level) 2 { 3 // 空树或层级不合理
原创
博文更新于 2013.04.04 ·
5080 阅读 ·
1 点赞 ·
0 评论 ·
5 收藏

C/C++内存管理 笔记

内存管理是个比较复杂的东西,我这里记录一些比较重要的笔记。     0.永远保持谦虚的态度来使用指针和操作内存。     1.在用free释放内存后,要记得将指针赋值为NULL,防止产生"野指针"。     2.尽量不要用指针指向常量字符串。看一个小例子:char *p="abcde";p[0]='m';std::cout     用gcc编译会出现
原创
博文更新于 2013.03.30 ·
1377 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

归并排序的递归算法

递归算法有个关键就是递归结束的条件。代码如下:      //bugs:算法中有个小bug,就是我没有考虑到(n+1)/2时,n+1为奇数的情况。      #include #include #define MAX 1000//函数原型void swap(int *a,int *b);void sort_parallel(int target[],int start1,int
原创
博文更新于 2013.03.27 ·
2218 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

二叉树的非递归遍历-----2013年3月20日

二叉树的递归遍历算法非常漂亮和易读,但是非递归算法就没那么容易懂了,尤其是后序遍历的非递归算法。一. 前序遍历       1 void PreOrderTraverse(Node *root) 2 { 3 stack ns; 4 Node *n=root; 5 while(n!=NULL || !ns.empty()) 6 {
原创
博文更新于 2013.03.20 ·
1325 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

僵尸进程

僵尸进程就是父进程fork之后并没有wait子进程。在子进程退出的时候,内核释放该进程所有的资源,比如文件描述符,内存,等等,但是依然为该进程保留一定的信息,只有该进程的父进程wait之后才会释放掉这些保留的信息。如果父进程没有wait,那么子进程就变成了僵尸进程。在高并发的服务器中,僵尸进程会有很大的危害。如果僵尸进程过多,那么就会有大量的进程号被僵尸进程占用,但是系统所能使用的进程是有限的。如
原创
博文更新于 2013.03.12 ·
1412 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

寻找脚码----2013年2月24日

题目来自:《C语言精选名题百则技巧篇》     问题描述:已知一个整数数组x[],其中的元素彼此都不相同,而且也已经从小到大排列好。请用比较大小,相等的方式编写一个程序,找出给定的数组中是否有一个元素满足x[i]==i(注意:在代码中是从0开始索引的,也就是x[0]是第一个数,所以对应于代码也就是x[i]==i+1)的关系。举例而言,如果x[]={-2,-1,3,7,8},x[3]=3,因
原创
博文更新于 2013.02.26 ·
1384 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

寻找固定的和----2013年2月26日

问题描述:有两个数组x[]与y[],各有m与n个元素,而且各个元素没有依顺序排列;d是一个已知的值。请写一个程序,看看在x[]与y[]中有没有满足x[i]+y[j]=d的元素。例如,若x[]为3,7,2,4,y[]为1,5,2,3,d为9;那么x[1]+y[2]与x[3]+y[1]都合乎条件,也即都是9。     思路:x[i]+y[j]=d。那么x[i]=d-y[j]了。将x[]数组按从
原创
博文更新于 2013.02.26 ·
991 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Python学习总结(一)

(一)我(非初学者)学Python的方法  在正文开始之前,我先说说自己学Python的方法。接触了不少语言了,但我写的代码90%都是C,加上一些计算机的基础知识,所以我这个家伙也就勉强算是个非初学者吧。我这里说的,就是针对非初学者学习Python的方法,或者说也可以推广为非初学者学习一门新语言的方法了,嘿嘿,咱写程序的,抽象能力得好是不?闲话不多说。首先,得找一本python入门的经典书
原创
博文更新于 2013.02.24 ·
9821 阅读 ·
6 点赞 ·
0 评论 ·
12 收藏

找出没有相邻的1的二进制数的个数---2013年2月17日

问题描述:用G(n)表示在有n位的二进制数中没有相邻的两个1的二进制数个数。比如,当n=3时,000,001,010,011,100,101,110,111这8个数中只有000,001,010,100,101这5个是没有相邻为1的,故G(3)=5。请写一个程序,输出G(n)的值。      错误的思路(考虑的不周全):采用"分治"的方法,比如n=3,每次都将处理原问题规模的二分之一,直到n
原创
博文更新于 2013.02.19 ·
1839 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

busybox源码剖析(3)---cat.c

cat显示一个文件的内容。需要注意的是,cat并不能处理目录。 1 extern int cat_main(int argc, char **argv) 2 { 3 int status = EXIT_SUCCESS; 4 5 if (argc == 1) { 6 print_file(stdin); 7 return st
原创
博文更新于 2013.02.15 ·
1684 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

busybox源码剖析(2)---pwd.c

pwd命令是列出当前的路径。 1 extern int pwd_main(int argc, char **argv) 2 { 3 static char *buf; 4 5 buf = xgetcwd(buf); 6 7 if (buf != NULL) { 8 puts(buf); 9 r
原创
博文更新于 2013.02.15 ·
1362 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

整数的所有不同分割数目--非递归算法

递归算法见:整数的所有不同分割数目--递归算法     思路:非递归与递归的思维顺序是互逆的,所以很容易写出以下代码。 1 #include 2 #define MAX 1000 3 4 int p[MAX][MAX]={0}; 5 6 int main() 7 { 8 int n=2; 9 int index_n,
原创
博文更新于 2013.02.15 ·
1328 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

整数的所有不同分割数目----2013年2月15日

问题描述:把一个正整数写成若干个正整数的和。比如4=3+1,2+2,2+1+1,1+1+1+1,再加上自己,就一共有5种分割方式。     思路:求解4的所有分割方式,实际上就是求分割中以4为最大值而且和为4的所有分割方式,可以用p[4][4]来表示。抽象出来,就是p[n][m],表示分割中以m为最大值而且和为n的所有分割方式。那么,就有以下几种情况。     1.第一步当然是n=
原创
博文更新于 2013.02.15 ·
1254 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

busybox源码剖析(1)---whoami.c

想找个简单的代码来看,学习代码的架构设计,就找到了busybox。先从最早的版本开始看。     whoami命令是获取当前终端的用户名。/etc/passwd文件存储了所有用户名的清单。要注意的是/etc存储的配置文件大多是系统级的配置文件。而whoami想要达到目的,就需要与/etc/passwd文件打交道。     首先来看whoami.c的主体程序: 1 ext
原创
博文更新于 2013.02.14 ·
1412 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多