随笔分类 - c/c++
摘要:红黑树 红黑树的性质 根节点必须是黑色 每个结点必须是黑色或者红色 叶子节点 (nil) 是黑色 如果一个结点是红色,则它的两个子节点都是黑色的 从根结点出发到所有叶节点的路径上,黑色节点数量相同 #define K(n) ((n)->key) #define C(n) ((n)->color) #
阅读全文
摘要:2020/7/15 学习内容: 二叉树查找树原理和实现: 二叉查找树是特殊的二叉树,其中左子树的key值都小于根节点key值,右子树key值都大于根节点key值,对于每个子树,也是一颗二叉查找树。 二叉树查找树的构建: typedef struct Node{ int key; int data;
阅读全文
摘要:2020/7/14 学习内容: 单元测试框架的编写与实现,单元测试框架属于测试的一部分,验证程序的某一部分逻辑是否正确。 模仿google test模块的方式,在文件中加入多个TEST函数,然后调用RUN_ALL_TESTS函数就可以执行所有的TEST函数,并且返回结果; TEST函数其实并不是真正
阅读全文
摘要:1 typedef char InfoType; 2 //图的邻接矩阵储存方法 3 4 //图的邻接矩阵表示是唯一的 5 //邻接矩阵适合储存边的数目比较多的稠密图 6 //无向图的邻接矩阵是一个对称矩阵 7 //对于无向图,第i行或者第i列非0,非INF元素的个数正好是顶点i的度 8 //对于有向
阅读全文
摘要:1 //判断是否为完全二叉树 2 bool IsPBTree(BTNode *b) 3 { 4 bool isStart = false; 5 6 SqQueue *qu; 7 BTNode *p; 8 p = b; 9 InitQueue(qu); 10 enQueue(qu,p); 11 whi
阅读全文
摘要:1 //层次遍历算法 2 //顺序环形队列 3 typedef struct{ 4 BTNode *data[MaxSize]; 5 int front; 6 int rear; 7 }SqQueue; 8 9 void InitQueue(SqQueue *&qu) 10 { 11 qu = (S
阅读全文
摘要:1 //双亲储存结构 2 typedef struct{ 3 ElemType data; 4 int parent; 5 }PTree[MaxSize]; 6 7 //孩子链储存结构 8 const int MaxSons = 10; 9 typedef struct node{ 10 ElemT
阅读全文
摘要://非递归算法后序遍历二叉树 void PostOrder1(BTNode *b) { BTNode *St[MaxSize];BTNode *p;int top = -1; //建立栈并初始化 BTNode *r; //保存前一个访问的结点 bool flag; p = b; //p指向根节点 d
阅读全文