数据结构chapter 8 查找.pptVIP

  • 18
  • 0
  • 约1.65万字
  • 约 95页
  • 2017-06-02 发布于河南
  • 举报
数据结构chapter 8 查找

* * Hash表的查找性能分析 从哈希表的查找过程可以看出 虽然哈希表在关键字和记录的存储位置之间建立了直接映象,但由于冲突的存在,使得哈希表的 查找过程仍然需要进行比较。 哈希表的查找取决于三个因素:哈希函数、冲突处理方法和哈希表的装填因子。 哈希表的装填因子定义为: 结论:在哈希函数和冲突处理方法均相同 的条件下,哈希表的查找性能取决于表的装填因子。从直观上看,装填因子越小,查找长度越小,反之越大,与关键字的数目无关。 * * 平衡二叉排序树元素插入算法(续1) (三)如果e的关键字小于BBST根结点的关键字,而且在BBST左子树中不存在和e相同关键字的结点,则将e插入到BBST的左子树上,并且在插入后的左子树的深度加1时分别就以下情况进行处理: 1)如果BBST的根节点的平衡因子为-1,则将BBST的平衡因子改为0,BBST的深度不变; 2)如果BBST的根节点的平衡因子为0,则将BBST的平衡因子改为1,BBST的深度加1; 3)如果BBST的根节点的平衡因子为1,则: ①如果BBST左子树的根节点的平衡因子为1,则需要进行单纯右旋处理,并且在右旋转后将BBST左子树根节点的平衡因子改为0,树的深度不变。 ②如果BBST左子树根节点的平衡因子为-1,则需要先进行左旋、后右旋处理,并且在旋转后修改BBST的根节点、左右子树根节点的平衡因子,树的深度不变。 * * 平衡二叉排序树元素插入算法(续1) (四)如果e的关键字大于BBST的根结点的关键字,而且在右子树中不存在和e相同关键字的结点,则将e插入到BBST的右子树上,并且在插入后的右子树的深度加1时分别就以下情况进行处理: 1)如果BBST的根节点的平衡因子为1,则将BBST的平衡因子改为0,BBST的深度不变; 2)如果BBST的根节点的平衡因子为0 ,则将BBST的平衡因子改为-1,BBST的深度加1; 3)如果BBST的根节点的平衡因子为-1,则: ①如果BBST右子树的根节点的平衡因子为-1,则需要进行单纯左旋处理,并且在左旋转后将BBST右子树根节点的平衡因子改为0,树的深度不变。 ②如果BBST右子树的根节点的平衡因子为1,则需要先进行右旋、后左旋处理,并且在旋转后修改BBST的根节点、左右子树根节点的平衡因子,树的深度不变。 * * 二叉平衡树节点C实现 Typedef struct BSTNode { ElemType data; int bf; //平衡因子 struct BSTNode *lchild,*rchild; }BSTNode, *BSTree; #define LH +1 #define EH 0 #define RH -1 * * 二叉平衡树的插入算法(空处理) Status InsertAVL(BSTree T,ElemType e, Boolean taller){ if (!T) { //插入新节点,树长高 T=(BSTree)malloc(sizeof(BSTNode)); T-data = e; T-lchild = T-rchild = NULL; T-bf = EH; taller = TRUE; } else { //非空的情况处理 } * * 二叉平衡树的插入算法(左子树) if (EQ(e.key,T-data.key) {taller=FALSE;return 0;} if LT(e.key,T-data.key) { //再左子树上插入 if (!InsertAVL(T-lchild,e,taller)) return 0; if (taller) { switch (T-bf) { case LH: LeftBalance(T);taller=FALSE;break; case EH: T-bf = LH;taller = TRUE;break; case RH: T-bf = EH; taller = FALSE; break; } } } * * 二叉平衡树的插入算法(右子树) else { if (!InsertAVL(T-rchild,e,taller)) return 0; if (taller) { switch(T-bf) { case LH: T-bf = EH;taller = FALSE;break; case EH: T-bf = RH;taller = TRUE;break; case RH: RightBalance(T);taller=FALSE;break; } // end of switch } //end of if (taller)

文档评论(0)

1亿VIP精品文档

相关文档