
Java之基本数据结构系列
文章平均质量分 92
本专栏特点是系统,全面。主要介绍了Java中数据库相关内容的数据结构,原理,让你了解其工作原理。
CodingFire
从移动端到跨平台,从跨平台到Java,学习是一件让人开心的事,也是一件孤独的事。所谓君子慎独,不欺暗室。共勉之!
展开
-
Java开发 - 常用算法深度讲解,让你再也不会忘记
插入排序也称为直接插入排序,对于少量的元素排序,它是一个有效的算法,它的思想是将一个元素插入已经排好序的有序表中,从而变成一个新的,记录数+1的新有序表。和选择排序类似,也是将元素分为两部分,一个是已经排序的,一个是没有排序的,对未排序的部分进行遍历,将遍历的元素分别插入到已经排好序的队列中的合适位置,直到未排序部分元素数为0。我们用一张图来表示下:插入时,我们是从当前位置开始往第0位上倒着比较,小于第几位,就讲遍历的元素插入到第几位的前面。原创 2023-01-02 16:23:01 · 972 阅读 · 4 评论 -
Java开发 - 树(二叉树,二叉排序树,红黑树)
其本质上是数据结构,是用来存储数据的,所以我们一般用泛型,让外部告知具体类型,而不能把类型写死。}而为了让传入的类型支持比较,必须要对泛型继承Comparable,这也是一个难点,很多人在这里容易写错。//根节点//定义内部类表示节点//节点中保存的元素对象//左子树指向的节点//右子树指向的节点//定义有参构造方法,用于创建节点}}}这时,一棵树的基本元素就定义好了,接下来就是我们所熟悉的增删改查方法,但写起来,可能并没那么简单。原创 2022-12-30 22:48:38 · 2105 阅读 · 2 评论 -
Java开发 - 递归
递归是一种思想,再变成上体现为方法的自调用。实现某个数字的阶乘1!= 12!= 1 * 23!4!5!6!}1!= 12!= 1!* 23!= 2!* 34!= 3!* 45!= 4!* 56!= 5!* 6我好像发现了什么,如果我要获得n的阶乘,那是不是可以用n-1的阶乘乘以n?n-1的阶乘呢?是n-2的阶乘乘以n-1,依此类推。}fun(n - 1)就是n-1的阶乘,这就形成了递归,然后一直递归下去。原创 2022-12-30 12:04:19 · 1041 阅读 · 0 评论 -
Java开发 - 双向链表不可怕
链表是一种数据结构,由若干个结点组成,每个结点又分为三部分:前驱节点,元素,后继节点。双向链表中的结点是以游离状态存在的,意思是非连续的,这让我们想到了数组,因为数组中的数据是连续存在的,在内存上也是如此。用一张图来表示双向链表的结构,第一个是头节点,最后一个是尾节点,头围不能相连,否则就是另一种数据结构,后面再说。ArrayList查询性能高于LinkedList,但若是首尾查询,LinkedList的效率也很高。原创 2022-12-29 22:45:18 · 514 阅读 · 0 评论 -
Java开发 - 数据库索引的数据结构
索引是作用在数据库表的列上,用于对该列的数据进行排序,形成一个目录,从而提高查询效率的东西,索引比较适合数据量比较大的表中。这些东西没什么捷径可言,全凭经验。所以有时候你会看到工作好几年的人还是会犯同样的错误,这并不可怕,多练习,多总结,你现在踩过的坑终将成为你未来路上的垫脚石。原创 2022-12-28 21:40:13 · 1328 阅读 · 0 评论 -
Java开发 - 如何进行慢sql优化
上一篇中,我们已经详细的了解了数据库的基本数据结构,虽有遗漏,不过也会在近几篇中通过相关的知识点慢慢补齐。上一篇,我们最后讲了数据库的隔离级别,那么mysql默认隔离级别为可重复读,是否会产生幻读?隔离等级产生脏读产生不可重复读产生幻读读未提交truetruetrue读已提交falsetruetrue可重复读falsefalsetrue可串行化falsefalsefalse。原创 2022-12-23 23:24:26 · 2640 阅读 · 0 评论 -
Java开发 - 数据库中的基本数据结构
常用的数据库有哪些呢?以博主的认知为例,见过最多的就是以下这三种了:oracle,sql server和mysql虽然同为数据库,数据结构也是存在着一些细微的差别的,这个我们后面会简单提到,毕竟都是按照sql的统一规范设计的数据库,才有了相同的增删改查功能,所以他们的差别也大不到哪去,这里先提一嘴,这三者的隔离级别不同。其实本来也想写写sql语句中的一些坑和注意事项的,但想了想,放在数据结构里略微不合适,还是后期专门开一篇讲讲sql语句中踩到的坑和注意事项吧。原创 2022-12-23 00:12:03 · 1707 阅读 · 0 评论