
数据结构
流沙之Bug无敌
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
万能多线程处理业务并获取子线程结果集
万能多线程处理业务并获取子线程结果集原创 2022-05-05 11:44:37 · 321 阅读 · 0 评论 -
关于Java8并行流处理丢数据和数组下标越界的问题
背景Java 8 list的并行流处理,会造成数组下标越界和数据丢失情况。如下所示:List<Integer> list = new ArrayList<>();for(int i=0;i<1000;i++){ list.add(i+1);}System.out.println("原始集合大小:"+list.size());List<Integer> newList = new ArrayList<>();list.paralle原创 2022-03-21 09:29:02 · 2094 阅读 · 0 评论 -
关于java8 List转map 分组顺序重排问题
原创 2021-12-15 12:12:00 · 2737 阅读 · 0 评论 -
二叉查找树与平衡二叉树的区别
二叉查找树二叉查找树又名二叉排序树,亦称二叉搜索树。是每个结点最多有两个子树的树结构。通常子树被称作“左子树”和“右子树”。定义若左子树不空,则左子树上所有节点的值均小于它的根节点的值;若右子树不空,则右子树上所有节点的值均大于它的根节点的值;左、右子树也分别为二叉排序树;没有键值相等的节点。示例图看起来二叉树的结构是很均匀的排列的,别急,当依次插入13,14数据后,如下图:...原创 2019-08-27 14:36:28 · 9057 阅读 · 0 评论 -
B树与B+树区别
什么是B树?B树是一种平衡多路查找树,它的每一个节点最多包含K个孩子,K被称作为B树的阶,K的大小取决于磁盘页的大小。定义一棵m阶B树(balanced tree of order m)是一棵平衡的m路搜索树。它或者是空树,或者是满足下列性质的树:根结点至少有两个子女;每个中间节点都包含k-1个元素和k个孩子,其中 m/2 <= k <= m每一个叶子节点都包含k-1个元...原创 2019-08-27 16:43:16 · 582 阅读 · 0 评论 -
平衡二叉树与B树的区别
什么是平衡二叉树?详见平衡二叉树什么是B树?详见B树区别:B树是平衡多路查找树,它每个节点包含的关键字增多了,在应用时可利用磁盘块的原理把结点大小限制在磁盘大小范围内从而优化读写速度,同时树的关键字增多后层级比原理的二叉树少量,减少了数据查找次数和复杂度。示例:数据项:【1,2,3,5,6,8,9,11,12,13,15】二叉树结构B树结构1.树结构的层级,也就是高度,...原创 2019-08-27 18:04:50 · 4118 阅读 · 0 评论 -
经典数据结构之红黑树
什么是红黑树?红黑树是一种自平衡二叉查找树,和AVL树类似,都是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。特性根节点是黑色。节点是红色或黑色。每个叶子节点都是黑色的空节点(NIL节点)。每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点)。从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点。默认新增的...原创 2019-08-28 17:17:11 · 182 阅读 · 0 评论