![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
ISMidi
小屁孩,努力学习好好生活
展开
-
BFS搜索和D-搜索
BFS搜索和D-搜索图的D-搜索类似于BFS,不同之处在于使用栈代替BFS中的队列,入、出队列的操作改为入、出栈的操作。即当一个顶点的所有邻接点被搜索之后,下一个搜索出发点应该是最近入栈(栈顶)的项点。这里用邻接表来存储#include<stdio.h>#include<stdlib.h>#define M 100#define true 1#define false 0// bfs + D-搜索 // --------------------------原创 2020-12-30 14:42:51 · 1919 阅读 · 0 评论 -
kruskal算法实现最小生成树(C语言版)
最小生成树其他做法:破圈法克鲁斯卡尔的思路:1. 从边出发,找到所有边,并以边的权值从小到大进行排序这里用到了C中的qsort对结构体数组进行排序。qsort需要我们提供一个cmp函数int cmp(const void *a, const void *b){ return (*(edge *)a).length - (*(edge *)b).length;}qsort(arr, ga->e, sizeof(edge), cmp);// 参数分别为: 结构体数组, // 需原创 2020-12-24 15:43:49 · 3347 阅读 · 4 评论 -
基于三元组表储存稀疏矩阵求鞍点(C语言版)
基于三元组表储存稀疏矩阵求鞍点数据结构课#include<stdio.h>#include<stdlib.h>#define Maxsize 10typedef struct{ //定义三元组表 int i,j; int v;}TriTupleNode;typedef struct{ //定义三元组表 TriTupleNode data[Maxsize]; int m; int n; int t; //矩阵行,列及三元组表长度}原创 2020-12-23 17:55:30 · 587 阅读 · 0 评论 -
最小生成树破圈法C语言版本
最小生成树破圈法 C语言版本codecode#include<stdio.h>#include<stdlib.h>#define MAXVEX 16 /*顶点的最大个数*/int NUMS;int E_NUMS;int edg_flag,am,p,q;typedef char VexType; /*顶点的数据类型*/typedef int AdjType;原创 2020-12-22 18:40:58 · 2616 阅读 · 4 评论 -
C语言使用递归以及非递归对二叉树的先、中和后序遍历以及层次遍历
C语言通过递归和非递归 对二叉树的先序、中序、后序以及层次遍历数据类型定义二叉树创建先序遍历递归非递归中序遍历递归非递归后序遍历递归非递归层次遍历求二叉树的深度完整代码数据类型定义typedef char TElemType;typedef int Status;typedef struct BiTNode { TElemType data; struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;二叉树创建Status CreateBiTre原创 2020-12-19 17:27:14 · 657 阅读 · 4 评论 -
C语言通过指针参数返回值
C语言巧用函数的指针参数,使得函数"返回"多个值简单的案例深夜无聊而引发的问题回归正题简单的案例2.0链表中"迷人"的指针再度分析简单的案例深夜无聊而引发的问题一般来说,在C语言中一个函数顶多只能返回一个值,那么我们如何设计能巧妙的返回多个我们需要的值呢?先来看简单的题,我们有一个长度为10的int型数组int arr[] = {1,8,10,2,-5,0,7,15,4,-5};现在我们需要写一个函数,找出此数组中最大值和最小值。滑稽.jpg(若是不用写函数,直接通过for遍历我们直接就原创 2020-12-15 20:28:25 · 4532 阅读 · 3 评论