数据结构
八点博客(钏)
专注分享技术交流
展开
-
数据结构与算法(一): 树的高度和深度的区别
1.高度对于高度的理解,我们不管他数据结构什么什么知识,就拿楼房来说,假如一个人提问:楼房的高度有好高?我们会下意识的从底层开始往上数,假如楼有6层,则我们会说,这个楼有6层楼那么高,则提问者就会大概知道楼有多高了。所以高度就是以从下往上对比,这是我们的习惯。而在树中,树的高度也是从下往上数,如图所示K节点在树的底层,是一个叶子节点,则一般定义为K的高度在最低为1,以此类推,O的高度也是为1,P的节转载 2017-08-09 21:08:07 · 6709 阅读 · 2 评论 -
邻接表转邻接矩阵
#include <iostream>using namespace std;const int inf = 99999999;int arr[100][100];typedef struct ArcNode{ int adjvex; int weight; ArcNode *next;}ArcNode;typedef struct VertexNode{ ...原创 2019-10-09 07:43:24 · 457 阅读 · 0 评论 -
邻接多重表
#include <iostream>using namespace std;typedef struct ArcNode{ int adjvex; int weight; ArcNode * next;}ArcNode;typedef struct VertexNode{ char vertex; ArcNode *firstarc; }VertexNode...原创 2019-10-09 07:45:33 · 308 阅读 · 0 评论 -
并查集
#include <iostream>#include <vector>using namespace std;int main(){ vector <int> father; father.resize(5); int findFather(int x){ int a = x; while(x != father[x]){ ...原创 2019-10-09 07:46:19 · 107 阅读 · 0 评论 -
二叉树构建、遍历、线索、节点数目、深度、高度、(非)递归等操作
//Notice: this file.cpp can run on your pc;//input: example// 1// 2 3// you can input 1 2 0 0 3 0 0 // then you'll get a binaryTree like line 3、4 #include <iostream>#include <...原创 2019-10-09 07:48:35 · 286 阅读 · 0 评论 -
邻接多重表2
#include <iostream>using namespace std;typedef struct EdgeBox{ int mark; int ivex,jvex; struct EdgeBox *ilink, *jlink; int info;}EdgeBox; typedef struct VexBox{ int data; EdgeBox *fi...原创 2019-10-09 07:49:30 · 131 阅读 · 0 评论 -
普通树算法:求树高、兄弟链表表示法
#include <iostream>typedef struct childSiblingTreeNode{ dataType data; childSiblingTreeNode *firstChild; childSiblingTreeNode *nextSibling;}childSiblingTreeNode;/* 用孩子兄弟表示法 fchild、nex...原创 2019-10-09 07:50:51 · 362 阅读 · 0 评论 -
求邻接表节点的入度 出度
#include <iostream>using namespace std;int count1[100] = {0},count2[100] = {0};typedef struct ArcNode{ int adjvex; int weight; ArcNode *next;}ArcNode;typedef struct VertexNode{ int v...原创 2019-10-09 07:51:47 · 2787 阅读 · 1 评论