数据结构专栏
文章平均质量分 93
本专栏主要对一些数据结构用图进行详细的讲解!!!
十二分精神~
就算将来一无所有,我也不缺重头再来的勇气
展开
-
HashMap中 put()方法的流程、扩容的思路(源码分析~)
2 的幂次方的容量可以使得存储位置分布更加均匀,因为,在哈希函数中,它是将hashcode的低16异或上了高16位,这种方式就使得哈希码的高位信息也能参与到数组索引计算中,从而提高哈希码的均匀性,而在计算存储位置时,是按照 hash & (length-1),length-1的,length是2次幂,这样所得到的数值的二进制就是全1,比如,初始化容量是16,减1后15,15的二进制就是1111, 此时就可以让哈希码的低位能够完全参与到位运算中,从而实现高效的分布。原创 2024-08-05 22:03:23 · 337 阅读 · 0 评论 -
图解LeetCode链表题(中等)剖析
因为,如果是1的话,当遍历第一个节点时,是不可能生成1的,就导致每个节点没选中的概率不一样,而如果是0的话,当遍历到第n个结点时,前面的每个节点被选中的概率都是1/n;3、当cur遍历到值是0的节点时,就停止遍历,将head1所在的节点中的值设置为sum,再将里面所存的地址变为cur里面存的下一个 节点的地址,这样就把一小段两个0之间的不为0的节点和最后一个0节点给删除掉了,之后cur向后移动一个结点,把head1在移到cur的位置,这样就又开始一小段节点的遍历。第一种方法:利用顺序表存储每一个值。原创 2023-05-29 09:45:23 · 470 阅读 · 0 评论 -
【数据结构】优先级队列(堆)
这里不做详细的介绍,只需知道,所有引用类型所创建的对象都保存在堆上,包括数组;而这里的堆是将所有的元素,按照完全二叉树的顺序存储方式存储到了一维数组中;原创 2023-09-16 16:41:07 · 479 阅读 · 0 评论 -
图解LeetCode链表题
本篇文章主要详细的用图解的方式为大家讲解了简单程度的链表题,如果题中有错误的地方,还麻烦您在评论区指出,你的意见就是我最大的进步!!!原创 2023-05-25 14:06:56 · 885 阅读 · 0 评论 -
【数据结构】二叉树
2.从根节点衍生出了m (m>0) 个子节点,而每一个子节点也都是一个集合,其中每一个子节点又作为一个根节点衍生出了m个子节点,也称为一颗子树,每棵子树的根节点上面只有一个节点,下面可以有多个或者0个子节点;在生活中,不管你是城里人儿, 还是村儿里人,相信大家都见过树,在树上面可以看到许多的分支,而一个小分支又衍生出了许多的更小的分支,最后直到开花结果,而接下来要讲的。 **孩子节点或子节点:**如果一个节点含有的子树,则子树的根节点称为该节点的子节点,如图 E 是 B的子节点, J 是E的子节点;原创 2023-09-15 11:31:14 · 1804 阅读 · 1 评论 -
【数据结构】七大排序
假设在一个序列中,出现了相同的数据,经过排序之后,这些相同的数据之间的相对位置保持不变,比如,r[i] = r[j], 在排序之前,r[i] 在 r[j] 之前,排序之后,r[i] 仍然在 r[j] 之前,则这样的排序称为是稳定的,反之是不稳定的;而且一个稳定的排序是可以变成不稳定的,但是一个不稳定的排序是不可以变成稳定的;原创 2023-09-16 16:23:55 · 326 阅读 · 0 评论 -
【数据结构】3000字剖析链表及双向链表
2、有头或者无头链表3、循环或非循环链表根据以上三种链表结构又可以组合成一下八种结构:而最常用的是以上无头单向非循环链表无头双向链表,下面就针对于两种链表进行详细的剖析!!!原创 2023-09-06 09:04:37 · 330 阅读 · 0 评论 -
【数据结构】小白都能看得懂的顺序表
不管你是小白还是复习,这篇文章都非你莫属原创 2023-09-04 22:41:16 · 111 阅读 · 0 评论