java
文章平均质量分 92
跳起来会飞的猫
code
展开
-
快速幂矩阵
首先学习下线代的知识点:线代的基础知识整数快速幂为了引出矩阵的快速幂,以及说明快速幂算法的好处,我们可以先求整数的幂。如果现在要算 n8n^8n8:则 n*n*n*n*n*n*n*n 按照寻常思路,一个一个往上面乘,则乘法运算进行7次。而下面这种求法只执行了4次 (n*n)*(n*n)*(n*n)*(n*n) 已经比七次要少。所以为了快速算的整数幂,就会考虑这种结合的思想。现在要考虑应该怎么分让计算比较快。接下来计算整数快速幂。例如:n19n^{19}n19次方。19 的二进制为:1 0 0 1原创 2021-06-25 20:06:38 · 192 阅读 · 0 评论 -
数据结构--线段树
描述线段树是一种非常灵活的数据结构,它可以用于解决多种范围查询问题,比如在对数时间内从数组中找到最小值、最大值、总和、最大公约数、最小公倍数等。数组 A[0,1,…,n−1] 的线段树是一个二叉树,其中每个节点都包含数组的一个子范围 [i…j] 上的聚合信息(最小值、最大值、总和等),其左、右子节点分别包含范围 [i…i+j2\frac{i+j}{2}2i+j] 和 [i+j2+1\frac{i + j}{2} + 12i+j+1, j]上的信息。线段树既可以用数组也可以用树来实现。对于数组实现原创 2021-04-07 14:36:16 · 132 阅读 · 0 评论 -
SSM框架搭建学习痛苦经历
本着学习的态度,想要试着搭建SSM框架,毕竟现在有了spring boot,一键集成,何必去舟车劳顿呢?也是为了学习内部原理,搭建过程中遇到的问题,再解决问题,虽然很痛苦,但是结束之后,却很兴奋。再次吐槽这个博客编辑器,不能插入代码块。工具1、JDK1.82、tomcat 8.03、idea4、maven新建工程项目1、打开idea 新建Maven工程,直接下一步,输入项目名称,记得选择maven目录。2、新建java目录、resouces目录 右击j...原创 2020-07-31 08:58:20 · 445 阅读 · 1 评论 -
(Java8学习模块一)Lambda表达式
Lambda表达式Lambda表达式是Java8的新特性,更加简洁的实现匿名内部类,优化代码结构。 接口要求:接口类中只能有一个方法需要被实现。Java8中新增了default关键字,在方法前加这个关键字表示此方法有默认的实现,不需要特定去实现。 @FunctionalInterface:修饰函数式接口,要求接口中只有一个方法需要实现。 Lambda基础语法/**多参数无返回*/@FunctionalInterfacepublic i...原创 2020-07-20 16:59:30 · 174 阅读 · 1 评论 -
SQL语句、DML/DDL操作、事务
1、定义DDL(data manipulation language):数据库定义语言 DML(data definition language):数据操纵语言2、DDL关键字 CREATE 创建表 creat table tableName{ 列名 数据类型 (列属性); 列名 数据类型 (列属性); ............原创 2020-07-20 16:57:45 · 250 阅读 · 1 评论 -
JDK1.8 Java线程池详解
首先介绍线程池之前,我们应该了解线程池是个是个什么东西?顾名思义,线程池就是一个存放线程的容器,当我们有一个程序需要执行很多任务,每次执行任务都会创建一个线程,等待任务执行结束,就销毁线程。看上去这样的操作并没有什么问题,实际上创建线程和销毁线程都会很大的占用计算机资源。如果有一样东西能将我们使用过的线程不销毁,而是可以重复使用,也就是说,线程完成执行任务之后可以继续执行别的任务,这样就完美...原创 2019-07-14 16:33:15 · 743 阅读 · 0 评论 -
6种排序算法
6种排序算法插入排序原理代码冒泡排序原理代码选择排序原理代码归并排序原理代码快速排序原理代码堆排序原理代码插入排序原理插入排序,顾名思义肯定是已插入为主,将待排序的数组分为已排序(数组前部分)和未排序(数组后部分),这里我们已从小到大排序,数组为num[0–end]刚开始排序时,固定第一个数num[0]为已经排序好的数,从第二个数num[1]开始,从后往前比较已排序中的数据,如果小于num[...原创 2019-07-16 14:18:41 · 359 阅读 · 0 评论