
算法分析
Rice__
走走停停
展开
-
C语言[栈]求解迷宫[所有路径]
运行结果截图(八方向可走)手写栈 LinkStack.h图 Maze.h#pragma warning(disable:4996)#ifndef MAZE_H_#define MAZE_H_#include<conio.h>#include <stdlib.h>#include <stdio.h>#include "LinkStack.h"typedef struct MAZE{ int size; int** data;}..原创 2021-05-23 18:03:35 · 1320 阅读 · 1 评论 -
C语言[队列]实现迷宫求解(文件读取图)
手写队列 Queue.h#ifndef SEQQUEUE_H#define SEQQUEUE_H#include <stdio.h>#include <stdlib.h>typedef struct Point{ int x; int y; struct Point* pre; // 保存路径中的上一个节点}Point;typedef Point* DataType;struct Node{ DataType data; struct Nod.原创 2021-05-23 17:54:36 · 1157 阅读 · 0 评论 -
C语言[栈]实现迷宫求解(文件读取图)
手写栈 LinkStack.h#ifndef LINKSTACK_H#define LINKSTACK_Htypedef enum { true = 1, false = 0 } bool;typedef int Data;struct Node { Data data; struct Node* next;};typedef struct Node* PNode;typedef struct Node* LinkStack;LinkStack CreatStack(){ .原创 2021-04-09 22:27:56 · 1156 阅读 · 0 评论 -
C++最小优先队列实现dijkstra算法
算法思想算法伪代码测试用例过程代码实现#include <iostream>#include <cstdio>#include <vector>#include <queue>#include <iomanip>using namespace std;#define max 110 //最大顶点个数#define INF 0xfffff //权值上限int n; //顶点数str.原创 2020-06-07 10:25:41 · 2334 阅读 · 0 评论 -
C++实现dijkstra与floyd算法
dijkstra是求一个顶点到其他所有顶点的最小距离,类似普里姆算法floyd是把所有结点之间的最小距离求出本程序使用接邻矩阵保存图,测试用例如下图:#pragma once#include <iostream>#include <iomanip>#include <map>using namespace std;template<class T>class MatriGraphx{public: MatriGraphx(s.原创 2020-06-06 23:35:55 · 370 阅读 · 0 评论 -
C++实现prim与kruskal算法
#pragma once#include <iostream>#include <iomanip>#include <map>using namespace std;template<class T>class MatriGraphx{public: MatriGraphx(size_t capacity = 20); ~MatriGraphx(); class Vertex//顶点 { public: Vertex(T v.原创 2020-06-06 13:36:26 · 433 阅读 · 0 评论 -
C++图的邻接表模板类与遍历算法
简单实现图的邻接表深度优先(DFS)与广度优先算法(BFS)遍历图头文件#pragma once#include <iostream>#include <list>#include <stack>#include <queue>using namespace std;template<class T>class AdjacencyGraph{public: AdjacencyGraph(size_t capaci.原创 2020-06-03 23:37:28 · 469 阅读 · 0 评论 -
C++类 接邻表实现图的BFS与DFS遍历
图:用list表示接邻表链BFS:容器与队列DFS:递归/涂色法用例51 2 11 3 11 5 12 3 12 4 13 5 14 5 10 0 0结果BFS遍历如下:访问结点 1(父结点:0,距离:0)访问结点 2(父结点:1,距离:1)访问结点 3(父结点:1,距离:1)访问结点 5(父结点:1,距离:1)访问结点 4(父结点:2,距离:2)DF...原创 2019-11-16 16:04:21 · 308 阅读 · 0 评论