选择排序是表现最稳定的算法之一,因为无论什么数据进去都是O(n2)的时间复杂度,所以用到它的时候,数据规模越小越好。相对其他优秀的算法其唯一的好处可能就是不需要占用额外内存空间。算法思想n个记录的直接选择排序可经过n-1趟直接选择排序得到有序结果。第一趟排序:从第1个数据遍历到第n个数据,找到最小数据与第一个数据交换(如果第1个数据就是最小数据则不交换)。第i趟排序:从第i个数据遍历到第n个...
算法思想冒泡排序重复走过要排序的数列,每次比较两个元素,如果顺序错误就将他们交换,如:要升序排列,遇到[1,3,2]这样的排序时,会在遍历中交换3,2。这样遍历一次,就可以将当前比较范围内最大的元素放到范围的末尾,然后缩小比较范围,继续重复这一过程,直到不需要交换。代码思路public static void bubbleSort(int[] array) { if (array.l...
Starters是什么Starters可以理解为启动器,它包含了一系列可以集成到应用里面的依赖包,你可以一站式集成Spring及其他技术,而不需要到处找示例代码和依赖包。如你想使用Spring JPA访问数据库,只要加入spring-boot-starter-data-jpa启动器依赖就能使用了。Starters命名规则Spring Boot官方的启动器都是以spring-boot-star...
文章的开头我希望先引用Wikipedia词条的介绍:Apache Maven,是一个软件(特别是Java软件)项目管理及自动构建工具,由Apache软件基金会所提供。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。 Maven也可被用于构建和管理各种项目,例如C#,Ruby,Scala和其他语言编写的项目。Maven曾是Jakart...
在理解事务的概念之前,接触数据库系统的其他高级特性还言之过早。事务的定义用一个具体的事例来引入事务的概念再合适不过。银行应用是解释事务必要性的一个经典案例。银行的数据库有支票表和储蓄表两张表。现在需要从Jim的支票账户中转移200刀到其储蓄表,那么需要三个步骤。检查支票账户的余额高于200刀。从支票账户余额中减去200刀。在储蓄账户中增加200刀。上述的步骤的操作必须打包在一个事务中,任何一...