
数据结构
奇幻岛
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
树相关总结:二叉树、AVL树、红黑树、B树、B+树
文章目录一、二叉树1、概念和分类2、二叉树的性质3、特殊情况(完全二叉树和满二叉树)4、二叉树的遍历二、二叉搜索树和二叉平衡树1、两种树的基本认识2、二叉搜索树查找的性能分析三、 AVL树和红黑树四、B树和B+树B树和B+树的区别树在数据结构中非常重要,应用也很广泛,比如文件系统的管理,有根目录,里面有文件等等,我们先看一下树的基本概念,方便后续学习;后面会有一些特殊树的介绍①节点的度:一个节点含有的子树的个数称为该节点的度;像上面A的度为6,D的度为1;②树的度:一棵树中,最大的节点的度称为树的度原创 2020-08-05 17:24:24 · 1553 阅读 · 0 评论 -
八道二叉树基础程序面试题
一、二叉树的前序遍历递归方法解决public class preorder { List<Integer> list=new ArrayList<>(); public List<Integer> preorder(TreeNode root){ if(root!=null){ list.add(root.val); preorder(root.left); pre原创 2020-08-05 17:22:45 · 389 阅读 · 0 评论 -
海量数据处理思想 + 一些例题
海量数据,顾名思义就是数据量太大,内存里装不下,基本思路就是分治,借助一些合适的数据结构;下来看一下具体的例子一、bit-map:使用bit数组来表示元素是否存在,这样只需要存储比特位即可;1、如果有40亿个QQ,如何存储首先我们需要清楚,如果有40亿个QQ号,假设每个QQ号用一个int类型存储,则大约需要16G的空间,所以如果不做任何处理直接存储,缺点是空间消耗比较大,并且也有可能导致内存不够的问题。在这里,我们存储的目的主要是用于查询,所以我们可以使用位图存储某一个QQ存在与否的二值信息。对于每一原创 2020-07-24 13:29:01 · 415 阅读 · 0 评论 -
【HashMap】关于HashMap的一些常见问题探究
一、HashMap和Hashtable历史叙旧都知道JAVA中有三大集合List , Set, Map,前两个继承自Collection接口,Map是一个独立的接口,今天主要谈谈Map下的HashMap;Map有三个实现类HashMap、TreeMap和HashTableHashtable比HashMap出现的要早,在java一开始发布时就提供的键值映射的数据结构,也就是Key-Value模型;而HashMap产生于JDK1.2,早不代表好,现在主要用的还是HashMap。能被广泛使用还是有它的优势的,原创 2020-07-09 21:13:46 · 904 阅读 · 1 评论 -
【堆和栈】以及【栈和队列】的区别
大概总结了八条,欢迎指正添加1、堆栈空间分配区别栈(操作系统):由操作系统(编译器)自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。堆(操作系统): 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,分配方式倒是类似于链表。2、堆栈缓存方式区别栈使用的是一级缓存, 它们通常都是被调用时处于存储空间中,调用完毕立即释放。堆则是存放在二级缓存...原创 2019-11-25 21:26:04 · 768 阅读 · 0 评论 -
七大排序是要会写代码的哦
一、冒泡排序(两两比较,大的放后面,每次得出最大值放在最后)public static void bubbleSort(int[] array) { for(int i=0;i<array.length-1;i++){ for(int j=0;j<array.length-1-i;j++){ if(array[j]>array...原创 2019-10-19 13:51:34 · 251 阅读 · 0 评论