
数据结构(Java)
文章平均质量分 95
sugar__salt
这个作者很懒,什么都没留下…
展开
-
数据结构-哈希表
为了避免这样的情况,Java的 HashMap 会在元素往链表上插入的时候做一个判定,判定如果当前链表的长度达到了一定的值了,直接把链表转成红黑树(增加效率)把一大串数据,通过一系列数学变换,映射到一个较小的数组中,比如把一亿的数据保存到数组int [ ] count=new int[10000]中,如果要存储的是任意整数,范围是42亿个,但是创建的保存数据的数组范围是10000个,此时必然会出现重复,方法:数组的每一个元素都是“链表节点”,在有冲突的位置使用一个链表,保存“冲突”的元素。原创 2025-04-12 10:59:30 · 866 阅读 · 0 评论 -
二叉搜索树,Set和Map
和Set类似,Map更进一步,Set上面保存的只是“键”(key),Map上面保存的是“键值对”(key-value)与List不同,List(有序的)中的{1,2,3}和{1,3,2}是不同的,而Set(无序的)中这两个组合是相同的。,该内部类中主要提供了<key, value>的获取,value的设置以及Key的⽐较⽅式。如果查找的值比该节点的值大,往右子树找,如果比该节点值小,往左子树找,想通就找到了。的容器或者数据结构,其搜索的效率与其具体的实例化⼦类有关。通过查找的方式,找到新元素所在的位置。原创 2025-04-11 10:00:00 · 1836 阅读 · 0 评论 -
各种排序思路及实现
循环往复,直到待排序区间为0设父节点下标为 i ,左子树下标2i +1,右子树下标2i+2因为堆的父子下标关系有一个前提,根节点下标是0,所以前半部分不能是已排序区间。原创 2025-04-08 21:26:08 · 1148 阅读 · 0 评论 -
优先级队列_堆
Java集合框架提供了两种优先级队列PriorityQueue和PriorityBlockingQueue,PriorityQueue是线程不安全的,后者是线程安全的。2.向下调整,则是指 找出子树中最小值,和根节点比较,若根节点大就交换,持续往下进行,直到根节点比子树小,或没有子树时。先把新元素进行尾差,然后向上调整(从最后的飞叶子节点开始调整成小堆,然后一次往上走,直到标记的child下标小于0)队列是一种先入先出的数据结构,优先级队列又特殊一点,优先级队列出队列时,是先对优先级高的元素出队列。原创 2025-04-06 12:18:22 · 690 阅读 · 0 评论