自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JJDiaries

也许,人们的坚持,往往不是因为相信未来,而是他们不想背叛过去。梦想如此,活着也是如此。——程浩

  • 博客(121)
  • 资源 (7)
  • 收藏
  • 关注

原创 谷歌新Logo如何做到只有305字节

谷歌新旧Logo谷歌换logo已经有一段时间了,对于更换Logo的问题,大家讨论的最多的是到底新老Logo哪个更好看。但也有个别同学注意到了一个事实:谷歌的新Logo只有305字节那么大,而老的Logo则有14000字节。咳咳,按照谷歌的网络流量,单单一个Logo就能为整个互联网省下不少带宽啊。新Logo为什么就这么小呢?谷歌的旧Logo使用了serif字体,而这类

2015-09-13 09:53:41 1199

原创 程序员面试题集锦

谷歌面试官经典作品(CTCI)目录1.1 判断一个字符串中的字符是否唯一1.2 字符串翻转1.3 去除字符串中重复字符1.8 利用已知函数判断字符串是否为另一字符串的子串2.1 从链表中移除重复结点2.2 实现一个算法从一个单链表中返回倒数第n个元素2.3 给定链表中间某结点指针,删除链表中该结点2.4 求由两个链表结点组成的数之和

2015-09-06 23:23:48 7930 1

转载 程序员面试中常见10大算法汇总

以下是在编程面试中排名前10的算法相关的概念,我会通过一些简单的例子来阐述这些概念。由于完全掌握这些概念需要更多的努力,因此这份列表只是作为一个介绍。本文将从Java的角度看问题,包含下面的这些概念:1. 字符串如果IDE没有代码自动补全功能,所以你应该记住下面的这些方法。toCharArray() // 获得字符串对应的char数组Arrays.sort() // 数组排序

2015-08-30 10:43:04 977

转载 TCP-IP协议详解(2) 以太网与WiFi协议

在阅读“TCP-IP协议详解”系列文章之前,建议阅读以下两篇文章,以便对互联网协议有个快速的全局了解和把握!互联网协议入门(一)互联网协议入门(二)“小喇叭开始广播啦”,如果你知道这个,你一定是老一辈的人。“小喇叭”是五十年代到八十年代的儿童广播节目。在节目一开始,都会有一段这样的播音:“小朋友,小喇叭开始广播了!” 听到这里,收音机前的小朋友就兴奋起来,准备好听节目了:这一期

2015-08-30 00:36:31 5025 1

转载 TCP-IP协议详解(1)网络协议概观

