树、二叉树、查找算法总结

树、二叉树、查找算法总结

思维导图

重要概念笔记

  • 节点的度:节点拥有子树数称为节点的度。(也就是该节点拥有的子节点数)度为0的节点称为非终端节点或分支节点,除根节点外,分支节点也称为内部节点,树的度是树内各节点度的最大值。
  • 二叉树的性质
    • 在二叉树的第i层上至多有2∧i-1个结点(i>=1)。
    • 深度为k的二叉树至多有2∧k -1个结点(k>=1)。
    • 对任何一棵二叉树T,如果其终端结点数为n0,度为2的结点数为n2,则n0=n2+1。
    • 具有n个结点的完全二叉树的深度为[log2n]+1 ([x]表示不大于x的最大整数。
  • 构造hash表:除留余数法 h(k)=m%p(p为素数,p<=m)

疑难问题及解决方法

哈希冲突的解决

  • 开放地址法:当冲突发生时,使用某种探查(亦称探测)技术在散列表中形成一个探查(测)序列。沿此序列逐个单元地查找,直到找到给定 的关键字,或者碰到一个开放的地址(即该地址单元为空)为止(若要插入,在探查到开放的地址,则可将待插入的新结点存人该地址单元)。查找时探查到开放的 地址则表明表中无待查的关键字,即查找失败。其中常用线性探测法和二次探测法。
  • 拉链法:将所有关键字为同义词的结点链接在同一个单链表中。若选定的散列表长度为m,则可将散列表定义为一个由m个头指针组成的指针数 组T[0..m-1]。凡是散列地址为i的结点,均插入到以T[i]为头指针的单链表中。T中各分量的初值均应为空指针。在拉链法中,装填因子α可以大于 1,但一般均取α≤1。
posted @ 2020-04-26 21:46  NiPShady  阅读(154)  评论(0编辑  收藏  举报