![](https://img-blog.csdnimg.cn/e8c05c6a368e4c6e869fa55b77841072.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构与算法实战
文章平均质量分 93
为什么学算法已经是一个不应该问的问题了,从功利角度,大厂必考你必学;从长久角度,算法将决定你的技术上限
少林码僧
专注elasticsearch搜索领域8年,有海量数据搜索功能架构经验
展开
-
数据结构与算法,剑指Offer 50题
模拟每个节点最多含有两个子树的树称为二叉树。下图就是一个二叉树。在计算机科学中,二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。一棵深度为k,且有2^k-1个节点的二叉树,称为满二叉树。这种树的特点是每一层上的节点数都是最大节点数。而在一棵二叉树中,除最后一层外,若其余层都是满的,并且最后一层或者是满的,或者是在右边缺少连续若干节点,则此二叉树为完全二叉树。原创 2024-07-24 17:25:01 · 913 阅读 · 0 评论 -
Hash表的时间复杂度为什么是O(1)?
@TOC要了解 Hash 表,需要先从数组说起数组数组会在内存中申请连续的地址空间,且数组中各元素类型必须一致上图假设数组元素为整型,由于整形占据4各字节的内存空间,所以上图每个数组的内存地址从下标0开始,下标每增加1,地址就增加4所以只要知道了数组的下标,就可以计算得到数组的地址,比如元素4,我们知道数组起始地址后,只要用起始地址+下标*4就可以知道元素4的地址,所以访问数组元素的时间复杂度为O(1)......原创 2021-12-04 19:50:36 · 303179 阅读 · 2 评论