- 博客(11)
- 收藏
- 关注
原创 2021-01-25
算法基础—二分算法一、定义二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。二、查找过程在一个有序序列中,取中间值把序列分成两边,先看中间值,如果中间值小于要查找的值,那么说明目标值一定在右边;如果中间值大于目标值,那么目标值一定在左边;如果中间值等于目标值,那么查找完成。以猜数字游戏为例,小明想一个0-1000的数,小红来猜。小明选的是623为例:小红:大于500吗?小明:yes小
2021-01-25 18:54:55
1612
原创 算法学习日记(三)---递归(下)
接递归(一)例题1、上台阶**思路分析:**这是一道将问题分解为规模更小的子问题的问题。首先考虑最简单的情况,如果只有一级楼梯,那么只有一种走法;如果有2级楼梯,那么有两种走法:一种是分两次走,一种是一次走2级;如果有n个楼梯,当n>2时,第一次走就有两种走法:一种是第一次走1级,走法数目等于后面n-1个楼梯走法数目;另一种是第一次走2级,走法数目等于后面n-2个楼梯走法数目,所以n个楼梯的走法数目f(n)=f(n-1)+f(n-2)。不难看出,这是斐波那契数列。使用递归解法:/**
2021-01-24 18:37:29
153
原创 spring-boot整合Mybatis
一、引入依赖在pom.xml中引入一下依赖,依赖看名字和注释应该能理解:<!-- MySQL依赖--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.20</versi
2021-01-24 18:36:54
184
原创 2021-01-22
算法学习日记(二)—递归(上)一、基本概念递归,就是在运行的过程中调用自己。一个函数调用其自身,就是递归。二、作用1、代替多重循环2、解决本来就是递归定义的问题3、将问题分解为规模更小的子问题进行求解三、递归过程以下列递归函数为例:public static int Factorial(int n){ if(n == 0) return 1; else return n*Factorial(n-1);}以
2021-01-22 15:37:11
194
原创 Spring学习日记(二)----AOP
一、概念在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。二、为什么要使用AOPAOP最为典型的应用就是数据库事务的管控,在数据库事务的要求中,要么一起
2021-01-21 10:53:11
247
原创 Spring学习日记(一)
Spring学习日记(一)----IoC一、IoC容器简介Spring IoC容器是一个管理Bean的容器。在Spring的定义中,所有的IoC容器都需要实现接口BeanFactory。下面是BeanFactory源码:public interface BeanFactory { //前缀 String FACTORY_BEAN_PREFIX = "&"; //多个getBean方法 Object getBean(String var1) throws Be
2021-01-20 12:52:18
151
原创 算法学习日记(一)枚举
一、定义枚举是基于逐个尝试答案的一种问题求解策略二、算法依次遍历每个值,直到找到问题求解答案三、例题1、完美立方确定各个变量的范围:a:[2,N]b:[2,a-1]c:[b,a-1]d:[c,a-1]确定了各个变量的范围,避免了不必要的运算,只需要使用四个for循环,就能求出问题解了,题解代码如下:public class Ex_1 { public static void main(String[] args) { Scanner in = new Sc
2021-01-20 12:49:12
278
原创 个人学习笔记之 标准库类型 string
标准库类型string标准库类型string表示可变长字符序列。使用string必须包含头文件string。作为标准库的一部分,string定义在命名空间std中。1、定义和初始化string对象初始化string的方法string s1; //默认初始化,s1是一个空字符串string s2 = "hello"; //s2是该字符串字面值的副本string s3(10,...
2020-03-09 10:39:07
117
原创 数据结构与算法 个人学习笔记(二)线性表的链式存储(单链表)
一、单链表(一)、单链表的组成如图所示,链表的可以由不相邻内存的节点组成。每个节点含有数据域和指针域。为了方便管理,加入了头指针,头指针指向链表第一个节点的位置。头指针的数据域无意义,但是也可以用来存储链表的长度之类的数据。最后一个节点的指针指向NULL。(二)、单链表的构成typedef struct Node{ int data; //数据域 struct ...
2020-03-07 21:19:39
271
原创 数据结构与算法学习笔记(二)线性表
一、线性表的顺序存储线性表是指零个或多个数据元素构成的有限序列线性表的实现1.线性表的结构定义宏定义#include<iostream>using namespace std;#define MAXSIZE 20 //存储空间初始分配量#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0结构...
2020-03-06 21:00:39
227
原创 数据结构与算法 个人学习笔记(一)之算法效率的度量方法
一、算法效率的度量方法(事前分析估计方法)(一)算法时间复杂度定义:在进行算法分析时,语句总的循环次数T(n) 是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定数量级。算法的时间复杂度,记作T(n)=O(f(n))。1.推导方法(推导大O阶方法)(1)、用常数1取代运行时间中的所有加法常数。(2)、在修改后的运行次数函数中,只保留最高阶项。(3)、如果最高阶项存在且不是1,...
2020-03-06 20:50:43
312
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