数据结构
文章平均质量分 75
1.使用XXX数据结构
2.构造XXX数据结构
Powerstot
热爱仅仅只是热爱
展开
-
二叉树总结
二叉树的种类满二叉树一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是满二叉树。也就是说,如果一个二叉树的层数为K,且结点总数是(2^k) -1 ,则它就是满二叉树完全二叉树除了最底层的结点没有填满之外,其余每层的结点数量都达到最大值,并且最下面一层的结点都集中在该层最左边的若干位置,若最底层为第 h 层,则该层包含 1~2h 个结点堆就是一颗完全二叉树,优先队列就是就是一颗完全二叉树,同时保证了父子关系二叉搜索树左子树上的所有结点值小于根节点值,右子树上的所有结点值大于根节点值原创 2021-10-10 09:58:28 · 256 阅读 · 0 评论 -
栈与队列总结
基础知识Java中的栈一般用 Deque 实现,因为stack有设计上的缺陷,官方建议使用 DequeDeque的全称为:double ended queue(双端队列):Deque 有三种用途普通队列双端队列堆栈一般实现Deque使用 ArrayDeque 或者 LinkedList ,根据增删多还是查询多来决定使用那个实现,如果是增删多,使用 LinkedList 更加高效,如果是查询多,使用ArrayDeque 更高效双端队列两端访问元素的方法,提供插入,删除和检查元素方法原创 2021-05-21 16:15:57 · 244 阅读 · 0 评论 -
Java中遍历map的几种方式
初始化Map<Integer, Integer> map = new HashMap<>();遍历 key 或 valuefor (Integer key : map.keySet()) { System.out.println(key);}for (Integer value : map.values()) { System.out.println(value);}keySet遍历所有 key 和 valuefor (Integer key : map.k转载 2021-05-20 19:41:31 · 148 阅读 · 0 评论 -
哈希表总结
理论基础存储实现:(哈希表的底层是数组)实现哈希表的两种方法:1、数组+链表2、数组+红黑二叉树主要用途:快速判断一个元素是否出现在集合中查找时间复杂度:一般是O(1),极端情况下哈希碰撞造成的O(n)hash表一般都会将要查找的值存在哈希表内,查询的时候直接通过引索查询即可将值映射到哈希表上的这个过程就 使用到了 哈希函数哈希函数一般通过 hashCode 将 值 转化为引索存入 ,即将 值(传入的key) 映射到hash table 上如果 值 的总数比 hash tabl原创 2021-05-10 20:24:54 · 98 阅读 · 0 评论 -
链表总结
理论基础种类分为单链表,双链表,循环链表(可以解决约瑟夫环问题)链表的存储方式:内存中随机分布,使用指针域链接各个结点链表的定义Javaclass ListNode { int val; ListNode next; ListNode (int x) { this.val = x; next = null; }}C++struct ListNode { int val; ListNode *next; ListNode (int x) : val(x), next原创 2021-05-07 15:25:03 · 95 阅读 · 0 评论