小小默:进无止境

QQ:1274654983 欢迎交流~~

排序:
默认
按更新时间
按访问量
RSS订阅

8种常用排序算法稳定性分析

选择排序、快速排序、希尔排序、堆排序不是稳定的排序算法 冒泡排序、插入排序、归并排序和基数排序都是稳定的排序算法。 【1】为什么要区分排序算法的稳定性? 排序算法的稳定性通俗地讲就是能保证排序前两个相等的数据其在序列中的先后位置顺序与排序后它们两个先后位置顺序相同。 再简单具体一点,如果A i =...

2019-02-09 18:45:08

阅读数 69

评论数 0

数据结构和算法中的时间复杂度

简单地说,时间复杂度对应代码运行时间,空间复杂度对应代码占用空间。由于运行环境和输入规模的影响,代码的绝对执行时间是无法估计的,但是我们却可以预估出代码的基本操作执行次数。 【1】基本操作执行次数 关于代码的基本操作执行次数,我们用四个生活中的场景,来做一下比喻: 场景1:给小灰一条长10寸的面包...

2019-01-22 18:38:45

阅读数 102

评论数 0

常见基础实用算法详解

排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。 内排序有可以分为以下几类: 插入排序:直接插入排序、二分法插入排序、希尔排序。 选择排序:简单选择排序、堆排序。 交换排序:冒泡排序、快速排序。 归并排序 基数排...

2019-01-21 16:09:21

阅读数 111

评论数 0

【每日一面】常见的排序算法与Java实现

【1】冒泡排序 import java.util.Comparator; /** * 排序器接口(策略模式: 将算法封装到具有共同接口的独立的类中使得它们可以相互替换) */ public interface Sorter { /** * 排序 * @param ...

2019-01-18 19:55:34

阅读数 98

评论数 0

各种排序算法及java实现

②二分法插入排序(按二分法找到合适位置插入)   1、基本思想:二分法插入排序的思想和直接插入一样,只是找合适的插入位置的方式不同,这里是按二分法找到合适的位置,可以减少比较的次数。   2、实例   3、java实现 [java] view plain copy print? ...

2016-11-28 10:52:41

阅读数 348

评论数 0

判断2..100以内的质数--sqrt

一个判断2..100以内的质数算法引起的几点疑惑。 先看算法:明天写说明一下内层循环为什么以sqrt(i)为分界点:首先,约数是成对出现的。比如24,你找到个约数3,那么一定有个约数8,因为24/3=8。 然后,这对约数必须一个在根号n之前,一个在根号n之后。因为都在根号n之前的话,乘积一定小于...

2016-10-20 22:01:55

阅读数 561

评论数 0

提示
确定要删除当前文章?
取消 删除