摘要: 哈希表通过元素的存储地址和关键码建立映射关系从而快速找到元素,时间复杂度通常是O(1) 取关键字的某个线性函数为散列地址:Hash(Key)= A*Key + B适合范围小且连续的情况 负载因子定义为装入的元素/散列表的长度,负载因子越大造成元素冲突的概率越大,此时只能扩容 闭散列:将元素移到下一个 阅读全文
posted @ 2026-05-14 12:17 alexacaily36 阅读(7) 评论(0) 推荐(0)
摘要: 在了解这两个之前需要知道二叉搜索树 二叉搜索树是节点的左边所有值小于它,右边大于它,并且所有节点满足这一点 点击查看代码 public class BinarySearchTree { class TreeNode{ int val; TreeNode left; TreeNode right; T 阅读全文
posted @ 2026-05-14 11:14 alexacaily36 阅读(7) 评论(0) 推荐(0)
摘要: java排序的简单介绍 1.直接排序 就是在原有的有序数组里面将数插进合适位置,从而使数组有序,但这种排序方式时间复杂度高,为O( n^2),但为稳定排序 点击查看代码 public void insertSort(int[] array){ int i ; for (i = 1; i < arra 阅读全文
posted @ 2026-05-07 19:24 alexacaily36 阅读(9) 评论(0) 推荐(0)
摘要: 在优先级队列中,插入的都是可以比较的数据和null,因为方便比较前文用的Integer,那能不能把自定义个可比较大小的类型对象呢 点击查看代码 public class Card { public int rank; public String suit; public Card(int rank, 阅读全文
posted @ 2026-04-25 15:01 alexacaily36 阅读(10) 评论(0) 推荐(0)
摘要: 优先级队列属于队列的一种,但优先级更高的数据优先出,这就是PriorityQueue,它的底层是由堆实现的,而堆又是由二叉树实现的 堆将所有元素按照完全二叉树的形式进行存储,满足ki <= k2i + 1且ki <= k2i + 2 i = 0,1,2....就是小根堆,相反就是大跟堆 堆有以下特征 阅读全文
posted @ 2026-04-17 18:34 alexacaily36 阅读(11) 评论(0) 推荐(0)
摘要: 栈有着后进先出的特点,只允许在一端进行删除和添加,在操作的那一边被称为栈顶,另一边成为栈底 方法介绍 Stack() 创建个空栈 E pop() 弹出栈顶元素 E push() 放入元素 E peek() 获取栈顶元素 boolean empty() 检测栈是否为空 int size() 获取存入的 阅读全文
posted @ 2026-04-16 19:07 alexacaily36 阅读(9) 评论(0) 推荐(0)
摘要: List继承于Collectio, List本身有自带的方法 boolean add(E) 尾插元素 void add(int,E) 在指定位置添加数据 void addAll(Collection <? extends> E e)尾插e的数据 E remove(int)删除指定位置的数据 bool 阅读全文
posted @ 2026-04-13 18:09 alexacaily36 阅读(11) 评论(0) 推荐(0)
摘要: java中二叉树的创建非常简单,只需将左和右创建一个类并赋予一个变量,用root来表示根节点 点击查看代码 public static class BTNode { BTNode left; BTNode right; int value; BTNode(int value) { this.valu 阅读全文
posted @ 2026-02-05 01:36 alexacaily36 阅读(8) 评论(0) 推荐(0)
摘要: 栈实现队列思路和队列实现栈一样,先创建两份栈,用push来增加变量 点击查看代码 public MyQueue() { stack1 = new Stack(); stack2 = new Stack(); } public void push(int x) { stack1.push(x); } 阅读全文
posted @ 2026-02-04 01:05 alexacaily36 阅读(13) 评论(0) 推荐(0)
摘要: 由于之前没有这个意识,现在做题时会写上随笔和思路 https://leetcode.cn/problems/implement-stack-using-queues/ 题目链接 首先我们用两个队列来实现 根据队列先进先出的一个特征,创建两个链表queue1和queue2后,用push来加到queue 阅读全文
posted @ 2026-02-03 20:15 alexacaily36 阅读(8) 评论(0) 推荐(0)