![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构基础
文章平均质量分 72
我的代码不是我的代码
这个作者很懒,什么都没留下…
展开
-
线索中序二叉树
线索中序二叉树1.节点的结构typedef struct node{ int lefttype;//左孩子类型,如果是普通左孩子则为Link,如果是前驱则为Thread int righttype;//右孩子类型,如果是普通右孩子则为Link,如果是后继则为Thread struct node* left; struct node* right; int d;}Node;1.线索化算法1.用一个pre指针指向访问当前节点p的前驱节点2.在访问当前以p为原创 2021-11-20 23:01:38 · 391 阅读 · 0 评论 -
平衡二叉树
平衡二叉树一.插入节点1.如果当前树为空则将新节点作为当前树的根,taller标志为真,插入成功返回如果当前树不为空且根节点root的数据和新节点数据相等,taller标志为假,则插入失败如果当前树不为空且新节点数据小于根节点数据,则递归调用1,将新节点插入当前树的左子树当中(1)如果插入成功,根据taller判断左子树是否长高,如果taller为真,对根节点的平衡因子bf进行判断(2)如果bf==1,即原来左子树就比右子树高了,而且现在左子树又长高了一层,需要对根节点及其左右子树进行右向平衡调原创 2021-11-20 23:00:30 · 450 阅读 · 0 评论 -
B-树浅实现
B-树查找特定元素e1.假设当前在树t当中查找元素e2.同二叉搜索树类似,先在根结点的key数组中找到e<=key[i]的位置i3.当t不为空 (1)如果e==key[i],则找到元素,返回查找结果 (2)如果e<key,则在key[i]的左子树也就是ptr[i]当中继续查找,将当前根节点记为t0,将根节点置为ptr[i],回到1。4.当t为空,则未找到元素,插入位置为t0节点、第i个位置B-树插入元素e1.利用查找算法找到插入的节点p和位置i,ap初始为NULL,指向比e大原创 2021-11-20 22:59:39 · 640 阅读 · 0 评论