-
同样的复杂度,为什么插入排序比冒泡排序更受欢迎?
前面了解了 冒泡排序 和 插入排序,时间复杂度、空间复杂度都相同: 最好情况时间复杂度:O(n) 最坏情况时间复杂度:O(n2) 平均情况下的时间复杂度:O(n2) 空间复杂度:O(1),稳定排序算法 但为什....- 盾给网
- 0
- 0
- 338
-
选择排序(Selection Sort)
思路:数组区分已排序区域和未排序区域每次从未排序区域找到最小的元素,通过和未排序区域第一个元素交换位置,把它放到已排序区域的末尾步骤:进行 数组长度-1 轮比较每轮找到未排序区最小值的小标如果最小值的下....- 盾给网
- 0
- 0
- 331
-
-
插入排序(Insertion Sort)
思路:将数组分为两个区域:已排序、未排序。初始已排序区域只第一个元素取未排序的区域的元素,在已排序的区域找到合适的位置插入保证已排序区域的数据一直有序重复这个过程,直到未排序区域为空步骤:从数组第二....- 盾给网
- 0
- 0
- 337
-
使用递归输出某个目录下所有子目录和文件
package constxiong.interview;import java.io.File;/** * 使用递归输出某个目录下所有子目录和文件 * @author ConstXiong * @date 2019-10-23 15:16:32 */public class TestPrintDirAndFiles {public static void ....- 盾给网
- 0
- 0
- 328
-
如何进行复杂度分析?
时间复杂度分析:1、大 O 复杂度表示法:T(n) = O(f(n)),公式中的 O,表示代码的执行时间 T(n) 与 f(n) 表达式成正比只关注循环执行次数最多的一段代码总复杂度等于量级最大的那段代码的复杂度嵌套代码的复杂度等....- 盾给网
- 0
- 0
- 300
-
什么是时间复杂度?什么是空间复杂度?
时间复杂度的全称是渐进时间复杂度(asymptotic time complexity),表示算法的执行时间与数据规模之间的增长关系。空间复杂度全称就是渐进空间复杂度(asymptotic space complexity),表示算法的存储空间与数据规....- 盾给网
- 0
- 0
- 332
-
统计一段长字符串中某字符串的出现次数
截取字符串统计字符串出现次数通过替换字符串,统计字符串出现次数通过正则表达式,统计字符串出现次数package constxiong.interview;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * 统计一....- 盾给网
- 0
- 0
- 347
-
什么是复杂度?为什么要进行复杂度分析?
复杂度复杂度也叫渐进复杂度,包括时间复杂度和空间复杂度,用来分析算法执行效率与数据规模之间的增长关系,可以粗略地表示,越高阶复杂度的算法,执行效率越低。复杂度描述的是算法执行时间或占用内存空间随数据....- 盾给网
- 0
- 0
- 296
-
统计某字符串在文件中出现的次数
有几点注意事项:默认文件里的字符串是按行进行统计的,如果字符串存在跨行的情况,那需要考虑把字符串进行拼接、去除换行符。这里未考虑字符串里出现的字符串的次数的问题可以使用: indexOf 方法配合 substring ....- 盾给网
- 0
- 0
- 338
-
什么是递归?递归的优缺点是什么?
递归:直接或间接调用自身算法的过程满足使用递归的条件:子问题为同类事物,且更简单必须有个出口优点:代码简洁符合思维习惯,容易理解缺点:效率较低递归层次太深,耗内存且容易栈溢出一定要使用的话,最好使用....- 盾给网
- 0
- 0
- 337