楔子 无论你使用哪种语言,从事哪个方向,在面试中算法基本上都是逃不掉的。也许你听说过技术过时或者语言过时,但你绝对没有听过算法过时。这一次我们来了解一下常见的排序算法,以及它们的时间复杂度,并使用代码实现它们。 冒泡排序 冒泡排序(Bubble Sort)是一种非常简单直观的排序算法,就是从左到右依 ...
分类:
编程语言 时间:
2021-04-08 12:59:42
阅读次数:
0
一、数据结构与算法基础 说一下几种常见的排序算法和分别的复杂度。 用Java写一个冒泡排序算法 描述一下链式存储结构。 如何遍历一棵二叉树? 倒排一个LinkedList。 用Java写一个递归遍历目录下面的所有文件。 二、Java基础 接口与抽象类的区别? Java中的异常有哪几类?分别怎么使用? ...
分类:
编程语言 时间:
2020-07-14 13:31:27
阅读次数:
74
字节跳动提前批 时间:2020-07-09 18:00-19:00 内容 项目 背景:基于ZooKeeper的配置中心 问题: 项目的背景 如何实现 分布式锁的实现 Java基础 问题: HasMap的数据结构 HashMap如何解决哈希冲突 算法 常见的排序算法有哪些 快排的时间复杂度,最差的时间 ...
分类:
其他好文 时间:
2020-07-09 22:35:20
阅读次数:
87
一、数据结构与算法基础 说一下几种常见的排序算法和分别的复杂度。 用Java写一个冒泡排序算法 描述一下链式存储结构。 如何遍历一棵二叉树? 倒排一个LinkedList。 用Java写一个递归遍历目录下面的所有文件。 二、Java基础 接口与抽象类的区别? Java中的异常有哪几类?分别怎么使用? ...
分类:
编程语言 时间:
2020-05-30 13:08:03
阅读次数:
89
一、常见的排序算法分类 二、各种算法的时间复杂度 三、冒泡排序 冒泡排序(BubbleSorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐渐向上冒。 小结上面的图解过程: (1) ...
分类:
编程语言 时间:
2020-05-13 19:54:58
阅读次数:
58
插入排序 直接插入排序,折半插入排序,2-路插入排序,希尔排序 快速排序 冒泡排序,快速排序(冒泡排序改进), 选择排序 简单选择排序,树形选择排序,堆排序 归并排序 基数排序 ...
分类:
编程语言 时间:
2020-04-20 13:41:41
阅读次数:
63
这篇文章将会介绍最常见的排序算法(使用 JavaScript 语言实现) ...
分类:
编程语言 时间:
2020-03-22 13:53:07
阅读次数:
59
衡量算法快慢的标准 时间复杂度 空间复杂度 占用的内存空间 1. 常见的时间复杂度(按效率排序) O(1)list[j+1]: list[j],list[j+1]=list[j+1],list[j] flag=False 只要走过一次循环就会更改这个值 if flag: 若一次循环条件if没走到,换 ...
分类:
编程语言 时间:
2020-03-15 13:32:07
阅读次数:
47
● 排序,有内排序和外排序 ● 内排序,是在内存中进行 ● 外排序,是在磁盘上进行 内排序根据是否使用比较大小的方法,又分比较排序和非比较排序 以下常见算法的定义 1. 插入排序:插入排序基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排 ...
分类:
编程语言 时间:
2020-02-21 14:34:12
阅读次数:
60
“冒泡排序法”可以将一个无序的数组按照从小到大的顺序或者是从大到小的顺序进行排序,是一种较为常见的排序算法,因为数据从小到大或者从大到小地到数列头或者数列末的过程称为“冒泡”。对于冒泡排序我觉得最重要的两点就是:(1)需要重新排序的次数,即循环的次数,这个是根据数组的序列的大小来定的,比如数组的大小 ...
分类:
编程语言 时间:
2020-02-19 05:34:04
阅读次数:
80