这篇文章主要介绍“java数据结构有哪些”,在日常操作中,相信很多人在java数据结构有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java数据结构有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
1.数组,2.栈,3.队列,4.链表,5.树,6.散列表,7.堆,8.图;
1.数组:查找快 增删慢 [一维数组是线性结构]
2.栈: 先进后出LIFO [是线性表]
3.队列:先进先出FIFO [是线性表]
4.链表:数据域和指针域构成元素,包含单向链表,双向链表,循环链表 [是线性表]
5.树:描述一对多关系的“树”[树状结构]
二叉树:每个节点最多有2个子节点
完全二叉树:叶子不能是单独存在的右节点
平衡树:高差不可大于1[提交搜索效率]
红黑树:高差界限扩大为n[提高添加删除能力]
B树:横向宽展节点 [多用于索引:支持范围查询,排序操作,IO效率高[存储方式决定],查询效率高(树的高度低)]
6.散列表:将值存放在[散列函数:fun(key)]的存储位置上,不需比较就能直接查询记录,存放该记录的数组叫做散列表; 散列函数:一种将任意长度的消息压缩 到某一固定长度的消息摘要的函数。哈希表进行查询的时候,就是再次使用哈希函数将key转换为对应的数组下标,并定位到该空间获取value。
7.堆: 堆是一种完全二叉树,它最大的特性是:每个节点的值都大于等于(或小于等于)其子树节点的值。因此,堆被分成了两类,大顶堆和小顶堆。
8.图:多用来构思
到此,关于“java数据结构有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。