随笔分类 -  选修课程-数据结构

摘要:归并排序是一个稳定的排序算法 核心思路为:不断地将两个有序序列合并为一个更长的有序序列 现将长度为1的相邻子序列合并,然后长度为2的,长度为4的,直到整个序列被合并。 #include<iostream> #include<cstdio> #include<cmath> #include<mallo 阅读全文
posted @ 2021-12-22 14:51 浪矢-CL 阅读(27) 评论(0) 推荐(0) 编辑
摘要:堆排序是个不稳定的算法 堆排序的思路就是不断维护一个大根堆(或者小根堆),然后不断把堆顶元素拿出来(当然拿出来之后还需要维护),就可以得到一个有序序列。 1,根据所给序列建立一个大根堆。 2,从大根堆中拿出根元素(此时打破了堆的结构,需要对堆进行维护,即使得剩下的元素满足堆的要求)。 3,不断重复步 阅读全文
posted @ 2021-12-22 14:34 浪矢-CL 阅读(38) 评论(0) 推荐(0) 编辑
摘要:AOE网(activity on edge network):在带权有向图中,用顶点表示事件,用有向边表示活动。边权表示活动的持续时间。 源点,终点:AOE图中有唯一的源点和终点,表示活动的开始与终结。 关键路径:所有的活动都完成时整个工程所花费的时间,其实也就是源点到终点的最长路径,该最长路径被称 阅读全文
posted @ 2021-12-01 15:18 浪矢-CL 阅读(244) 评论(0) 推荐(0) 编辑
摘要:提供了邻接表结构体的标准类型; 以及基于该类型结构体的深搜函数; void CreateAdj(AdjGraph *&G) { //创建图的邻接表 int i,j; int n; int A[MAXN][MAXN]; printf("请输入矩阵的阶数:\n"); scanf("%d",&n); pr 阅读全文
posted @ 2021-11-17 14:12 浪矢-CL 阅读(67) 评论(0) 推荐(0) 编辑
摘要:让使用频率高的(权值高)节点离根部更近,生成一个哈夫曼树。 具体算法为:1输入各节点权重,把每一个节点当成一课子树,从而得到一片森林 2从森林中寻找权值最小的两棵树,把他们合并为一课新的树,树的权值为原来这两棵子树的权值之和 3不断进行第二步,直到把森林合并为一个树时停止 这样就可以生成一棵哈夫曼树 阅读全文
posted @ 2021-11-10 15:18 浪矢-CL 阅读(58) 评论(0) 推荐(0) 编辑
摘要:根据二叉树的中序序列+前序序列 可以唯一确定一个二叉树,这里给出了构造方法。 阅读全文
posted @ 2021-11-03 15:10 浪矢-CL 阅读(452) 评论(0) 推荐(0) 编辑
摘要:稀疏矩阵压缩了储存空间。但在进行运算的时候却没有原矩阵这样方便。 其中,data[0].row data[0].col 储存该矩阵的行和列。 另外,其实在三元数组储存的时候,该程序是默认输入的时候行优先的格式。否则就会出现这种不识别的情况,如果想兼容性强一点,就预先排个序。 在用三元组储存稀疏矩阵的 阅读全文
posted @ 2021-10-27 15:20 浪矢-CL 阅读(214) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示