- 博客(3)
- 收藏
- 关注
原创 求二叉树两个节点的最近公共祖先
偶然看到一个特别特别巧妙的方法,在此记录一下~ 1、二叉树的结构 在建立二叉树的时候可以选择存储该节点的parent指针,指向该节点的上一个分叉节点,因此二叉树的结构为: typedef struct XBNode{ char data; XBNode *lchild; XBNode *rchild; XBNode *parent; }XBNode,*XBTr...
2018-06-10 19:15:11
350
原创 哈夫曼编码
先构建哈夫曼树,再用哈夫曼树进行编码。 0、哈夫曼树的存储结构 在这哈夫曼树不使用链表存储,而是使用数组下标方式的存储结构,即lchild、rchild、parent中存储的是相应元素对应的下标值。 而编码结果用数组存储,一维数组中存储的是对应编码字符串的首地址,这样可以实现边长的存储。 typedef struct HTNode{ int weight; int lc...
2018-06-09 10:27:34
318
原创 二叉树的层序遍历中的几个问题(C语言)
二叉树的层序遍历中的几个问题(C语言) 在使用C语言实现二叉树的层序过程中,从队列的建立、二叉树的建立、层序遍历几个环节中遇到了几个问题,现记录一下这些问题。 1、队列的建立 队列初始化:InitQueue 在队尾加入元素:Push 删除队头元素:Pop 队列初始化的时候是开辟一个next域为NULL的队列指针,注意应该使得队列的头等于队列的尾,这样在队列增加和删除元素的时候队...
2018-06-07 20:22:47
640
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人