摘要:
计算机具有强大的功能。除了体现与计算机本身具有的计算能力外,其他的功能大多是基于与其他计算机联网提供的。 然而,计算机之间的联网不是一根网线就能解决嘛? 答案当然是否定的。实际上计算机间的交流过程十分复杂。 情况1: 一个小工作室几十台台电脑之间的互联也许只需要一个集线器(处于物理层)就可以了,每个 阅读全文
摘要:
归并排序是一个稳定的排序算法 核心思路为:不断地将两个有序序列合并为一个更长的有序序列 现将长度为1的相邻子序列合并,然后长度为2的,长度为4的,直到整个序列被合并。 #include<iostream> #include<cstdio> #include<cmath> #include<mallo 阅读全文
摘要:
堆排序是个不稳定的算法 堆排序的思路就是不断维护一个大根堆(或者小根堆),然后不断把堆顶元素拿出来(当然拿出来之后还需要维护),就可以得到一个有序序列。 1,根据所给序列建立一个大根堆。 2,从大根堆中拿出根元素(此时打破了堆的结构,需要对堆进行维护,即使得剩下的元素满足堆的要求)。 3,不断重复步 阅读全文
摘要:
排序算法的稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r[i]仍在r[j]之前,则称这种排序算法是稳定的;否则称为不稳定的。 对于不稳定的排序算法,只要举出一 阅读全文
摘要:
关于排序的两种算法,快速排序和希尔排序。 快速排序:快速排序有种分治的思想,即先选定一个基准,然后以此基准将整个序列分为两个子序列,小于基准的都放到前面,大于基准的都放到后面。 然后递归处理两个子序列,直到子序列长为1;算法时间复杂度为O(n*logn)。 希尔排序:希尔排序则比较巧妙,其思想为逐渐 阅读全文
摘要:
AOE网(activity on edge network):在带权有向图中,用顶点表示事件,用有向边表示活动。边权表示活动的持续时间。 源点,终点:AOE图中有唯一的源点和终点,表示活动的开始与终结。 关键路径:所有的活动都完成时整个工程所花费的时间,其实也就是源点到终点的最长路径,该最长路径被称 阅读全文
摘要:
提供了邻接表结构体的标准类型; 以及基于该类型结构体的深搜函数; void CreateAdj(AdjGraph *&G) { //创建图的邻接表 int i,j; int n; int A[MAXN][MAXN]; printf("请输入矩阵的阶数:\n"); scanf("%d",&n); pr 阅读全文
摘要:
让使用频率高的(权值高)节点离根部更近,生成一个哈夫曼树。 具体算法为:1输入各节点权重,把每一个节点当成一课子树,从而得到一片森林 2从森林中寻找权值最小的两棵树,把他们合并为一课新的树,树的权值为原来这两棵子树的权值之和 3不断进行第二步,直到把森林合并为一个树时停止 这样就可以生成一棵哈夫曼树 阅读全文
摘要:
根据二叉树的中序序列+前序序列 可以唯一确定一个二叉树,这里给出了构造方法。 阅读全文
摘要:
稀疏矩阵压缩了储存空间。但在进行运算的时候却没有原矩阵这样方便。 其中,data[0].row data[0].col 储存该矩阵的行和列。 另外,其实在三元数组储存的时候,该程序是默认输入的时候行优先的格式。否则就会出现这种不识别的情况,如果想兼容性强一点,就预先排个序。 在用三元组储存稀疏矩阵的 阅读全文