08 2021 档案
摘要:**tip:**这个算法还是有点难度的,而且有些地方只可意会不可言传,很难用文字表述出来,也可能我语言表达能力不行😂,反正读者要多动脑筋。而且我也可能有写错想错的地方,毕竟我也是刚学,如果有大佬看出问题了,请务必跟我说,我好改正,谢谢了。 简单介绍 快速排序(Quicksort) 是对 冒泡排序的
阅读全文
摘要:注:学习本篇的前提是要会插入排序,数据结构与算法——排序算法-插入排序 插入排序存在的问题 简单的插入排序可能存在的问题。 如数组 arr = {2,3,4,5,6,1} 这时需要插入的数 1(最小),过程是: 展示的是要移动 1 这个数,的过程,由于在最后,需要前面的所有数都往后移动一位 {2,3
阅读全文
摘要:基本介绍 **插入排序(Insertion Sorting)**属于内部排序法,是对于欲排序的元素以 插入的方式寻找该元素的适当位置,以达到排序的目的。 该 插入排序 又被称为 直接插入排序 或 简单插入排序。 基本思想 **插入排序(Insertion Sorting)**的基本思想是: 把 n
阅读全文
摘要:基本介绍 **选择排序(select sorting)**也属于内部排序法,是从欲排序的数据中,按指定的规则选出来某个元素,再依规定交换位置后达到排序的目的。 它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排
阅读全文
摘要:基本介绍 冒泡排序(Bubble Sorting)(时间复杂度为 O(n²))的基本思想:通过对待排序序列 从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就像水底下的旗袍一样逐渐向上冒。 优化点:因为排序过程中,个元素不断接近自己的位置,如
阅读全文
摘要:看完 数据结构与算法——递归-迷宫问题 后,我们对递归和回溯算法有了一个基本的认识,本篇将讲解 一个著名的问题:八皇后问题,能让我们对递归和回溯有一个更深刻的认识。 八皇后问题,是一个古老而著名的问题,是 回溯算法 的典型案例。 该问题是国际西洋棋棋手马克斯·贝瑟尔于 1848 年提出:在 8×8
阅读全文
摘要:迷宫问题(回溯),对上图说明: 红色的方块是围墙,是小球不能够走的 白色的方块是小球可以活动的范围 左上角是小球的起点,移动到右下角,就算走出了迷宫 那么在这个场景中,就用到了递归(Recursion),下面使用代码来实现小球走出迷宫的路径。下面用数字矩阵来模拟迷宫,重要的是学习其思想,懂得下次遇到
阅读全文
摘要:一、递归的简单应用场景 迷宫问题(回溯),上图说明: 红色的方块是围墙,是小球不能够走的 白色的方块是小球可以活动的范围 左上角是小球的起点,移动到右下角,就算走出了迷宫 那么在这个场景中,就用到了递归(Recursion) 二、递归的概念 简单说:递归就是方法自己调用自己,每次调用时 传入不同的变
阅读全文
摘要:通过数据结构与算法——栈(四)逆波兰计算器-后缀表达式的代码实现,可以看到:后缀表达式对于计算机来说很方便,但是对于我们人来说,后缀表达式却不是那么容易写出来的。 所以本篇就是来讲解怎么实现中缀表达式转换成后缀表达式,以及完成完整版的逆波兰计算器。 * 中缀表达式转后缀表达式步骤 初始化两个栈: 运
阅读全文
摘要:完成一个逆波兰计算器,需求如下: 输入一个 逆波兰表达式,使用栈 Stack(JDK 自带),计算器结果 支持 小括号 和 多位数 主要这里是讲解数据结构,因此简化为只对整数计算 关于前缀、中缀、后缀表达式可以去看我的这篇博文数据结构与算法——栈(三)有关栈的三种表达式 —— 前缀、中缀、后缀表达式
阅读全文
摘要:三种表达式 —— 前缀、中缀、后缀表达式 前缀表达式(波兰表达式) 前缀表达式又称为 波兰表达式,前缀表达式的 运算符位于操作数之前。 例如:( 2 + 3 ) × 4 – 5 对应的前缀表达式为:- × + 2 3 4 5 注意:前面这个表达式是一个中缀表达式,对应的是后面的这个前缀表达式。它的符
阅读全文
摘要:综合计算器-中缀表达式 使用栈来实现综合计算器,比如,输入一个表达式:7*2*2-5+1-5+3-3 ,计算出这个表达式的结果 什么是中缀表达式 中缀表达式是一个通用的 算术 或 逻辑公式表示方法。 操作符 是以 中缀形式 处于操作数的 中间(例:3 + 4),中缀表达式是人们常用的算术表示方法。
阅读全文
摘要:栈 栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻
阅读全文
摘要:链表是有序的列表,但是在内存中存储图下图所示 链表是以 节点 的方式来存储,是 链式存储 每个节点包含 data 域、next 域,指向下一个节点 链表的各个节点 不一定是连续存储,如上图所示 链表还分:带头节点、不带头节点,根据实际需求来确定 上面进行了一个简单的介绍,下面分几部分来讲解: 单链表
阅读全文
摘要:一个使用场景 银行办理业务的排队叫号 办理业务的人先拿号,然后窗口叫号处理,没有叫到的,则排队等待。 基本介绍 队列:是一个 有序列表,可以用 数组 或 链表 实现。 特点:遵循 先入先出 原则。即:先存入的数据,先取出。 示意图: front:队首,队列头部 rear:队尾,队列尾部 左 1 图:
阅读全文
摘要:稀疏数组 Sparse Array 稀疏数组。 实际需求 先来看一个实际需求,比较好思考 编写五子棋程序中的 存盘退出 和 续上盘 功能 我们首先能想到的就是使用一个 二维数组,如上图所示: 0:表示没有棋子 1:表示黑棋 2:表示白棋 分析问题 可以看到二维数组中很多值都是 0,因此记录了很多没有
阅读全文
摘要:线性结构和非线性结构 数据结构包括:线性结构和非线性结构。 线性结构 1)线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系。 2)线性结构有两种不同的存储结构,即顺序存储结构和链式存储结构。顺序存储的线性表称为顺序表,顺序表中的存储元素是连续的 3)链式存储的线性表称为链表,链
阅读全文
摘要:Linux 常用命令学习 1、ls命令 就是 list 的缩写,通过 ls 命令不仅可以查看 linux 文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等。 常用参数搭配: ls -a 列出目录所有文件,包含以.开始的隐藏文件 ls -A 列出除.及..的其它文
阅读全文
摘要:Linux命令行自动补全功能详解(实例演示) 文件名(或者目录名)是执行 Linux 命令中最常见的参数,例如前面介绍的 cd、mkdir、cp 等命令,都涉及到了文件名。然而对初学者来说,输入完整的文件名感觉很麻烦,尤其面临文件名(目录名)特别长的时候。 考虑到这种情况,Shell(Bash)提供
阅读全文
摘要:Linux之文件与目录管理 前言 在 Linux 操作系统中,所有的文件和目录都被组织成以一个根节点“/”开始的倒置的树状结构,为了方便管理和维护,Linux 系统采用了文件系统层次标准,也称为 FHS 标准,它规定了根目录下各个目录应该存在哪些类型的文件(或子目录),比如说,在 /bin 和 /s
阅读全文
摘要:Linux之用户管理(用户和用户组) 一、概述 Linux 是多用户多任务操作系统,换句话说,Linux 系统支持多个用户在同一时间内登陆,不同用户可以执行不同的任务,并且互不影响。 例如,某台 Linux 服务器上有 4 个用户,分别是 root、www、ftp 和 mysql,在同一时间内,ro
阅读全文
摘要:Linux之开机、重启和用户登录注销 一、关机&重启命令 基本介绍 命令 描述 shutdown –h now 立该进行关机 shutdown -h 1 "hello, 1 分钟后会关机了" 1 分钟后会关机并发送消息给每个在线的人员 shutdown –r now 现在重新启动计算机 halt 关
阅读全文
摘要:Linux之Vi 和 Vim 编辑器 一、vi 和 vim的基本介绍 Linux 系统会内置 vi 文本编辑器,Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。 Vim 具有程序编辑的能力,可以看做是 Vi 的增强版本,可以主动的以
阅读全文
摘要:Linux之目录结构 一、概述 学习 Linux,不仅限于学习各种命令,了解整个 Linux 文件系统的目录结构以及各个目录的功能同样至关重要。 使用 Linux 时,通过命令行输入 ls -l / 可以看到,在 Linux 根目录(/)下包含很多的子目录(称为一级目录),例如 bin、boot、d
阅读全文
摘要:SSM-CRUD 说明: **SSM:**SpringMVC+Spring+MyBatis CRUD: Create(创建) Retrieve(查询) Update(更新) Delete(删除) 功能点 分页 数据校验 jquery前端校验+JSR303后端校验 Ajax R
阅读全文
摘要:SSM整合(Maven工程) 一、概述 SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。 Spring Spring就像是整个项目中装配bean的
阅读全文
摘要:这是我的连接设置方式: Connection conn = DriverManager.getConnection(url + dbName + "?useUnicode=true&characterEncoding=utf-8", userName, password); 并且在尝试向表中添加行时
阅读全文

浙公网安备 33010602011771号