- 博客(6)
- 收藏
- 关注
原创 经典排序算法之二:选择排序
一、选择排序的思想及优化思路(升序为例)思想:假设给定一个大小为n的数组,从中选出最大的值(记录下标)与下标n - i的值进行交换(i∈[1, n - 1],i为循环次数),即遍历一次交换一次,每次遍历确定一个最大值。优化思路:使用一种快速查找最值的方法可降低选择排序的时间复杂度,例如使用堆这种数据结构,可在O(logn)的情况下找到最值二、代码实现普通代码,cmp()功能为array[maxIndex] - array[begin],swap()功能为交换两个下标所在值。for (int end
2020-09-16 17:50:25
181
原创 经典排序算法之一:冒泡排序
1.排序算法的分类1分为比较排序(Comparison Sorting)如冒泡、选择、插入、归并、希尔、堆、快速排序与非比较排序。二、冒泡排序的思想及优化思路(升序为例) 思想:从头开始比较一对相邻元素,若第一个元素大于第二个元素则交换位置,执行完一次遍历后,最末尾元素即最大值,忽略上次最大值,重复执行,直到全部数据有序。 优化思路一:当全部数据处于有序状态时,可通过一次遍历确定有序状态,可直接结束循环。 优化思路二:当最后部分数据有序且有序部分最小值大于无序部分最大值(有序部分
2020-09-15 15:59:04
402
原创 Java基础学习——多线程
一、为什么要学习多线程二、多线程的作用三、优势四、如何创建多线程1.通过继承Thread类创建多线程,步骤如下①创建一个子类继承多线程②该子类重写run()③创建该子类的实例④子类对象调用start方法2.实现Runable接口①创建一个类实现Runable接口②该类重写run()③创建该类实例④创建Thread类实例,将③的对象以参数的形势传入构造方法⑤Thread类实例调用start方法 3.实现callable接口 4通过线程池的方式五、线程安全问题多个线程同
2020-08-15 00:03:39
168
原创 初学MyBatis时碰到的问题
一、org.apache.ibatis.binding.BindingException: Type interface XXX is not known to the MapperRegistry.背景是初学MyBatis,刚刚学会简单的XML文件的配置,准备初步学习注解的使用,在我需要测试的接口上添加完注解之后,在MyBatis的核心配置文件中使用注解,一开始想试试OrdersMapperXML配置,UserMapper使用注解<mappers> <!-- &l
2020-08-04 22:31:43
300
原创 SpringMVC错误记录
一、Could not open ServletContext resource [/jdbc.properties]项目资源如下 在spring配置文件(applicationContext.xml)中加载jdbc.properties时引入文件<context:property-placeholder location="jdbc.properties"/>时正常,之后配置DataSource时也正常可以访问到值,但是启动Tomcat后出现错误Could not...
2020-08-02 11:32:52
411
原创 Java中==与equals方法的区别
先上代码public static void main(String[] args) { String a="A";//基本数据类型 String b="A"; String c=new String("A");//引用数据类型 String d=new String("A"); System.out.println("1."+(a==b));//==基本数据类型比较 System.out.println("2."+(c==d));//引用数据类型的比较 System.out.
2020-05-27 01:27:16
222
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人