自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 动态规划:最长子序列

使用动态规划求解最长子序列

2015-12-16 18:43:29 196

原创 动态规划:最长连续字串

使用动态规划解决最长连续字串问题

2015-12-16 08:28:46 149

原创 Linux动态链接库的使用

Linux动态链接库的使用

2015-12-15 17:08:38 315

原创 Makefile的使用

Makefile的使用

2015-12-15 17:01:02 366

原创 GCC的使用

GCC的使用

2015-12-15 16:52:48 305

原创 简单的一些字符串实现函数

字符串实现函数

2015-08-15 19:40:00 271

原创 二叉树的遍历

二叉树

2015-08-12 20:41:09 263

原创 两种常用的队列

单链队列跟循环队列

2015-08-12 20:41:06 543

原创 栈的实现与应用

顺序栈的实现,使用顺序栈解决进制转换问题跟迷宫求解问题

2015-08-12 20:41:04 271

原创 线性表

线性表

2015-08-12 20:41:02 313

原创 Nginx实现虚拟主机

Nginx实现虚拟主机

2015-08-12 20:40:59 284

原创 将apache添加到服务

将apache添加到服务

2015-08-12 20:40:56 394

原创 apache安装

apache安装

2015-08-12 20:40:54 240

原创 最小生成树

一个例子在电子电路设计中,我们常常需要将多个组件的针脚连接在一起。要连接n个针脚,我们可以使用n-1根连线,每根连线连接两个针脚。显然,我们希望所使用的连线长度最短。我们可以将上述问题用一个连通无向图G=(V,E)来表示,这里V是针脚的集合,E是针脚之间可能连接,每条边的权重代表两个针脚间连线的长度。我们希望找到E的一个无环子集T(必为一棵树),既能够将所有针脚连接起来,又具有最小权重

2015-08-12 20:40:52 284

原创 图的深度优先搜索

深度优先搜索所使用的策略就像其名字所隐含的:只要可能,就在图中尽量”深入“。深度优先搜索的步骤如下:1.访问图中的任一结点后,访问它的任一邻接结点w12.从w1出发,访问与w1邻接但还没有访问过的结点w2(向下深入)3.重复过程2(如果当前访问的结点不能”向下深入“,则回退到上一结点,访问它另外一个邻接结点)知道所有结点都被访问过为止。  深度优先搜索算法与广度优先

2015-08-12 20:40:49 372

原创 图的广度优先遍历

广度优先遍历是最简单的图搜索算法之一,也是许多重要的图算法的模型。 图的表示对于图G=(V,E)(V代表图中结点的集合,E代表图中所有边的集合),可以用两种标准表示方法表示:1.将图作为邻接链表的组合对于图G=(V,E),其邻接链表表示由一个包含|V|条链表的数组Adj构成。对于每个结点u∈V,邻接链表Adj[u]包含图G中所有与u邻接的结点 2.将图作为邻接矩阵来

2015-08-12 20:40:47 553

原创 动态规划

动态规划与分治法的区别动态规划与分治法相似,都是通过组合子问题的解来求解原问题。分治法将问题划分为互不相交的子问题,递归地求解子问题,再将它们的解组合起来,求出原问题的解。与之相反,动态规划应用于子问题重叠的情况。这种情况下,分治算法会反复地求解相同的子问题,而动态规划算法会将这些重复子问题的解保存起来(通常使用数组),避免不必要的计算工作。 动态规划算法的步骤我们通常按如

2015-08-12 20:40:42 465

原创 红黑树

之前介绍了二叉搜索树。它的操作的时间复杂度跟树的高度有关,如果树的高度较高的时候,这些集合操作可能并不比在链表执行得快。红黑树是许多“平衡”搜索树的一种,可以保证在最坏情况下基本动态集合操作的时间复杂度为O(lgn)。  红黑树的性质红黑树是一棵二叉搜索树,它在每个结点上增加了一个存储位来表示结点的颜色,可以是RED和BLACK。通过对各个结点的颜色进行约束,红黑树确保没有

2015-08-12 20:40:40 320

原创 二叉搜索树

基本概念二叉搜索树是以一棵二叉树来组织的。这样的一棵树可以使用一个链表数据结构来表示:其中每个节点就是一个对象,除了key和data之外,每个节点还包含left、right和p属性,分别指向节点的左孩子、右孩子和双亲。二叉搜索树的性质:对于任何结点x,其左子树中的关键字最大不超过x.key,其右子树的关键字最小不低于x.key。二叉搜索树性质允许我们通过一个简单的递归算法来按序输出

