- 博客(3)
- 收藏
- 关注
原创 广度优先遍历搜索
借助队列来实现广度优先遍历 1.任取图中一个顶点访问入队 2.队列不空时循环执行:出队,访问该顶点的邻接顶点,没有被访问过就将其入队。 3. 当队列空跳出循环 void BFS(AGraph *G,int v,int visit[maxsize] { ArcNode *p; int que[maxsize],front=0,rear=0;//定义辅助队列 int j; Visit(v); Visit[v]=1; rear=(rear+1)%maxsize; que[rear]=v; while(front!
2020-08-17 17:29:22 68
原创 深度优先遍历
深度优先非递归 深度优先遍历(非递归) 深度优先遍历的非递归需要借助栈来实现,如下图的 正确遍历顺序是AGFBCED。 栈S正确的工作流程是下图: 下面用ADL语言 DFS(Head v0,visited,visited) DFS[初始化] CREATE[S]; FOR i=1 TO n DO visited[vi]<–0 visited[v0]<–1//访问过结点,visited变成1 S《=v0 压入栈 WHILE NOT(ISEMTS(S))DO { V<=S. 弹出栈顶的
2020-08-17 16:46:16 214
原创 力扣遇到两个数之和时的问题
今天在刷力扣时遇到一个小问题,记录下来,防止自己忘记。 /* * Note: The returned array must be malloced, assume caller calls free(). */ int* twoSum(int* nums, int numsSize, int target) { int x[2]={0}; for(int i=0;i<...
2019-03-29 21:33:26 505
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人