09 2021 档案
摘要:算法基础四:动态规划 概念及矩阵链乘法 一、动态规划概述 第四部分将会学习针对一类具有特殊性质的组合优化问题来讨论一种解决问题的算法设计技巧——“动态规划”。所谓的组合优化问题,指的是问题有多个可行解,每一个可行解对应一个目标值,目的是要在可行解中求得目标值最优者(最大或最小)。适合于用动态规划
阅读全文
摘要:【LeetCode 189】旋转数组 双指针 一、题目 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/rotate-array 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 给定一个数组,将数组中的元素向右移动 k 个
阅读全文
摘要:动态规划特辑-01 一、动态规划的题目特点 1、计数 有多少种方法走到右下角 有多少种方法选出k个数使得和为sum 2、求最大值最小值 从左上角走到右下角路径的最大数字和 最长上升子序列长度 3、求存在性 取石子游戏,先手是否必胜 能不能取出k个数使得和是sum 二、求最值型动态规划——案例讲解解题
阅读全文
摘要:【SpringBoot】 整合Mybatis 一、Mybatis的注解 1、CRUD注解 @Select:用于构建查询语句 @Insert:用于构建添加语句 @Update:用于构建修改语句 @Delete:用于构建删除语句 使用举例: @Mapper public interface UserMa
阅读全文
摘要:算法基础三:分治算法 基于二叉堆的优先队列 一、算法描述与分析 堆还有一个作为有效优先队列的应用。优先队列,指的是队列中的元素都被指派了一个优先级,元素按优先级最大(或最小)出队。由于,存储堆的数组的第一个元素就是最大的(或者最小的),所以用堆作为优先队列的元素载体是合适的。 队列有两个基本
阅读全文
摘要:算法基础三:分治算法 堆的实现与堆排序 一、堆的概念及其创建 1、二叉堆的概念 **(二叉)堆(heap)**数据结构是一个数组对象,它可以被视为是一个几乎完全的二叉树。树中的每一个节点对应于数组中的一个元素,该元素存储了节点的值。该树除了最底层,几乎完全填满了,最底层的填充是从左到右进行的。表
阅读全文
摘要:算法基础三:分治算法 快速排序算法 一、算法描述与分析 快速排序是一个典型的分治算法:和归并排序一样将A[p...r]划分成两部分,A[p...q]和A[q+1...r],但不是对分(q=[(p+r)/2]),而是利用算法基础二:渐增型算法 序列的划分中的PARTITION过程,使得A[p...
阅读全文
摘要:【JavaSE】 Comparable接口与Comparator比较器 一、Comparable接口 1、Comparable接口的定义 可以看出这个接口是通过泛型定义的,作用就是用来指定某一对象的排序规则的。 返回值: 1:表示大于 -1:表示小于 0:表示相等 2、实际案例 以下内容参考: 版权
阅读全文
摘要:算法基础三:分治算法 归并排序算法 一、算法描述与分析 二、伪代码 对于数组A,起始位置在p,最后一个元素在r。先分成两个序列,然后对左边和右边的序列分别排序,最后合并。 三、代码实现 1、算法代码 ①Sort import java.util.Comparator; import java.uti
阅读全文
摘要:算法基础三:分治算法 汉诺塔问题 一、递归与分治 很多有用的算法是递归(recursive)结构的:为了解决一个给定的问题,递归地调用自身一次或者多次来解决关系密切的若干个子问题。这样的算法通常遵循分治(divide and conque)方法:它们将问题分解成若干个与原问题相似而规模较小的子问
阅读全文
摘要:【JavaSE】 泛型与容器类 一、泛型 1、泛型的概念 我们知道java.lang.Object类是最上层的类,它是所有类的父类。所以为了让程序通用,编写代码时候通常使得传入的值与返回的值都用Object类型为主,当需要使用相应的实例时候,必须正确地将该实例转换为正确的实例。否则程序在运行的时
阅读全文
摘要:算法基础二:渐增型算法 序列的划分 一、算法的描述与分析 二、算法的伪代码描述 三、代码实现 1、算法代码 import java.util.Collections; import java.util.Comparator; import java.util.List; public class L
阅读全文
摘要:算法基础二:渐增型算法 两个有序序列的合并算法 一、算法描述与思路分析 1、问题描述 2、思路分析 案例流程 3、伪码描述 二、程序实现 1、可以比较类型数组版本 ①程序源码 import java.util.Arrays; public class LinearList_01 { public s
阅读全文
摘要:算法基础二:渐增型算法 插入排序 一、渐增型算法是什么 渐增型算法(incremental algorithms)指的是算法使得标识问题的解从较小的部分渐渐扩张,最终成长为完整解。渐增型算法有一个共同的特征:构成算法的主体是一个循环结构,它逐步将部分解扩张成一个完整解。该循环将遵循一个始终不变的
阅读全文
摘要:【SpringBoot】 接收参数与验证数据 一、在方法中使用参数 1、获取路径中的值 @GetMapping("article/{id}") public String getArticle(@PathVariable("id") Integer id){ System.out.println(i
阅读全文
摘要:【SpringBoot整合web开发 下】 一、配置类与XML配置 1、配置类 SpringBoot推荐使用Java来完成相关的配置工作。但是不建议将所有的配置放在一个配置类中。这些配置类上都需要添加**@Configuration**注解,@ComponentScan注解会扫描所有的Sprin
阅读全文
摘要:SSM + VUE网盘后端搭建 一、数据库创建 -- MySQL dump 10.13 Distrib 5.5.53, for Win32 (AMD64) -- -- Host: localhost Database: webpan -- -- Server version 5.5.53 /*!40
阅读全文
摘要:算法基础一:算法设计与分析 一、什么是算法 算法是程序的灵魂 是解决一个计算问题的一系列计算步骤的 有序的 合理的排列。 本次算法的基础学习过程将从渐增型算法 分治算法 动态规划 贪婪策略 回溯算法 来学习。 二、算法分析的基础概念 一般来说,解决同一问题的算法,需要的资源越少,我们认为越优秀。
阅读全文
摘要:SpringBoot的常用注解 一、使用在类名上的注解 1、@RestController 用于返回JSON、XML等数据,但不能返回HTML页面。相当于注解@ResponseBody和注解@Controller合在一起的作用。 2、@Controller 用于标注控制器层,在MVC开发模式
阅读全文
摘要:SSM整合项目 一、环境搭建与SSM整合 1、创建数据库表 CREATE DATABASE `ssmbuild`; USE `ssmbuild`; CREATE TABLE `books`( `bookID` INT(10) NOT NULL AUTO_INCREMENT COMMENT '书id'
阅读全文
摘要:【Sprig Boot整合Web开发 上】 一、返回JSON数据 1、默认实现 JSON是目前主流的前后端数据传输方式,SpringMVC中使用消息转换器HttpMessageConverter对JSON的转换提供了很好的支持,在Spring Boot中更进一步,对相关配置做了更进一步的简化。
阅读全文
摘要:【Spring Boot整合视图层技术】 企业级应用开发中,前后端分离是趋势,但是视图层技术还占有一席之地。Spring Boot对视图层技术提供了很好的支持,官方推荐使用的模板引擎是Thymeleaf,不过像FreeMarker也支持,JSP技术在这里并不推荐使用。 一、整合Thymeleaf
阅读全文
摘要:【Spring Boot 基础配置】 一、不使用spring-boot-starter-parent spring-boot-starter-parent虽然方便,但是在公司开发微服务项目或者多模块项目时一般需要使用自己公司的parent,这个时候如果还想进行项目依赖版本的统一管理,就需要使用d
阅读全文
摘要:SpringMVC文件上传 一、步骤 1、导包 <dependencies> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.4</ve
阅读全文
摘要:【邮件发送】 一、原理与相关类 二、项目搭建 1、需要的依赖 <!-- https://mvnrepository.com/artifact/javax.mail/mail --> <dependency> <groupId>javax.mail</groupId> <artifactId>mail
阅读全文
摘要:【Javaweb 文件上传】 一、准备工作 导入包 <dependencies> <!-- https://mvnrepository.com/artifact/commons-io/commons-io --> <dependency> <groupId>commons-io</groupId>
阅读全文