摘要: 1.异常 异常是异常控制流的一种形式,它一部分由硬件实现,一部分由操作系统实现。异常是控制流的突变,用来响应处理器状态中的某些变化。状态变化称为事件,当有事件发生时,处理器会通过一张叫做异常表的跳转表,进行一个间接过程调用,到一个专门设计用来处理这类事件的异常处理程序。 异常类似于过程调用,但是异常 阅读全文
posted @ 2017-04-27 11:34 lineaar 阅读(358) 评论(0) 推荐(0) 编辑
摘要: 1.编译驱动程序的结构 编译驱动程序包括语言预处理器,编译器,汇编器和链接器,静态编译的过程如下: 链接器必须完成的两个任务是符号解析和重定位。符号解析的目的是将每个符号引用刚好和一个符号定义联系起来,因为代码节和数据节在编译时是从0地址开始的,所以链接器通过把每一个符号定义域存储器位置联系起来,并 阅读全文
posted @ 2017-04-26 15:01 lineaar 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2017-04-18 21:41 lineaar 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2017-04-18 21:33 lineaar 阅读(123) 评论(0) 推荐(0) 编辑
摘要: // prim.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include using namespace std; typedef int Vertex; #define NotAVertex 0 #define INF 65536 #define numOfVertex 4 //定义链表节点/////////////////... 阅读全文
posted @ 2017-04-18 17:30 lineaar 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 最小生成树是连接图中所有顶点代价最小的树,通用算法是对于最小生成树的一个顶点子集A,设全体顶点集合为V,则跨越集合{A,V-A}中最小的的边为安全边,可以加入到最小生成树中。 Kruskal算法采用了不相交的集合森林,把每一个顶点初始化为一个单元素的集合,我再定义了一个边的结构,用于连接两个不同的集 阅读全文
posted @ 2017-04-18 15:56 lineaar 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 在优先队列中,优先级高的元素先出队列。 标准库默认使用元素类型的<操作符来确定它们之间的优先级关系。优先队列的第一种用法,也是最常用的用法: priority_queue<int> qi; 通过<操作符可知在整数中元素大的优先级高。故示例1中输出结果为:9 6 5 3 2第二种方法:在示例1中,如果 阅读全文
posted @ 2017-04-18 10:31 lineaar 阅读(169) 评论(0) 推荐(0) 编辑
摘要: // disjoint_set.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #define noFind -1 using namespace std; typedef struct node *Position; typedef struct node *Head; //链表节点,对于头节点,key存放的的是链表的长度,普通节点... 阅读全文
posted @ 2017-04-17 19:03 lineaar 阅读(269) 评论(0) 推荐(0) 编辑
摘要: // Graph2.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include using namespace std; typedef int Vertex; #define NotAVertex 0 #define INF 65536 //定义链表节点//////////////////////////////////// t... 阅读全文
posted @ 2017-04-13 23:25 lineaar 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 硬币找零问题描述: 现存在一堆面值为 V1、V2、V3 … 个单位的硬币,问最少需要多少个硬币才能找出总值为 T 个单位的零钱?假设这一堆面值分别为 1、2、5、21、25 元,需要找出总值 T 为 63 元的零钱。 很明显,只要拿出 3 个 21 元的硬币就凑够了 63 元了。 基于上述动态规划的 阅读全文
posted @ 2017-04-09 22:20 lineaar 阅读(1149) 评论(0) 推荐(0) 编辑