CSAPP 第二章 信息的表示和处理 信息的表示和处理 信息的表示和处理 编码 无符号(Unsigned)数的编码 补码(Two's-complement)数的编码 其他编码方式 反码(Ones'Complement)编码 原码(Sign-Magnitude)编码 无符号数与补码数的转换 补码转无符号 无符号转补码 拓展一个数字的位表示 无符号的拓展 补码数的拓展 截断数 CSAPP #CSAPP
CSAPP 第三章 程序的机器级表示 程序的机器级表示 程序的机器级表示 数据格式 & 访问信息 数据格式 访问信息 操作数指示符 指令 & 算术和逻辑操作 & 控制 数据传送指令 数据传送之于指针 数据传送之于转型 压栈与出栈 算术和逻辑操作 基本操作 特殊操作 控制 条件控制 访问条件码 字节设置 条件跳转 基于条件 CSAPP #CSAPP
快速排序算法分析及其改进 基本算法 快排也是一种分治算法,所谓分治,也就是将大问题不断切分成小问题进而着眼于小问题的解决 我们在讨论归并排序的时候,我们是从小数组着手。我们不断地将小数组排序,再对有序的两个小数组组合成一个大的有序的数组。这种思想可以说是从分治的角度去考虑问题时一个最容易想到的(快排这个还真不一定那么容易想到,至少我是这么认为的) 快排的思想是,不断地对数组进行切分,切分得到的两个部分当中的数,有: Algorithm 4 #Algorithm 4
归并排序及其分析 归并排序 该排序的算法思想基于这样一个事实——不断将两个「小的」「有序的」的数组归并成一个「大的」「有序的」的数组,这是分治思想的一个典型应用 可以看到,该排序可以通过递归来实现,并且它一定会有两种基本实现:自顶向下、自底向上 原地归并的抽象方法 由于需要将两个小的、有序的数组合并成一个大的、有序的数组,那么我们就必须要一个 merge 函数来实现这个过程。通过递归地不断调用该函 Algorithm 4 #Algorithm 4
选择、插入、希尔排序及其分析 说明 本文当中的所有排序算法均以类的形式给出,这个类当中还定义了两个基础函数 less 和 exch ,前者用于判断两个数是否满足小于的关系,后者用于交换两个数 我们所有的算法的讨论基础为升序排列 在研究排序算法的成本时,对于会交换元素的算法,我们关注的是比较次数和交换次数,对于不交换元素的算法,我们关注的是数组的访问次数 选择排序 选择排序可以说是排序里面最朴素的一种 Algorithm 4 #Algorithm 4
Union-Find 算法 问题描述 问题的输入是一对整数对,其中每个整数都表示某种类型的对象,一对整数 p q 可以被理解为「p 和 q 是相连的」,我们假设「相连」是一种等价关系,那么有: 自反性:p 和 p 相连 对称性:p 和 q 相连,q 和 p 也相连 传递性:p 和 q 相连且 q 和 r 相连,那么 p 和 r 也相连 显而易见这是「等价关系」的三条性质,我们通过「等价关系」可以将集合划 Algorithm 4 #Algorithm 4
Linux basic 关机重启 123456shutdown -h now //立刻关机shutdown -h 1 //1 分钟后关机shutdown -r now //现在重启halt //关机,与上面一样reboot //现在重启,与上面一样sync //将内存的数据同步到磁盘 用户登录和注销 登录 一般最好不要用 root 登录,因为这东 Misc #Linux
RTTI 概述 RTTI 是运行阶段类型识别(Runtime Type Identification)的简称,其目的是为程序在运行阶段确定对象的类型提供一种标准 也就是说,RTTI 的用途就是为了在程序运行期间确定对象的类型 RTTI 只能用于包含虚函数的类层次结构,原因在于只有一个继承体系当中含义虚函数,将派生类对象赋值给基类指针这件事才有意义(话说回来,没有虚函数直接把派生类对象赋值给基类指 Misc #C++ Primer Plus
异常 异常 程序几乎不可避免地会出现异常,就比如你写了一个除法程序,保不齐会有人手贱非得去试一下分母为 0 会发生什么事情。因此应当异常就显得尤为重要。 异常应当的方式有三种,前两种分别是:调用 abort 强行退出、返回错误码。这两个,emmmm,说实话,没啥技术含量,我们跳过。 我们着重看通过异常机制来处理异常 异常机制 异常提供了将控制权从程序的一个部分传递到另一个部分的途径。C++ Misc #C++ Primer Plus
小林图解网络笔记 TCP/IP 网络模型有哪几层 由于设备的类型是多种多样的,因此在不同的设备间进行通信需要协商出一套通用的网络协议。 该网络协议是分层的,对于 TCP/IP 协议而言,从上到下分为:应用层、传输层、网络层、网络接口层。 这些分层都是理论模型,并不涉及具体的硬件实现 应用层 应用层为最上层,我们所使用的软件都是在应用层实现的。 当两台设备需要传输数据时,应用层只需要把数据传输给下一层, Misc #Computer network