2015-08-12 20:40:37 293

原创 散列表

基本概念散列表是普通数组概念的推广。对于普通数组可以直接寻址(根据下标),使得能在O(1)时间内访问数组中的任意位置。如果存储空间允许,我们可以提供一个数组,为每个可能的关键字保留一个位置,以利用直接寻址技术的优势。当实际存储的关键字数目比全部的可能关键字总数要小时,采用散列表就成为直接数组寻址的一种代替。在散列表中,不是直接把关键字作为数组的下标,而是根据关键字计算出相应的下标。

2015-08-12 20:40:35 281

原创 快速排序

快速排序的思想跟实现

2015-08-12 20:40:32 156

原创 堆排序

堆排序的思想跟实现

2015-08-12 20:40:30 238

原创 归并排序

归并排序的思想跟实现

2015-08-12 20:40:28 234

原创 Nginx安装

Nginx的安装

2015-08-12 20:31:03 233

原创 UNP学习笔记(第二十六章 线程)

线程有时称为轻权进程(lightweight process)同一进程内的所有线程共享相同的全局内存。这使得线程之间易于共享信息,然后这样也会带来同步的问题同一进程内的所有线程处理共享全局变量外还共享:1.进程指令2.大多数数据3.打开的文件(即描述符)4.信号处理函数和信号处置5.当前工作目录6.用户ID和组ID不过每个线程有各自的:1.线程ID2.寄

2015-08-12 20:30:56 316

原创 UNP学习笔记(第十七章 ioctl操作)

ioctl相当于一个杂物箱,它一直作为那些不适合归入其他精细定义类别的特性的系统接口。本章笔记先放着,到时候有需要再看  ioctl函数#include int ioctl(int fd,int request,.../* void *arg */);其中第三个参数总是一个指针,但指针的类型依赖于request参数。我们可以把网络相关的请求(request)

2015-08-12 20:30:12 259

原创 UNP学习笔记(第十六章 非阻塞I/O)

套接字的默认状态时阻塞的可能阻塞的套接字调用可分为以下4类:1.输入操作,包括read、readv、recv、recvfrom和recvmsg。2.输入操作,包括write、writev、send、sendto和sendmsg。3.接受外来连接,即accept函数。4.发起外出连接,即用于TCP的connect函数(该函数一直要等到客户收到对于自己的SYN的ACK为止才返回)

2015-08-12 20:30:09 287

原创 UNP学习笔记(第十五章 UNIX域协议)

UNIX域协议是在单个主机上执行客户/服务器通信的一种方法使用UNIX域套接字有以下3个理由:1.UNIX域套接字往往比通信两端位于同一个主机的TCP套接字快出一倍2.UNIX域套接字可用于在同一个主机上的不同进程之间传递描述符3.UNIX域套接字较新的实现把客户的凭证提供给服务器,从而能够提供额外的安全检查措施UNIX域中用于标识客户和服务器的协议地址是普通文件系统的路径名。

2015-08-12 20:30:06 259

原创 UNP学习笔记(第十四章 高级I/O函数)

本章讨论我们笼统地归为“高级I/O”的各个函数和技术 套接字超时有3种方法在涉及套接字的I/O操作上设置超时1.调用alarm,它在指定超时时期满时产生SIGALRM信号2.在select中阻塞等待I/O(select有内置的时间限制),以此代替直接阻塞在read或write调用上3.使用较新的SO_RCVTIMEO和SO_SNDTIMEO套接字选项。 使用SIGA

2015-08-12 20:30:04 334

原创 UNP学习笔记(第十三章 守护进程和inetd超级服务器)

关于守护进程可以查看apue的笔记 http://www.cnblogs.com/runnyu/p/4645046.html  daemon_init函数下面给出名为daemon_init函数,通过调用它(通常从服务器程序中),我们能够把一个普通进程转变为守护进程 1 #include "unp.h" 2 #include 3 4 #defi

2015-08-12 20:29:57 535

原创 UNP学习笔记(第十一章 名字与地址转换)

