![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
jiao_giser
为了生活,冲鸭!
展开
-
最短路径之Dijkstra算法以及C语言实现
Dijkstra算法与Floyd算法是计算最短路径的经典算法。其中Dijkstra算法计算一个结点到其他结点的最短路径,Floyd算法计算所有结点之间的最短路径。Dijkstra算法1959年由Dijkstra提出,算法采用标号法,有两种标号,T 标号和P标号。T标号称为试探性标号(tentative label),P标号 为永久性标号(permanent label),给节点vi一个P标号表...原创 2018-12-02 21:51:00 · 11494 阅读 · 2 评论 -
基于C的串的基本操作实现
字符串是计算机中使用非常广泛的一种结构。许多语言都提供了串处理运行程序。在C语言中,提供了非常丰富的串处理函数。这里举几种串运算,并用C语言实现这些运算。strlen(s)求出串s的长度。若s是一个空串,则strlen(s) = 0。strcat(s1, s2)将s2加到s1的末尾strsub(s1,i, j, s2)从s1中位置i开始取长度为j的字串构成串s2strins(s1,...原创 2018-12-01 16:57:14 · 1168 阅读 · 2 评论 -
二叉树的宽度C实现(非递归)
采用层次遍历的方式,使用一个队列,每层的结点依次入队,出队,统计宽度,比较该层宽度与前k层最大宽度的大小。typedef int DataType;struct Node{ DataType data; struct Node *leftChild; struct Node *rightChild;};typedef struct Node BiTreeNod...原创 2018-12-15 21:34:53 · 1381 阅读 · 1 评论 -
二叉树的高度C实现(递归)
求二叉树的高度根节点深度为0,空树的深度为-1,一棵树的深度为其所有树枝路径长度中最大值递归思路基本问题:若一个树为空树,其深度为-1;一般问题:一棵树的深度为其左右子树的最大深度+1;int Depth_T(BiTree T){ if(T == NULL) return -1; else return (Depth_T(T->l...原创 2018-12-15 21:44:10 · 1417 阅读 · 0 评论 -
高次树—五次树的先序遍历 后序遍历
五次树的先序遍历和后序遍历,其他高次树的遍历只需改下孩子结点个数即可。完整代码如下#include <stdio.h>#include <stdlib.h>#define maxchild 5typedef int DataType;struct treenode{ DataType data; struct treenode *childs[m...原创 2018-12-18 21:14:34 · 276 阅读 · 0 评论