-
一个不包含相同元素的整数集合,返回所有可能的不重复子集集合
package constxiong.interview;import java.util.ArrayList;import java.util.List;/** * 一个不包含相同元素的整数集合,返回所有可能的不重复子集集合 * * @author ConstXiong * @date 2019-11-06 14:09:49 */pu....- 盾给网
- 0
- 0
- 336
-
希尔排序(Shell Sort)
是插入排序经过改进之后的高效版本,也称缩小增量排序。1959 年提出,是突破时间复杂度 O(n2)的第一批算法之一。缩小增量排序的最优增量选择是一个数学难题,一般采用希尔建议的增量,具体如下。思路与步骤:首次选....- 盾给网
- 0
- 0
- 304
-
同样的复杂度,为什么插入排序比冒泡排序更受欢迎?
前面了解了 冒泡排序 和 插入排序,时间复杂度、空间复杂度都相同: 最好情况时间复杂度:O(n) 最坏情况时间复杂度:O(n2) 平均情况下的时间复杂度:O(n2) 空间复杂度:O(1),稳定排序算法 但为什....- 盾给网
- 0
- 0
- 333
-
选择排序(Selection Sort)
思路:数组区分已排序区域和未排序区域每次从未排序区域找到最小的元素,通过和未排序区域第一个元素交换位置,把它放到已排序区域的末尾步骤:进行 数组长度-1 轮比较每轮找到未排序区最小值的小标如果最小值的下....- 盾给网
- 0
- 0
- 326
-
-
插入排序(Insertion Sort)
思路:将数组分为两个区域:已排序、未排序。初始已排序区域只第一个元素取未排序的区域的元素,在已排序的区域找到合适的位置插入保证已排序区域的数据一直有序重复这个过程,直到未排序区域为空步骤:从数组第二....- 盾给网
- 0
- 0
- 334
-
使用递归输出某个目录下所有子目录和文件
package constxiong.interview;import java.io.File;/** * 使用递归输出某个目录下所有子目录和文件 * @author ConstXiong * @date 2019-10-23 15:16:32 */public class TestPrintDirAndFiles {public static void ....- 盾给网
- 0
- 0
- 322
-
如何进行复杂度分析?
时间复杂度分析:1、大 O 复杂度表示法:T(n) = O(f(n)),公式中的 O,表示代码的执行时间 T(n) 与 f(n) 表达式成正比只关注循环执行次数最多的一段代码总复杂度等于量级最大的那段代码的复杂度嵌套代码的复杂度等....- 盾给网
- 0
- 0
- 295
-
什么是时间复杂度?什么是空间复杂度?
时间复杂度的全称是渐进时间复杂度(asymptotic time complexity),表示算法的执行时间与数据规模之间的增长关系。空间复杂度全称就是渐进空间复杂度(asymptotic space complexity),表示算法的存储空间与数据规....- 盾给网
- 0
- 0
- 329
-
统计一段长字符串中某字符串的出现次数
截取字符串统计字符串出现次数通过替换字符串,统计字符串出现次数通过正则表达式,统计字符串出现次数package constxiong.interview;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * 统计一....- 盾给网
- 0
- 0
- 340