- 博客(5)
- 收藏
- 关注
原创 排序算法(二)-归并排序、快速排序
一:归并排序 归并排序:如果要排序一个数组,我们先把数组从中间分成前后倆个部分,对前后2部分分别排序,再将排好序的2个部分合并在一起,这样整个数组就变成有序的了。 我们通过上面的图解过程可以看出,我们先将一个大的数组分解成一个一个的子问题,再把子问题进行合并,得到最后的结果。这其实就是分治思想。 这其实和我们之前说的递归很相似。其实归并排序使用的就是分治思想,通过递归来实现。基于上面的图解我们试着写出归并排序的代码实现。 通过之前我们知道,写出递归代码的2个主要要素 一:找到递推表达式 二:找到终止条件
2021-05-11 14:31:25
101
原创 排序算法(一)-冒泡、插入、选择排序
在介绍排序算法之前,我们先来看下如何评论一个算法优于另外一个算法。 评论一个算法是否优于另外一个算法我们首先想到的是:时间复杂度与空间复杂度。 在说排序算法我们先介绍一下:排序算法的稳定性:对一组数据进行排序,相等的2个数据经过排序后前后顺序没有发生改变我们称此排序算法是稳定的否则是不稳定的。 在此评价一个排序算法,需要综合考虑时间复杂度、空间复杂度与排序算法的稳定性。 一: 冒泡排序 冒泡排序只会操作相邻的两个数据, 看看是否满足大小关系要求
2021-02-23 16:34:15
126
原创 算法-递归
递归算法在我们编程中会经常使用到,我们通过一些例子来详细的认识递归算法。 一:平时我们去电影院看电影 ,电影已经开始,我们想找到自己的位置,可是灯光太暗也看不清座位编号,我们可以问一排的编号,但是他也不知 道自己的排数,你只能不停的往前问,一直到第一排,而后一排就是+1,再一直往后推找到自己的位置,于是我们有 F(n) = F(n-1) + 1;F(1) = 1 ; 这便是标准的递归思想:去的过程就是 ’递‘ 回来的过程为 ‘归’
2021-02-07 13:59:18
115
原创 数据结构-线性表数据结构(数组、队列、栈、链表)
一:数组 数组:是一种线性表数据结构。它用一组连续的内存空间来存储一组具有相同类型的数据。 从数组的定义中我们可以找到2个关键点:1:线性表 2:连续的内存和相同的数据类型 。 线性表:数据排列成像一条线一样的结构,数据最多只有前后2个方向。类型的还有链表、队列等 数组的这俩个关键字也正好决定了数组的特性:随机访问 带来的弊端也很容易知道 为了保证其‘’连续的内存‘’删除和插入需要进行大量的数据搬移工作。 二:链表 链表:是一种线性表数据结构。它可以是不连续的内存空间。 链
2021-02-05 15:30:49
739
原创 安全管理-shiro(一)
安全管理-shiro(一) shiro是什么? shiro是apache的开源项目,提供对java-web应用安全性,故shiro是一个java安全框架。 shiro的核心模块 Authentication: 用户身份认证模块 Authorization: 用户授权模块 SessionManagement: 用户会话管理 Cryptography: 加密 用户身份认证:用户登录进行认证(登录模块) 用户授权模块:对登录用户进行授权 用户会话管理:web应用中的用户session进行管理
2020-12-26 16:26:25
116
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人