如有不懂的地方,可翻阅我之前文章哦! 个人主页:小八哥向前冲~ 所属专栏:数据结构【c语言】 目录 前言 前言 前一章我们学习了堆,并且了解了什么是树。简单来说,堆就是一个二叉树,现在我们来真正了解一下二叉树! 以这棵树为例: 我们如何用链式结构来表示一颗二叉树呢?不错,结构体! 根据二叉树的节点特点,可以将每个部分分为左孩子节点,右孩子节点和根节点,于是我们可以这样来描述它: typedef struct TreeNode { struct TreeNode* left;//左孩子节点 struct TreeNode* right;//右孩子节点 TDatatype val;//节点数值 }TNode; 现在我们手搓一个二叉树(上图为例),来进行深入研究! //创建节点 TNode* BuyNode(TDatatype x) { TNode* node = (TNode*)malloc(sizeof(TNode)); if (node == NULL) { perror("malloc failed!"); return NULL; } node->left =...