数据结构
文章平均质量分 75
雾岛风起时43
这个作者很懒,什么都没留下…
展开
-
Map和Set(图和集合)及哈希表 (哈希冲突的解决)
Map/Set 及实际实现类 HashMap/TreeMap/HashSet/TreeSet 的使用TreeMap 和 TreeSet 背后的数据结构搜索树的原理和简单实现HashMap 和 HashSet 背后的数据结构哈希表的原理和简单实现以及如何解决哈希冲突详解......原创 2022-07-16 20:45:16 · 565 阅读 · 0 评论 -
排序-JAVA
数据结构各种排序算法详解原创 2022-07-03 19:12:19 · 127 阅读 · 0 评论 -
JAVA对象的比较(equal、Comparble、compareTo、Comparator)
JAVA对象比较,equal、Comparble、compareTo、Comparator详解,以及优先级队列加入对象比较的模拟实现原创 2022-07-02 21:25:03 · 565 阅读 · 0 评论 -
优先级队列(PriorityQueue)-JAVA
优先级队列以及用堆的模拟实现详解原创 2022-07-02 19:52:21 · 968 阅读 · 0 评论 -
二叉树JAVA
二叉树详解原创 2022-06-30 20:20:56 · 254 阅读 · 0 评论 -
栈与队列JAVA
栈与队列详解以及模拟实现与面试题原创 2022-06-30 16:24:33 · 103 阅读 · 0 评论 -
链表面试题
1.求环的入口点/** * Definition for singly-linked list. * class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */public class Solution { public ListNo.原创 2022-04-09 23:37:24 · 102 阅读 · 0 评论 -
习题练习20220406
1、栈的压入、弹出序列给出一个入栈序列pushV和出栈序列popV, 判断出栈序列是否满足条件直接模拟即可。因为弹出之前的值都会先入栈,所以这里用个栈来辅助。初始化:用指针i指向pushV的第一个位置, 指针j指向popV的第一个位置 如果pushV[i] != popV[j], 那么应该将pushV[i]放入栈中, ++i 否则,pushV[i]==popV[j], 说明这个元素是放入栈中立马弹出,所以,++i, ++j,然后应该检查popV[j] 与栈顶元素是否相等,如果相等,++j,原创 2022-04-06 23:02:23 · 68 阅读 · 0 评论 -
LinkedList与链表
LinkedList的底层是双向链表结构(链表后面介绍),由于链表没有将元素存储在连续的空间中,元素存储在单独的节点中,然后通过引用将节点连接起来了,因此在在任意位置插入或者删除元素时,不需要搬移元素,效率比较高。1. LinkedList实现了List接口2. LinkedList的底层使用了双向链表3. LinkedList没有实现RandomAccess接口,因此LinkedList不支持随机访问4. LinkedList的任意位置插入和删除元素时效率比较高,时间复杂度为O(1)L.原创 2022-04-05 12:32:54 · 1130 阅读 · 0 评论 -
你知道Arraylist的底层是怎样是实现的吗
ArrayList常见操作ArrayList的遍历ArrayList 可以使用三方方式遍历:for循环+下标、foreach、使用迭代器public static void main(String[] args) {List<Integer> list = new ArrayList<>();list.add(1);list.add(2);list.add(3);list.add(4);list.add(5);// 使用下标+for遍历for ..原创 2022-04-04 20:17:06 · 209 阅读 · 0 评论