摘要: 9.1 背景 虚拟地址空间:进程在内存中存放的逻辑视图。如图所示。 虚拟内存:是一种内存管理技术,它会使程序自己认为自己拥有一块很大且连续的内存,然而,这个程序在内存中不是连续的,并且有些还会在磁盘上,在需要时进行数据交换 。 允许随着动态内存分配,堆向上生长;允许随着子程序的不断调用,栈向下生长。 阅读全文
posted @ 2018-08-05 16:18 花花与小叮当 阅读(1676) 评论(0) 推荐(1) 编辑
摘要: 第四章 连接 没有看好,需要回过头再看 4.1 static修饰符 第五章 库函数 暂且跳过 第六章 预处理器(宏的总结) 6.1 宏定义中不能有空格 但是调用不受空格影响 6.2 宏非函数,建议定义时把变量与整体用括号括起来,这样更加安全,例如: 同时,不要使用类似 这样方式,因为这样a++可能执 阅读全文
posted @ 2018-08-03 14:13 花花与小叮当 阅读(118) 评论(0) 推荐(0) 编辑
摘要: https://blog.csdn.net/nawuyao/article/details/52703384 一个非常好的总结:https://www.jianshu.com/p/d254b138de03 内存方面的概念总结:https://blog.csdn.net/oMengLiShuiXian 阅读全文
posted @ 2018-08-01 15:48 花花与小叮当 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 这里先将搜集到的题目列出来,日后一一精细得写完。 https://blog.csdn.net/u013408431/article/details/62442670 https://blog.csdn.net/tzs_1041218129/article/details/52134226 https 阅读全文
posted @ 2018-08-01 15:32 花花与小叮当 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 2018年8月30日补充: 看了普林斯顿算法中关于堆的实现,感觉更加形象生动,补充如下: 堆排序是我们所知的唯一能够同时最优地利用空间和时间的方法 在最坏的情况下也能保证使用2NlgN次比较和恒定的额外空间。 复杂度分析:O(nlogn):第一个for循环,初始化堆,为O(n),第二个for循环为O 阅读全文
posted @ 2018-08-01 15:09 花花与小叮当 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 直接选择排序和直接插入排序类似,都将数据分为有序区和无序区,所不同的是直接播放排序是将无序区的第一个元素直接插入到有序区以形成一个更大的有序区,而直接选择排序是从无序区选一个最小的元素直接放到有序区的最后。 设数组为a[0…n-1]。 1. 初始时,数组全为无序区为a[0..n-1]。令i=0 2. 阅读全文
posted @ 2018-08-01 13:12 花花与小叮当 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2018-08-01 12:18 花花与小叮当 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 该方法的基本思想是:先将整个待排元素序列分割成若干个子序列(由相隔某个“增量”的元素组成的)分别进行直接插入排序,然后依次缩减增量再进行排序,待整个序列中的元素基本有序(增量足够小)时,再对全体元素进行一次直接插入排序。因为直接插入排序在元素基本有序的情况下(接近最好情况),效率是很高的,因此希尔排 阅读全文
posted @ 2018-08-01 10:36 花花与小叮当 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 第三章 3.1 指针与数组 理解: 3.2 非数组的指针 3.3 作为参数的数组说明 考察char amessage[] 与 char *pmessage的区别: 3.5 空指针并非空字符串 #define NULL 0 注意:当常数0被转换为指针使用时,不可以解除引用。 eg: 因为strcmp会 阅读全文
posted @ 2018-07-31 14:25 花花与小叮当 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 一 I/O模型 1.1 阻塞式I/O模型 1.2 非阻塞式I/O模型 1.3 I/O复用模型 二 select函数 参数说明: 1.timeout: (1)设为NULL时,永远等待;(2)等待一段固定时间;(3)设为(struct timeval)0,不等待,检查描述符后立即返回。Ps:const 阅读全文
posted @ 2018-07-31 11:03 花花与小叮当 阅读(181) 评论(0) 推荐(0) 编辑