排序算法
排序算法总结一、概念回顾稳定性排序算法的稳定性是指:同样大小的元素在排序之后不会改变原始的相对次序。 稳定性对基础类型对象来说毫无意义 稳定性对非基础类型对象有意义,可以保留之前的相对次序 1. 比较排序(基于元素两两比较,时间复杂度下界 O(n log n))1. 冒泡排序 核心思想:重复遍历数组,依次比较相邻元素,若顺序错误则交换。每一轮把当前未排序部分的最大值”冒泡”到末尾。 稳定性:稳定 2. 选择排序 核心思想:将数组分为已排序和未排序两部分。每一轮从未排序部分中选出最小元素,与未排序部分的首元素交换位置。 稳定性:不稳定 3. 插入排序 核心思想:将数组分为已排序和未排序两部分。每一轮将未排序部分的第一个元素,插入到已排序部分的正确位置。 稳定性:稳定 4. 希尔排序 核心思想:插入排序的改进版。先将数组按间隔(gap)分组,对每组分别进行插入排序;逐步缩小间隔,最终间隔为 1 时完成全局插入排序。 稳定性:不稳定 5. 归并排序 核心思想:分治思想。将数组递归地对半拆分,直到每个子数组只有一个元素;再将两个有序子数组合并成一个更大的有序数组。 稳定性:...
linux教程
狂神说Linux笔记 在需要时可以快速恢复。如果是直接关闭虚拟机的话,每次启动虚拟机都会耗费很多时间。 2、硬件参数的设置建议:先关闭虚拟机,再修改配置 image-20210811201840311image-20210811201840311 3、快照和系统恢复当系统出现严重错误怎么办? 1、重装系统 优点:操作简单 缺点:Ubuntu系统的重装会比较耗时。原来系统的配置,文件以及数据没了。 2、系统快照:VMware提供的系统功能 当系统出现问题的时候可以使用最近一次的快照进行恢复。 Linux系统操作 Linux可以用作个人桌面(办公,看视频,听音乐…),但其主要还是用于服务器环境。常用应用:文件管理器、命令行终端、文本编辑器 1、文件系统对windows来说,每个分区有一个盘符。每一个盘符实际上是一个分区partition。 在Linux下没有C:等盘符概念。Linux使用统一的目录树结构。 none//home/w #用户目录/root/bin/mnt/user/etc1.1、用户目录用...
集合类
什么是集合集合和数组一样,可以保存一组元素,并且提供了操作元素的方法,使用方便 java 集合框架种的接口java.util.Collection接口是集合框架的基础接口,定义了集合的基本操作,如添加、删除、查询等。collection子接口有List、Set、Queue等,分别对应不同的集合类型。