自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

转载 PHP7中Protobuf的安装使用

PHP7中Protobuf的安装使用 写这篇文章的缘由是最近在关注RPC框架序列化的一些原理。但是在安装Protobuf的时候,发现网上的教程都太老了,加上目前Protobuf官方已经支持PHP了,不再需要使用第三方插件了。 关于序列化和反序列化 在PRC框架中,数据的传输发生在客户端和服务端,而我们知道基于TCP协议最终传输的是二进制的0/1序列。所以,基于TCP传输协议的RPC服务自...

2017-09-12 00:53:00 291

转载 基础闯关记-二叉树递归和非递归遍历

二叉树的递归和非递归遍历 二叉树的遍历方式 由于二叉树不是线性结构,所以遍历方式可能有多样,二叉树的遍历方式一共有四种情况:先序遍历,中序遍历,后序遍历,层次遍历。所有的遍历都是从根节点出发 先序遍历 先序遍历的过程为: 访问根节点 先序遍历其左子树 先序遍历其右子树 先序遍历的先序可以理解为根先序,也就是优先访问根节点。这是一个递归定义,先根节点,然后左子树,然后右子树。下面这幅图...

2017-08-12 00:20:00 92

转载 基础闯关记-二叉搜索树

基础闯关记-二叉搜索树 树的定义 树:n(n>=0)个节点构成的有限集合。 当n=0是称为空树。 对于任何一棵非空树(n>0),它具备以下性质: 树种有一个称为根的特殊节点 其余节点又可分为m个互不相交的有限集合,其中每个集合本身又是一棵树,称为原来树的子树 比如下面就是一棵典型的树 注意,上面这幅图可以看出,树可以是多叉的,也可是有时二叉的,而二叉树因为独特的性质而被...

2017-08-07 01:32:00 81

转载 基础闯关记-线性表

线性表 什么是线性表 线性表的定义:线性表是n个具有相同特性的数据元素的有限序列。线性表是一种最简单,最基本,也是最常用的一种逻辑线性结构。 一个线性表通常记为:(A1,A2,A3 …… An)。其中n为表长;当n为0时,称为空表。 线性表的存储方式 注意,线性表是一种逻辑线性结构,所以我们的实现只要保证逻辑上是线性就可以。有两种存储方式 顺序存储 顺序存储方式:在物理内存上利用一片连续...

2017-08-06 23:31:00 92

转载 基础闯关记-基数排序

基数排序 如果要问排序哪家快,那一定是基数排序,在线性时间内即可完成排序。在了解基数排序之前,我们先了解一下基础排序的低配版-桶排序。桶排序是一种典型的空间换时间的排序方法,小规模排序(比如1-100分数排序)是可以靠桶排序完成的,所以我们先介绍桶排序,然后看看桶排序的缺点,最后介绍基数排序 桶排序 桶排序很简单,首先按照待排序数组中最大的数申请多少个桶。比如排序5 1 2 5 3需要申...

2017-06-26 00:18:00 115

转载 基础闯关记-快速排序

快速排序 快速排序基本思想 快速排序的基本思想就是分治法,就是将一个大的数组按照某一中间值分成两个子集,一组是每个元素都大于中间值,另一组是每个元素都小于中间值,然后递归调用该过程,最后可完成排序。步骤: 1、先从数列中取出一个数作为基准数,可以是第一个元素或最后一个元素。 2、分两个子集,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边。 3、再对左右子集间重复第二步...

2017-06-22 17:00:00 80

转载 基础闯关记-堆排序

堆排序 堆排序,毫无以为,是在堆的数据结构上进行排序,注意,我们这里谈论的堆是二叉堆。所以首先了解二叉堆,然后在二叉堆的基础上排序是很容易的一件事情。 什么是二叉堆 二叉堆的结构就是完全二叉树或者近似完全二叉树。在二叉树的结构上保持一定的有序性就是二叉堆,根据这种有序性的不同,分为最大堆和最小堆 最大堆:任一节点的关键字是其子树所有节点的最大值 最小堆:任一节点的关键字是其子树所有节点的...

2017-06-20 20:15:00 54

转载 从CGI到FastCGI到PHP-FPM

从CGI到FastCGI到PHP-FPM 背景 笔者在学习这几个名词的时候,也是被百度到的相关文章迷惑。涉及到的主要名词包括 1. CGI协议 2. CGI脚本 3. PHP-CGI 4. FastCGI协议 5. PHP-FPM 要真正理解这些名词,如果我们硬生生的解释,也很难记住。我们可以从web服务器开发的历程来看,看看他们为什么会出现,以及他们解决了什么问题。 早些年的简单服务器...

2017-06-08 02:09:00 297

转载 Nginx开发HTTP模块入门

Nginx开发HTTP模块入门 我们以一个最简单的Hello World模块为例,学习Nginx的模块编写。假设我们的模块在nginx配置文件中的指令名称为hello_world,那我们就可以在nginx.conf文件中配置这个指令 location / { hello_world; } 这样,当我们访问首页的时候就会执行hello_world指令,输出Hello World。...

2017-06-03 23:20:00 81

转载 Memcache入门

Memcache入门 memcached介绍 memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,memcached自管理这些HashTable。为什么会有M...

2017-06-03 17:34:00 103

空空如也

空空如也

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

TA关注的人

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