算法
zhgure
拜读“九阴真经”。。。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
AVL平衡二叉树 -构建
/* 表示二叉树最大高度 */#define BITREE_MAX_HEIGHT 32typedef int (*BITREE_VISIT_CB)(void *);typedef int (*BITREE_CMP_CB)(void *, void *);struct bitree_node_t{ struct bitree_node_t *lchild; st...原创 2019-09-16 18:10:03 · 220 阅读 · 0 评论 -
AVL平衡二叉树 - 插入算法
/* LL型 A B / \ / \B C -> Dx A / \ / \Dx E E C*/static int rotate_LL(struct bitree_t *tree, struct bitree_node_t *A){ ...原创 2019-09-16 18:15:25 · 497 阅读 · 0 评论 -
AVL平衡二叉树 - 遍历
/* Visit是对结点操作的应用函数 按某种次序对T的每个结点调用函数Visit一次至多次,一旦失败则返回 */int BiTreePreOrderTraverse(struct bitree_t *tree, BITREE_VISIT_CB visit){ /* 利用栈实现先序遍历 */ struct bitree_node_t *stack[BITREE_MAX_HEIG...原创 2019-09-16 18:20:53 · 589 阅读 · 0 评论 -
AVL平衡树 - 非递归后序遍历
/* 用于后根遍历使用,添加tag在栈中判断当tag为0时,表示当前节点为根的左子树已经入栈,右子树还未入栈当tag为1时,表示当前节点为根的左右子树均已入栈,可以访问 */struct bitree_node_tag_t{struct bitree_node_t *node;int tag;};/* 后根遍历整棵树 可以支持以root为根的树的遍历注意,ro...原创 2019-09-16 21:41:44 · 355 阅读 · 0 评论 -
红黑树
转载: https://www.jianshu.com/p/e136ec79235c二叉树删除结点找替代结点有3种情情景:情景1:若删除结点无子结点,直接删除情景2:若删除结点只有一个子结点,用子结点替换删除结点情景3:若删除结点有两个子结点,用后继结点(大于删除结点的最小结点)替换删除结点补充说明下,情景3的后继结点是大于删除结点的最小结点,也是删除结点的右子树种最左结点。那么可以拿...转载 2019-09-17 10:08:53 · 208 阅读 · 0 评论
分享