- 博客(11)
- 收藏
- 关注
原创 矩阵连乘-动态规划
动态规划的基本思想 将待求解的问题分解成若干个相互联系的子问题,先求解子问题,然后从这些子问题的解得到原问题的解;对于重复出现的子问题,只在第一次遇到的时候对它进行求解,并把答案保存起来,让以后再次遇到时直接引用答案,不必重新求解。 问题描述: 给定n个矩阵:A1,A2,...,An,其中Ai与Ai+1是可乘的,i=1,2...,n-1。确定计算矩阵连乘积的计算次序,使得依此次序计算矩阵连...
2018-11-03 14:19:57 320
原创 Mysql数据库掌握要点
查询语句中select from where group by having order by的执行顺序 1.查询中用到的关键词主要包含六个,并且他们的顺序依次为 select--from--where--group by--having--order by 其中select和from是必须的,其他关键词是可选的,这六个关键词的执行顺序 与sql语句的书写顺序并不是一样的,而是按照下...
2018-10-30 22:14:18 184
转载 SELECT INTO 和 INSERT INTO SELECT
SQL基本教程:http://www.w3school.com.cn/sql/sql_select_into.asp SELECT INTO 和 INSERT INTO SELECT 两种表复制语句详解 我们经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT...
2018-10-30 20:57:54 204
原创 使用maven构建ssm管理系统
这里直接使用idea创建出maven项目,构建所得的项目结构如下: 项目介绍 使用框架:spring+mybatis+springMVC 数据库:mysql 项目管理工具:maven 编译器:intellij idea pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://m...
2018-10-27 15:00:20 719 1
原创 堆排序(heapSort)
堆: 堆是具有以下性质的完全二叉树: 每个结点都大于或等于它的左右子结点,称为大顶堆;每个结点都小于或等于它的左右子结点,称小顶堆。如下图: 同时,我们对堆中的结点按层进行编号,将这种逻辑结构映射到数组中就是下面这个样子 该数组从逻辑上讲就是一个堆结构,我们用简单的公式来描述一下堆的定义就是: 大顶堆:arr[i] >= arr[2i+1] && arr[i...
2018-10-13 16:50:57 169
原创 快速排序(quickSort)
基本思想: 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。 算法步骤: 对左右区间重复上述,直到各区间只有一个数 例子: 代码实现: package SortType; import...
2018-10-12 17:24:44 1359
原创 插入排序(insertSort)
算法分析: 插入排序算法有种递归的思想在里面,它由N-1趟排序组成。初始时,只考虑数组下标0处的元素,只有一个元素,显然是有序的。然后第一趟 对下标 1 处的元素进行排序,保证数组[0,1]上的元素有序; 第二趟 对下标 2 处的元素进行排序,保证数组[0,2]上的元素有序; .......... 第N-1趟对下标 N-1 处的元素进行排序,保证数组[0,N-1]上的元素有序,也就是整个数...
2018-10-12 15:27:29 363
原创 选择排序(selectSort)
原理: 每一趟从待排序的记录中选出最小的元素,顺序放在已排好序的序列最后,直到全部记录排序完毕。 简单选择排序的基本思想: 给定数组:int[] arr={里面n个数据};第1趟排序,在待排序数据arr[1]~arr[n]中选出最小的数据,将它与arrr[1]交换;第2趟,在待排序数据arr[2]~arr[n]中选出最小的数据,将它与arr[2]交换;以此类推,第i趟在待排序数据arr[i]...
2018-10-12 14:07:52 271
原创 二分查找(binary search)
概念: 1.二分查找又称折半查找,它是一种效率较高的查找方法。 2.二分查找要求:(1)必须采用顺序存储结构 (2).必须按关键字大小有序排列 3.原理:将数组分为三部分,依次是中值(所谓的中值就是数组中间位置的那个值)前,中值,中值后;将要查找的值和数组的中值进行比较,若小于中值则在中值前 面找,若大于中值则在中值后面找,等于中值时直接返回。然后依次是一个递归过程,将前半部分或者后半部分继...
2018-10-11 21:43:33 338
原创 Java-合并排序(归并排序)算法
基本思想: 合并排序(归并排序)算法是用分治策略实现对n个元素进行排序的算法。其基本思想是:将待排序元素分成大小相同的2个集合,分别对2个集合进行排序,最终将排好序的子集合合并为所要求的排好序的集合。 分治策略(分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之) 图解分析: 合并相邻有序...
2018-09-18 15:39:37 2104
原创 算法的时间复杂度
时间复杂度 时间频率 一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为时间频度。记为T(n)。 时间复杂度 在刚才提到的时间频度中,n称为问题的规模,当n不断变化时,时间频度T(n)也会不断变化。但有时我们想知道它变化时呈现什么规律。为此,我们引入时间复杂度概念。 一般情况下,算法中基本操作重复执行的次...
2018-09-04 15:43:04 10833 3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人