算法练习 · 将数组中的0全部移动到末尾(二)

上一篇中介绍了一种算法,可以在复杂度为O(n)的情况下将一个数组中所有为0的元素移动到最末尾去,这一章使用一种更为精彩的算法实现这个效果 问题:如以下数组。将数组中的2个0移动到数组末尾 限制:只能遍历一次数组 代码实现如下 private static void moveZero1(

图解数据结构和算法(四) · 归并排序(Merge Sort) java实现

java实现归并排序 简介 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称

图解数据结构和算法(三) · 冒泡排序(Bubble Sort) java实现

Bubble Sort搭配动图直观的讲解排序过程。通过动图直观的展示排序过程,结合动图使用java代码实现每一次的移动,直观的解释了排序思路。

图解数据结构和算法(二) · 选择排序(Selection Sort) java实现

使用java实现选择排序 简介 选择排序是每次循环都从未被选择的数组中选取一个最小值放在数组前面。第一次循环将全部数组中的最小值放在下标为0的位置,此时,下标为0的数被视为已被选择数组;第二次循环将从未被选择的数组从选出第二最小值放在下标为1的位置……由此循环到数组中不包含未被选择的数为止。 排

图解数据结构和算法(一) · 插入排序(Insertion Sort) java实现

java实现插入排序算法 简介: 插入排序的核心思想: 左边的元素是有序数组,然后通过和左边元素相对比,找到合适的位置进行插入,并且把插入位置之后的元素往后移动 复杂度 时间复杂度:所有元素都是逆序的情况下,则需要进行1+2+3+4+....n-1 = n2 = O(n2) 空间复杂度:
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×