域名系统域名系统(Domain Name System,DNS)主要用于主机名字与IP地址之间的映射。主机名既可以是一个简单得名字,如solaris,也可以是一个全限定域名,如solaris.unpbook.com。 资源记录DNS中的条目称为资源记录(resource record,RR) A记录把一个主机名映射成一个32位的IPv4的地址。AAAA记录把一个

2015-08-12 20:29:54 376

原创 UNP学习笔记(第八章 基本UDP套接字编程)

UDP应用程序客户不与服务器建立连接,而是只管使用sendto函数给服务器发送数据报,其中必须指定目的地的地址作为参数。下图给出典型的UDP客户/服务器程序的函数调用。    recvfrom和sendto函数这两个函数类似于标准的read和write函数,不过需要3个额外的参数#include ssize_t recvfrom(int sockfd,

2015-08-12 20:29:50 434

原创 UNP学习笔记(第七章 套接字选项)

有多种方法获取和设置影响套接字的选项:1.getsockopt和setsockopt函数2.fcntl函数3.ioctl函数   getsockopt和setsockopt函数这两个函数仅用于套接字#include int getsockopt(int sockfd,int level,int option,void *restrict optval,s

2015-08-12 20:29:47 281

原创 UNP学习笔记(第七章 套接字选项)

有多种方法获取和设置影响套接字的选项:1.getsockopt和setsockopt函数2.fcntl函数3.ioctl函数   getsockopt和setsockopt函数这两个函数仅用于套接字#include int getsockopt(int sockfd,int level,int option,void *restrict optval,s

2015-08-12 20:29:18 305

原创 UNP学习笔记(第四章 基本TCP套接字编程)

本章讲解编写一个完整的TCP客户/服务器程序所需要的基本套接字函数。  socket函数#include int socket(int family,int type,int protocol); //返回:成功则为非负描述符,若出错则为-1family参数指明协议族,它是如下某个常值type参数指明套接字类型,它是如下某个常值

2015-08-12 20:29:07 397

原创 UNP学习笔记(第二章:传输层)

本章的焦点是传输层,包括TCP、UDP和SCTP。绝大多数客户/服务器网络应用使用TCP或UDP。SCTP是一个较新的协议。UDP是一个简单的、不可靠的数据报协议。而TCP是一个复杂、可靠的字节流协议。这里重点放在TCP中。  用户数据报协议(UNP)应用程序往UDP套接字写入一个消息,该消息随后被封装到一个UDP数据报,该UDP数据报进而又被封装到一个IP数据报,然后

2015-08-12 20:29:02 287

原创 UNP学习笔记(第一章 简介)

环境搭建1.下载解压unpv13e.tar.gz2.进入目录执行./configurecd lib //进入lib目录make //执行make命令3.将生成的libunp.a静态库复制到/usr/lib/和/usr/lib64/中  cd .. //返回unpv13e目录sudo cp libunp.a /usr/lib sudo cp li

2015-08-12 20:28:57 367

原创 TCP/IP详解 卷一(第七、八章 Ping、Traceroute程序)

Ping程序Ping程序由Mike Muuss编写,目的是为了测试另一台主机是否可达。该程序发送一份ICMP回显请求报文给主句,并等待返回ICMP回显应答。ping程序还能测出到这台主机的往返时间 Traceroute程序Traceroute程序是一个能更深入探索TCP/IP协议的方便可用的工具Traceroute程序可以让我们看到IP数据报从一台主机传到另一台主机

2015-08-12 20:28:55 294

原创 TCP/IP详解 卷一(第六章 ICMP:Internet控制报文协议)

ICMP是(Internet Control Message Protocol)Internet控制报文协议。用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。  ICMP报文通常被IP层或更高层协议使用。ICMP报文是IP数据报内部被传输的ICMP报文的格式如下图所示   ICMP报文的类型

2015-08-12 20:28:53 407

原创 TCP/IP详解 卷一(第四、五章 ARP、RARP)

数据链路如 以太网都有自己的寻址机制(MAC)地址,而IP层使用的是IP地址。当一台主机把以太网数据发送定位于同一局域网上的另一台主机时,是根据MAC地址来确定目的接口的。设备驱动程序从不检查IP数据报中的目的IP地址。地址解析为这两种不同的地址形式提供映射。  一个例子当我们键入下面这个形式的命令:都会进行以下的步骤: (1) 应用程序FTP客户端

2015-08-12 20:28:50 272

空空如也

空空如也

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

TA关注的人

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