自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (2)
  • 收藏
  • 关注

原创 如何获取leetcode的解题思路

leetcode的官网是https://leetcode.com/,但是由于服务器并不在国内,更推荐访问速度更快的国内官网https://leetcode-cn.com/来进行刷题。点击右上角的登录后就可以注册或者登录了。 需要注意的是这里注册的账号是和英文官网不互通的,但是英文官网上的账号数据可以迁移到中文官网。完成登录后,我们可以点击页面上方的题库进入题目列表。 ...

2018-07-29 15:07:22 378

原创 破圈法求最小生成树 代码

template int AdjGraph::CircleDFS() { int v=0,*Num,n=0; resetMark();/*重置所有顶点的标记*/ stack s; s.push(v); while(!s.empty()) { v=s.top(); s.pop(); n++; Mark[v]=1; /*将与v节点邻接的所有未访问的节点入栈,并将标记设为1*/

2012-12-17 22:08:30 5209

原创 等价类 代码实现

#include "StdAfx.h" #include "UFSets.h" #include using namespace std; void UFSets::swap(int& a,int& b) { int i; i=a; a=b; b=i; } UFSets::UFSets(int size) { n=size; root=new int[n

2012-12-16 20:02:56 2078

原创 关键路径 代码实现

template bool AdjGraph::ModifyTopSort(int VE[100],int SortArray1[100])//对图进行拓扑排序,获得各个顶点事件的最早发生时间,将序列存放在数组SortArray中 { int n=vertexNum; int indegree[100];//创建一个数组记录各个顶点的入度 int v; for(v=0;v { in

2012-12-16 19:59:39 771

原创 拓扑排序

template bool AdjGraph::TopologySort(int SortArray[100])//对有向图进行拓扑排序,将序列存放在数组SortArray中 { int n=vertexNum; int *indegree=new int[n];//创建一个数组记录各个顶点的入度 int v; for(v=0;v { indegree[v]=0; Mark[v]

2012-12-16 19:48:13 316

原创 Floyd算法

template void AdjGraph::Floyd(EdgeType Adj[100][100],int Path1[100][100])//求出任意两个点间的最短距离 { int v;//v记录相应顶点 int n=vertexNum; for(int i=0;i { for(int j=0;j { if(i==j) { Adj[i][j]=0; Path1[i]

2012-12-16 19:46:02 299

原创 Dijkstra算法

template void AdjGraph::Dijkstra(int s,EdgeType D[100],int Path[100])//其中参数s是源点,D[i]是到i点到源点的最短距离,Path[i]是i的前驱结点 { int n=vertexNum; for(int i=0;i { Mark[i]=0; D[i]=1000; Path[i]=-1;//表示i点没有前驱结点

2012-12-16 19:41:57 343

原创 Kruskal算法

template Edge *AdjGraph::Kruskal() { int n=vertexNum; UFSets set(n);//定义n个结点的集合 Edge *MST=new Edge[n-1];//记录最小生成树的边 MinHeap> H(edgeNum);//定义含有edgeNum个元素的最小堆,edgeNum是图中边的个数 Edge edge; for(int i

2012-12-16 19:38:52 464 1

原创 Prim算法

template Edge *AdjGraph::Prim(int s)//应用Prim算法从s顶点出发得到的最小生成树 { int i,j; Edge *MST;//存储最小生成树的边,即各个顶点到生成树中的各个顶点的最短的边 int *neighbor;//neighbor[i]表示生成树的点中与i点最近的点编号,-1表示i点已经在生成树中 EdgeType *nearest;//

2012-12-16 19:19:01 408

原创 图的深度优先搜索

template void AdjGraph::DFS(int v)//从某个结点v开始进行深度优先搜索 { visit(v); Mark[v]=1; for(Edge e=firstEdge(v);isEdge(e);e=nextEdge(e))//访问v邻接到的未被访问的点,如果有则从该点开始深度优先搜索 { if(Mark[e.end]==0) DFS(e.end); }

2012-12-16 19:11:35 455

原创 有关调试的几点

问题一:通俗地说断点怎么用? 在VS2010中,首先设置好断点(F9),然后在Debug菜单下点选Start Debugging,程序就可以一下子运行到你的第一个断点处,然后再进行单步调试也不迟。这样就可以不用对之前一些毫无价值的语句进行单步调试了,只调试我们关心的   问题二:单步调试过程中有没有后退一步的办法? 一般没有,单步跟踪不可能回复上一步,因为内存已经改变了   问题三

2012-12-15 20:06:15 585

原创 列举编程中的常见错误和解决方案

每一条都背后都是有俺的血泪史的,数据结构书和课堂上上绝对不会说的 1.果断换用VS2010,抛弃VC++6.0 2.选中指定代码并按Tab可使其整体后移,按Shift+Tab可使其整体前移 3.遇到Can’t open the file forDebug…打开任务管理器选进程那页,找到你工程名字对应的.exe文件,结束任务之 4.多文件中的#include应该怎么写(解答:主程序应包含所有

2012-12-15 20:00:13 767

图的各种操作的代码

图 遍历 Prim Kruskal Dijkstra

2012-12-16

二叉树各种操作的代码

二叉树 遍历 线索

2012-12-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除