在阅读“TCP-IP协议详解”系列文章之前,建议阅读以下两篇文章,以便对互联网协议有个快速的全局了解和把握!互联网协议入门(一)互联网协议入门(二)信号的传输总要符合一定的协议(protocol)。比如说长城上放狼烟,是因为人们已经预先设定好狼烟这个物理信号代表了“敌人入侵”这一抽象信号。这样一个“狼烟=敌人入侵”就是一个简单的协议。协议可以更复杂,比如摩尔斯码(Morse C

2015-08-30 00:34:29 672

转载 django开发博客(1) 入门

现在正式开始博客开发1、安装django1.4如果你使用的是fedoraDVD版,安装时选择了web开发组建,这一步可以省略,因为它自带django环境django下载地址 https://www.djangoproject.com/download/  这里我们选择最新版然后在终端下打开下载目录tar xzvf Django-*.tar.gz 。cd

2015-08-30 00:30:45 859

转载 「专治不明觉厉」之“大数据”

大数据(Big Data)大数据,官方定义是指那些数据量特别大、数据类别特别复杂的数据集,这种数据集无法用传统的数据库进行存储,管理和处理。大数据的主要特点为数据量大(Volume),数据类别复杂(Variety),数据处理速度快(Velocity)和数据真实性高(Veracity),合起来被称为4V。大数据中的数据量非常巨大,达到了PB级别。而且这庞大的数据之中,

2015-08-30 00:29:02 590

原创 深夜随笔

好久没来CSDN写博客了。看到最近一篇博文,已经是快两年前的事了。时间过得太快,从学校毕业来到一个陌生的城市,再从一个陌生的城市去到另一个陌生的城市。生活就是这样。身边的人来去匆匆,自己也是漂浮不定。女神,还是那么遥远。她依然是在梦里,穿着碎花洋裙,天真烂漫。问归期,未有期。我在西二旗。等你!

2015-08-30 00:22:58 522

原创 (十一)二叉查找树

一颗二叉查找树/*******************************************二叉查找树,支持的操作包括:SERACH、MINIMUM、MAXIMUM、PREDECESSOR、SUCCESSOR、INSERT、DELETE。定理:对于一个高度为h的二叉查找树,操作SERACH、MINIMUM、MAXIMUM、PREDECESSOR、SUCCESSOR的运行时间均为

2013-11-20 08:28:59 1752

转载 libxml2的编译与安装

1. 下载和安装LIBXML2    Libxml2是个C语言的XML程式库,能简单方便的提供对XML文件的各种操作,并且支持XPATH查询,及部分的支持XSLT转换等功能。Libxml2的下载地址是http://xmlsoft.org/,完全版的库是开源的,并且带有例子程式和说明文件。最佳将这个库先下载下来,因为这样能查看其中的文件和例子。由于我是在linux下用C语言进行研发的

2013-11-19 23:21:29 8912

原创 (十)哈希表

利用链表法解决冲突的构建的一个hash表,最终的示意图如下图所示。下面的代码实现的功能为:将一个网址进行hash,并存放于hash表中。链表节点包含三个元素:1)存放指向存放网址的指针。2)该网址出现的次数。3)指向下一个节点的指针。/*******************************************=================JJ日记=========

2013-11-17 20:40:50 1343

原创 (九)双链表

/*******************************************双链表操作:list_serach list_insert list_delete 相关伪代码://在链表L中查找具有关键字k的元素xlist_search(L,k) x=head[L] while x != NIL and key[x]!=k do x <—— next[x] retur

2013-11-16 16:42:45 937

原创 Linux网络编程(六)

网络编程中,使用多路IO复用的典型场合:1.当客户处理多个描述字时(交互式输入以及网络接口),必须使用IO复用。2.一个客户同时处理多个套接口。3.一个tcp服务程序既要处理监听套接口,又要处理连接套接口,一般需要用到IO复用。4.如果一个服务器既要处理TCP,又要处理UDP,一般也需要用到IO复用。5.如果一个服务器要处理多个服务或者多个协议,一般需要用到IO复用。linux提供

2013-11-16 15:10:54 1263

原创 Linux网络编程(五)

/*Linux网络编程(五)——多路IO复用之select()网络编程中,使用IO复用的典型场合:1.当客户处理多个描述字时(交互式输入以及网络接口),必须使用IO复用。2.一个客户同时处理多个套接口。3.一个tcp服务程序既要处理监听套接口,又要处理连接套接口,一般需要用到IO复用。4.如果一个服务器既要处理TCP,又要处理UDP,一般也需要用到IO复用。5.如果一个服务器要处

2013-11-16 15:10:38 1152

原创 Linux网络编程(四)

在linux网络编程【1-3】中,我们编写的网络程序仅仅是为了了解网络编程的基本步骤,实际应用当中的网络程序并不会用那样的。实际网络程序多使用select、poll、epoll等多路IO复用。在进入主题之前,我们先来了解一下linux的IO模型。现有的linux IO模型有5种:阻塞式IO模型,非阻塞式IO模型,IO复用模型,信号驱动式IO模型,异步IO模型。关于阻塞、非阻塞、同步、异步,

2013-11-16 15:10:27 1526

原创 Linux网络编程(三)

Linux网络编程(三) wait()还是waitpid()Linux网络编程(二)存在客户端断开连接后,服务器端存在大量僵尸进程。这是由于服务器子进程终止后,发送SIGCHLD信号给父进程,而父进程默认忽略了该信号。为避免僵尸进程的产生,无论我们什么时候创建子进程时,主进程都需要等待子进程返回,以便对子进程进行清理。为此,我们在服务器程序中添加SIGCHLD信号处理函数。代码如下:

2013-11-16 15:10:15 1071

原创 (八)循环队列

/****************************************循环队列操作:用数组Q[0,n-1]来实现一个至多有n-1个元素的队列。队列的两个属性:head[Q] and tail[Q]head[Q]指向队列的头tail[Q]指向新元素将要被插入的地方。队列中各个元素的位置为:head[Q],head[Q]+1,...,tail[Q]-1.在最后一个位置要进行“

2013-11-16 14:31:50 1245

原创 (七)线性堆栈

/****************************************堆栈操作:用数组S[0,n-1]来实现一个至多有n个元素的栈。STACK_EMPYT(S) //判断栈是否为空 if top[S]=-1 then return ture else return falsePUSH(S,x) //将元素x压入栈中 if to

2013-11-16 14:31:15 1239

原创 (六)线性选择

/************************************************以期望线性时间做选择:返回数组A[p,r]中第i小的数算法通过分治递归划分,像快排那样,将数组划分成两边,然后根据情况,处理划分后的某一边,算法伪代码如下:select(A,p,r,i) if p=r then return A[p] q<——partion(A

2013-11-16 14:30:40 1279

原创 (五)使用最大堆实现优先级队列

/*******************************************利用最大堆实现最大优先级队列最大优先级支持的操作:1.insert(S,x) //将元素x插入集合S中2.maximum(S) //返回S中最大关键字的元素3.extract(S) //去掉并返回S中最大关键字的元素4.increase_key(S,x,k) //将元素x的关键字的值增加到k,

2013-11-16 14:29:58 1179

原创 (四)快速排序

/*****************************************快速排序伪代码:QUICK_SORT(A,p,r) if(p<r) then q <—— PARTITION(A,p,r) QUICK_SORT(A,p,q-1) QUICK_SORT(A,q+1,r)//核心函数,对数组A[p,

2013-11-16 14:29:18 1072

原创 (三)堆排序

/*******************************************堆排序,时间复杂度O(nlgn)伪代码:1.下标计算[为与程序对应,下标从0开始]Parent(i): return i/2Left(i): return 2*i+1Right(i): return 2*i+22.使下标i元素为根的的子树成为最大堆MAX_HEAPIFY(

2013-11-16 14:28:40 989

原创 (二)合并排序

/*************************************分治策略:将原问题划分成n个规模较小而结构与原问题相似的子问题; 递归地解决这些子问题,然后再合并其结果,得到原问题的解。分治模式三部曲:分解、解决、合并。合并排序伪代码(使用哨兵):merge(A,p,q,r): n1 <—— q-p+1 n2 <—— r-q cre

2013-11-16 14:27:50 1055

原创 (一)插入排序

/*******************************************算法一:插入排序算法伪代码:insert_sort(A): for j <—— 1 to length[A]-1 do key <—— A[j] //insert A[j] into the sorted sequence A[1...j-1]

2013-11-16 14:27:02 1232

原创 Linux网络编程(二)

采用多进程的方式实现服务器的并发访问。程序实现功能:1.客户端从标准输入读入一行文字,发送到服务器                   2.服务器接收到客户端发来的文字后,原样返回给客户端                   3.客户端接收到服务器的发来的文字后,输出到标准输出。 服务器端过程:建立好监听套接字后,等待客户端的连接,接收到一个连接后,创建一个子进程来与客户端进行

2013-10-30 08:29:18 1014

原创 Linux内核中链表实现

关于双链表实现,一般教科书上定义一个双向链表节点的方法如下:struct list_node{stuct list_node *pre;stuct list_node *next;ElemType data; }即一个链表节点包含:一个指向前向节点的指针、一个指向后续节点的指针,以及数据域共三部分。但查看linux内核代码中的list实现时,会发现其与教科书上的方法有很

2013-10-29 09:05:03 1269

原创 linux网络编程(一)

一.概念介绍网络程序分为服务端程序和客户端程序。服务端即提供服务的一方,客户端为请求服务的一方。但实际情况是有些程序的客户端、服务器端角色不是这么明显,即互为客户端和服务端。我们编写网络程序时,一般是基于TCP协议或者UDP协议进行网络通信的。TCP:(Transfer Control Protocol)传输控制协议是一种面向连接的协议, 当我们的网络程序使用这个协议的时候,网络可以保

2013-10-26 13:13:11 921

原创 2-5 求有环链表的环入口节点(证明及代码)

【链表】Q:Given a circular linked list, implement an algorithm which returns node at the begin-ning of the loop  DEFINITION Circular linked list: A (corrupt) linked list in which a node’s next poi

2013-10-20 11:07:01 2105

原创 [google面试CTCI] 2-4 计算两个单链表所代表的数之和

【链表】Q:You have two numbers represented by a linked list, where each node contains a single digit. The digits are stored in reverse order, such that the 1’s digit is at the head of the list. Write a

2013-10-20 10:06:20 1147

原创 [google面试CTCI] 2-3 只给定链表中间节点指针,如何删除中间节点?

【链表】Q:Implement an algorithm to delete a node in the middle of a single linked list, givenonly access to that node EXAMPLEInput: the node ‘c’ from the linked list a->b->c->d->eResult: noth

2013-10-20 09:26:06 990

原创 [google面试CTCI] 2-2 找出链表的倒数第n个节点元素

【链表】Q:Implement an algorithm to find the nth to last element of a singly  linked list .题目:找出链表的倒数第n个节点元素。解答: 方法一:利用两个指针p,q,首先将q往链表尾部移动n位,然后再将p、q一起往后移,那么当q达到链表尾部时,p即指向链表的倒数第n个节点。node* f

2013-10-20 09:24:43 1377

原创 [google面试CTCI] 2-1.移除链表中重复元素

【链表】Q:Write code to remove duplicates from an unsorted linked list     FOLLOW UP      How would you solve this problem if a temporary buffer is not allowed?题目:编码实现从无序链表中移除重复项。         如果不能

2013-10-20 09:22:23 1319

原创 [google面试CTCI] 2-0.链表的创建

创建链表、往链表中插入数据、删除数据等操作,以单链表为例。 1.使用C语言创建一个链表:typedefstruct nd{ int data;struct nd* next; } node;//初始化得到一个链表头节点node* init(void){node* head=(node*)malloc(sizeof(node));if(head

2013-10-20 09:21:23 792

原创 [google面试CTCI] 1-8.判断子字符串

【字符串与数组】Q:Assume you have a method isSubstring which checks if one word is a substring of another Given two strings, s1 and s2, write code to check if s2 is a rotation of s1 usingonly one call t

2013-10-19 11:27:16 982

原创 [google面试CTCI] 1-7.将矩阵中特定行、列置0

【字符串与数组】Q:Write an algorithm such that if an element in an MxN matrix is 0, its entire row andcolumn is set to 0.题目:写一个算法,如果一个 MxN矩阵中某个元素为0,则将该元素所在的行、列都置为0.解答:方法一:错误的解法,思维误区。依次遍历二维数组(矩

2013-10-19 11:20:05 943

原创 [google面试CTCI] 1-6.图像旋转问题

【字符串与数组】Q:Given an image represented by an NxN matrix, where each pixel in the image is 4bytes, write a method to rotate the image by 90 degrees Can you do this in place?题目:假定一幅图像能用NxN的矩阵表示,每个

2013-10-19 11:19:46 1210

原创 [google面试CTCI] 1-5.替换字符串中特定字符

【字符串与数组】Q:Write a method to replace all spaces in a string with ‘%20’题目:写一个算法将一个字符串中的空格替换成%20解答:很直观的解法,首先统计出字符串中空格个数,然后分配新的内存空间,依次从头到尾复制原字符串到新字符串中,遇到空格,则复制%20这三个字符。还有没有其他更好点的方法呢??char* r

2013-10-19 11:19:23 866

原创 [google面试CTCI] 1-4.判断两个字符串是否由相同字符组成

【字符串与数组】Q:Write a method to decide if two strings are anagrams or not题目:写一个算法来判断两个字符串是否为换位字符串。(换位字符串是指组成字符串的字符相同,但位置不同)解答: 方法一:假设为ascii2码字符串,那么可以分配两个256大小的int数组,每个数组用于统计一个字符串各个字符出现的次数,

2013-10-19 10:38:17 1189

原创 [google面试CTCI]1-3.字符串去重

【字符串与数组】Q:Design an algorithm and write code to remove the duplicate characters in a stringwithout using any additional buffer NOTE: One or two additional variables are fineAn extra copy of

2013-10-19 10:30:09 4746

原创 [google面试CTCI] 1-2 逆转c风格字符串

【字符串与数组】Q:Write code to reverse a C-Style String (C-String means that “abcd” is represented asfive characters, including the null character )题目:将一个c风格字符串逆转(c风格字符串即以空字符结尾的字符串)。

2013-10-19 10:14:01 1089

zlib-1.2.8.tar.gz

nginx服务器 zlib库zlib-1.2.8.tar.gz

2013-10-26

pcre-8.30.tar.gz

nginx pcre,安装nginx可能需要安装的依赖库。nginx pcre

2013-10-26

ngix-1.0.15.tar.gz

ngix-1.0.15源码,web服务器方面的好资料,可以从中学到优秀的设计方法。

2013-10-26

linux编程实践教程

linux编程实践教程,能够很好的了解linux系统API,系统的一些数据结构,能够快速帮你更深入了解linux系统。

2013-09-21

linux常用命令全集

linux常用命令全集 方便速查 很好很强大哦 all for free

2013-09-21

ZedGraph源代码-最新版本

实实在在,官方最新版本的ZedGraph开源代码,能方便显示各种图像。饼状图、线条、实时曲线、历史曲线、炒股软件曲线绘制,必备良药

2013-03-20

ZedGraph 详细说明文档

ZedGraph 详细说明文档

2013-03-20

空空如也

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

TA关注的人

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