04 2021 档案
Scanner和BufferReader之区别
摘要:在这几天刷算法题时,发现是ACM模式,每一道题都需要有输入,所以想要汇总一下晚上BufferedReader和Scanner的区别,以便更深的理解这两个类的区别。 一、Scanner 在Java中,我们都知道Java的标准输入串是System.in。但是我们却很少在Java中看到谁使用它,这是因为我
排序算法
摘要:对排序算法做一个总结吧。先提交,回头再补吧 分类 比较类: 插入法: 插入排序 遍历未排序的列,将遍历到的每个元素插入到有序序列的适当位置。 希尔排序。 先将待排序的数组分成若干个子数组排序 选择法:包括选择排序和堆排序 选择排序 选择第 i 小的元素与第 i- 1 的位置交换 交换法:包括冒泡排序
递归算法
摘要:什么是递归 递归是一个反复调用自身的过程,这就说明它每一级的功能都是一样的,因此我们只需要关注一级递归的解决过程即可。 如上图所示,我们需要关心的主要是以下三点 整个递归的终止条件。 一级递归需要做什么? 应该返回给上一级的返回值是什么? 因此,也就有了我们解递归题的三部曲: 1. 找整个递归的终止
二分查找
摘要:对于有顺序的数组的查询操作,首先想到二分 二分查找分三种情况: 寻找一个数(基本的二分搜索) [1, 2, 2, 2, 3, 4, 5, 6, 7] 查找元素为3 返回 4 寻找左侧边界的二分搜索 [1, 2, 2, 2, 3, 4, 5, 6, 7] 查找元素为2 返回: 1(第一个2的索引) 寻