摘要: 线性表是最基本、最简单、也是最常用的一种数据结构。 线性表包含以下几种: (1)顺序存储:数组 (2)链式存储:单向链表,双向链表,循环单向链表,循环双向链表 (3)二者结合:静态链表 (3)栈和队列,因为栈和队列可以用数组或链表实现 阅读全文
posted @ 2018-03-01 23:17 蓝天飞翔的白云 阅读(153) 评论(0) 推荐(0) 编辑
摘要: select select能监控的描述符个数由内核中的FD_SETSIZE限制,仅为1024,这也是select最大的缺点,因为现在的服务器并发量远远不止1024。即使能重新编译内核改变FD_SETSIZE的值,但这并不能提高select的性能。 每次调用select都会线性扫描所有描述符的状态,在 阅读全文
posted @ 2018-03-01 20:30 蓝天飞翔的白云 阅读(436) 评论(0) 推荐(0) 编辑
摘要: TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP建立连接需要三次握手,释放连接需要四次握手。 1.TCP整个过程流程图 并且TCP整个过程可以看成是状态机 2.TCP建立过程(三次握手) TCP连接过程: 阅读全文
posted @ 2018-03-01 19:40 蓝天飞翔的白云 阅读(36561) 评论(0) 推荐(1) 编辑
摘要: 各种排序算法比较 各种常用排序算法 类别 排序方法 时间复杂度 空间复杂度 稳定性 复杂性 特点 最好 平均 最坏 辅助存储 简单 插入 排序 直接插入 O(N) O(N2) O(N2) O(1) 稳定 简单 希尔排序 O(N) O(N1.3) O(N2) O(1) 不稳定 复杂 选择 排序 直接选 阅读全文
posted @ 2018-03-01 16:00 蓝天飞翔的白云 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 1. 引入inline关键字的原因 在c/c++中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了inline修饰符,表示为内联函数。 栈空间就是指放置程序的局部数据(也就是函数内数据)的内存空间。 在系统下,栈空间是有限的,假如频繁大量的使用就会造成因栈空间不足而导致程序 阅读全文
posted @ 2018-03-01 15:47 蓝天飞翔的白云 阅读(151) 评论(0) 推荐(0) 编辑