美文网首页
【算法打卡60天】Day21二叉树基础(下):有了如此高效的散列

【算法打卡60天】Day21二叉树基础(下):有了如此高效的散列

作者: 花生无翼 | 来源:发表于2020-04-28 17:30 被阅读0次

第21天
学习内容 : 二叉树基础(下):有了如此高效的散列表,为什么还需要二叉树?(二)

1.支持重复数据的二叉查找树
那如果存储的两个对象键值相同,这种情况该怎么处理呢?
第一种:二叉查找树中每一个节点不仅会存储一个数据,因此我们通过链表和支持动态扩容的数组等数据结构,把值相同的数据都存储在同一个节点上。
第二种:每个节点仍然只存储一个数据。在查找插入位置的过程中,如果碰到一个节点的值,与要插入数据的值相同,我们就将这个要插入的数据放到这个节点的右子树,也就是说,把这个新插入的数据当作大于这个节点的值来处理。

2.二叉查找树的时间复杂度分析
时间复杂度其实都跟树的高度成正比,也就是 O(height)。

平衡二叉查找树的高度接近 logn,所以插入、删除、查找操作的时间复杂度也比较稳定,是 O(logn)。

本文参考【极客时间】专栏《数据结构与算法之美》

相关文章

  • 【算法打卡60天】Day21二叉树基础(下):有了如此高效的散列

    第21天学习内容 : 二叉树基础(下):有了如此高效的散列表,为什么还需要二叉树?(二) 1.支持重复数据的二叉查...

  • 【算法打卡60天】Day20二叉树基础(下):有了如此高效的散列

    Day20 学习内容 : 二叉树基础(下):有了如此高效的散列表,为什么还需要二叉树?(一) 二叉查找树和散列表一...

  • HashMap深度分析疑问

    hashMap底层是基于散列算法实现,散列算法分为散列再探测和拉链式。hashmap使用了拉链式散列算法,在jdk...

  • 密码安全

    本文介绍密码安全相关的加密与散列算法。 目录 散列算法 加密算法对称加密非对称加密 散列算法 Hashing 是使...

  • 哈希算法

    一,概念 前面涉及到散列表,散列函数,散列算法。那么和哈希算法又是什么关系,其实散列函数对应的算法就是哈希算法。 ...

  • shiro散列算法密码加盐测试精讲篇

    散列算法 通常需要对密码 进行散列,常用的有md5、sha, 对md5密码,如果知道散列后的值可以通过穷举算法,得...

  • 如何成为一名数据科学家

    一、基础 1、矩阵和线性代数基础 2、散列函数、二叉树和O(n) 3、关系代数、DB基础 4、inner/oute...

  • shiro权限控制学习---编码/解码

    散列算法 散列算法一般用于生成数据的摘要信息,是一种不可逆的算法,一般适合存储密码之类的数据,常见的散列算法如MD...

  • Hash算法有哪些?

    Hash算法的有哪几种,优缺点,使用场景 Hash ,一般叫做散列算法,就是把任意长度的输入通过散列算法,变换成固...

  • Hash 算法

    散列算法(Hash Algorithm),又称哈希算法,杂凑算法,是从任意文件中创造小的数字[指纹]的方法。散列算...

网友评论

      本文标题:【算法打卡60天】Day21二叉树基础(下):有了如此高效的散列

      本文链接:https://www.haomeiwen.com/subject/hijbwhtx.html