冒泡排序 思路:相邻元素进行比较,每一次将最大的元素放到数组最后边,之后进行下一轮重复操作,把最大元素移动到第一次找出的最大元素的前面。 重复上...
邻接表 相比邻接矩阵,邻接表要更加节省空间。 邻接表存储 本文将介绍邻接表存储有向带权图。图的例子如下。 介绍一下邻接表上面的图对应的邻接表如下...
基数排序 基本思想:对元素分别按照个位、十位、百位....N位进行排序。 具体步骤如下 1.待排序算组array 2.创建一个10行*array...
计数排序 基本思想:不通过比较,计下每个元素的出现次数,统计小于这个元素的个数N,将其放在N位。例如{7,6,2,4,2,3}这个序列,有5个小...
快速排序算法 思路:选择基准数,将所有小于基准数的移动到基准数的左边,大于的移动到右边,之后采用分治思想,递归调用。 步骤如下: 首先,需要一个...
归并排序 思路:使用分治思想,将数组一直拆分,直到拆分成一个元素,此时每一个元素都相当于一个有序的数组,之后再将每两个数组合并成一个有序数组,一...
希尔排序 概括:其实希尔排序就是将数组进行拆分,对分出来的每一个数组进行直接插入排序。 具体讲解 设置一个step(步长),step初始值为数组...
堆 堆是一棵完全二叉树,如下图,也是一个优先队列。 小顶堆:所有节点的左右孩子节点都小于或者等于父节点 大顶堆:所有节点的左右孩子节点都大于或者...
快慢指针法 设置两个指针fast和slow,都指向头节点,一个一次移动两次,一个一次移动一次,如果,有一个时刻,他们两个相遇了,或者fast的n...