会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
江雨牧
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
5
6
7
8
9
10
下一页
2020年2月4日
最小生成树
摘要: 一个无向图G的最小生成树是由该图的那些连接G的所有顶点的边构成的树,且其总价值(边的权值的和)最低。 用Prim算法实现最小生成树 先把图看作许多个零散的顶点,顶点之间无联系,然后选一个作为树的开始顶点。算法的每一阶段都通过选择边(u,v),使得(u,v)的值是所有u在树上但v不在树上的边中的最小者
阅读全文
posted @ 2020-02-04 13:40 江雨牧
阅读(202)
评论(0)
推荐(0)
2020年2月1日
Dijkstra算法
摘要: 假设开始结点为v1,则v1先标记为已知(known=1),路径长为0,v1已知后,需要对某些表项进行调整,邻接v1的是v2和v4,调整其距离dv和路径pv。先选取v4(因为路径更短)并标记为已知,v4邻接顶点是v3、v5、v6、v7,对其距离和路径进行调整。接着选择v2,标记为已知,v4是邻接点但已
阅读全文
posted @ 2020-02-01 12:30 江雨牧
阅读(201)
评论(0)
推荐(0)
2020年1月29日
拓扑排序
摘要: 拓扑排序是对有向无圈图的一种排序,它使得如果存在一条从vi到vj的路径,那么在排序中vj出现在vi后面。 首先,对每一个顶点计算它的入度,记录在一个数组中,然后,将所有入度为0的顶点放入一个初始为空的队列中。当队列不空时,删除一个顶点v,并将与v邻接的所有的顶点的入度减1,只要一个顶点的入度降为0,
阅读全文
posted @ 2020-01-29 12:01 江雨牧
阅读(139)
评论(0)
推荐(0)
2020年1月28日
用邻接矩阵和邻接表创建图
摘要: 1 #include <iostream> 2 using namespace std; 3 4 #define INFINITY 65536//无穷大 5 #define MAX_VERTEX_NUM 10//最大顶点个数 6 typedef enum{DG,DN,UDG,UDN}GraphKin
阅读全文
posted @ 2020-01-28 15:22 江雨牧
阅读(1024)
评论(0)
推荐(0)
排序
摘要: 1 #include <iostream>、 2 using namespace std; 3 4 //插入排序 5 void insert_sort(int data[],int n) 6 { 7 int i, j,tmp; 8 for (int i = 1; i < n; i++)//进行n-1
阅读全文
posted @ 2020-01-28 10:31 江雨牧
阅读(127)
评论(0)
推荐(0)
2020年1月16日
优先队列(堆)
摘要: 二叉堆 性质 1)结构性质 二叉堆是完全二叉树,完全二叉树的结点编号是有规律的,可以用数组来表示。从i=1开始放置元素(i=0用于放置一个比堆中所有元素都大/小的值,作为标志),对于数组i上的元素,其左儿子在位置2i上,右儿子在2i+1上,其父亲则在i/2上 2)堆序性 使操作被快速执行的性质,由于
阅读全文
posted @ 2020-01-16 13:34 江雨牧
阅读(152)
评论(0)
推荐(0)
2020年1月12日
散列
摘要: 以下为学习笔记 散列的插入、删除、查找时间为O(1),因为其不是像树一样通过比较来进行上面的操作,而是直接进行。 理想的散列表结构:一个包含有关键字的具有固定大小的数组。 表的大小记为TableSize,index从0到TableSize-1。 散列函数 (1)散列函数:每个关键字通过散列函数映射到
阅读全文
posted @ 2020-01-12 11:49 江雨牧
阅读(286)
评论(0)
推荐(0)
2020年1月10日
伸展树的C语言实现
摘要: 当一个结点被访问时,它很可能不久再被访问到,伸展树就是为了达到这个目的的,其基本想法是通过一系列AVL树的旋转使被访问的结点被放到根上。如果这个结点很深,那么其路径上的许多结点也相对较深,通过重新构造可以使对这些结点的进一步访问花费的时间减少。 代码如下: 1 #include <iostream>
阅读全文
posted @ 2020-01-10 21:54 江雨牧
阅读(329)
评论(0)
推荐(0)
2020年1月9日
树的实现
摘要: 二叉树 代码如下: 1 #include <iostream> 2 #include <stdlib.h> 3 #include <vector> 4 using namespace std; 5 6 7 struct BiTreeNode 8 { 9 int data; 10 struct BiT
阅读全文
posted @ 2020-01-09 15:23 江雨牧
阅读(402)
评论(0)
推荐(0)
2020年1月5日
Josephus问题的实现
摘要: 问题的描述 N个人,编号为1~N,从第一个人开始报数到M,报到M的人移除,剩下的人从被移除的人后面继续从一到M报数,报到M的移除,依次类推,求依次被移除的人的编号。 方法一 使用队列来解决。 因为我们处理的是n个元素里面的第m个元素,如果每次从队列里一边取元素,一边又加到队列的末尾,数到第m的时候,
阅读全文
posted @ 2020-01-05 12:54 江雨牧
阅读(177)
评论(0)
推荐(0)
上一页
1
···
5
6
7
8
9
10
下一页
公告