排序与查找
分类专栏简介
人类自救指南
这个作者很懒,什么都没留下…
展开
-
二叉树遍历算法
原理:实现:定义二叉树节点:/** * 二叉树节点 * * @author wgm * @since 2021/4/18 */public class BinaryTreeNode { private Integer data; private BinaryTreeNode leftChild; private BinaryTreeNode rightChild; public BinaryTreeNode(Integer data) {原创 2021-04-22 00:39:05 · 102 阅读 · 0 评论 -
二分查找算法的变形:旋转数组
文章目录1 原理2 实现3 测试漫画:“旋转数组”中的二分查找1 原理2 实现import java.util.Arrays;/** * 二分查找算法的应用:旋转数组 * * @author wgm * @since 2021/4/26 */public class RotatedBinarySearch { public static void main(String[] args) { int[] ints = {-30, -30, -15, -2,原创 2021-04-26 15:13:36 · 72 阅读 · 0 评论 -
二分查找算法
原理:实现:import java.util.Arrays;/** * 二分查找算法 * * @author wgm * @since 2021/4/18 */public class BinarySearch { public static void main(String[] args) { int[] ints = {-30, -30, -15, -2, 0, 2, 2, 2, 2, 7, 8, 13, 22, 27, 99, 99, 100, 333,原创 2021-04-22 00:38:48 · 143 阅读 · 0 评论 -
十大排序算法汇总
漫画:“排序算法” 大总结排序最好时间复杂度最坏时间复杂度平均时间复杂度空间复杂度稳定性梯队内的比较插入排序O(n)O(n2)O(n2)O(1)√比较交换次数较少冒泡排序O(n)O(n2)O(n2)O(1)√比较交换次数较多选择排序O(n2)O(n2)O(n2)O(1)×-希尔排序O(n1.3)O(n log^2n)O(n logn)O(1)×归并排序O(n logn)O(n logn)O(n lo原创 2021-04-25 13:54:53 · 142 阅读 · 0 评论 -
十大排序算法之九:基数排序
原理:实现:import java.util.ArrayList;import java.util.Arrays;import java.util.LinkedList;/** * 基数排序 * * @author wgm * @since 2021/4/18 */public class RadixSort { public static void main(String[] args) { int[] ints = {99, 100, -30, 0,原创 2021-04-21 11:03:32 · 101 阅读 · 0 评论 -
十大排序算法之八:计数排序
原理:实现:import java.util.Arrays;/** * 计数排序 * * @author wgm * @since 2021/4/18 */public class CountSort { public static void main(String[] args) { int[] ints = {99, 100, -30, 0, 99, 2, -2, -15, 2, 2, 333, 666, 999, 27, 22, 13, 8, 7, 2,原创 2021-04-21 11:02:09 · 107 阅读 · 0 评论 -
十大排序算法之七:桶排序
原理:实现:import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.LinkedList;/** * 桶排序 * * @author wgm * @since 2021/4/18 */public class BucketSort { public static void main(String[] args) { i原创 2021-04-21 11:01:00 · 138 阅读 · 0 评论 -
十大排序算法之四:堆排序
原理:实现:import java.util.Arrays;/** * 堆排序 * * @author wgm * @since 2021/4/18 */public class HeapSort { public static void main(String[] args) { int[] ints = {99, 100, -30, 0, 99, 2, -2, -15, 2, 2, 333, 666, 999, 27, 22, 13, 8, 7, 2, -原创 2021-04-21 10:49:46 · 92 阅读 · 0 评论 -
十大排序算法之十:归并排序
原理:实现:import java.util.Arrays;/** * 归并排序 * * @author wgm * @since 2021/4/18 */public class MergeSort { public static void main(String[] args) { int[] ints = {99, 100, -30, 0, 99, 2, -2, -15, 2, 2, 333, 666, 999, 27, 22, 13, 8, 7, 2,原创 2021-04-22 00:37:58 · 87 阅读 · 0 评论 -
十大排序算法之二:快速排序
原理:实现:import java.util.Arrays;/** * 快速排序 * * @author wgm * @since 2021/4/18 */public class QuickSort { public static void main(String[] args) { int[] ints = {99, 100, -30, 0, 99, 2, -2, -15, 2, 2, 333, 666, 999, 27, 22, 13, 8, 7, 2,原创 2021-04-21 10:43:42 · 144 阅读 · 0 评论 -
十大排序算法之六:希尔排序
原理:实现:import java.util.Arrays;/** * 希尔排序 * * @author wgm * @since 2021/4/18 */public class ShellSort { public static void main(String[] args) { int[] ints = {99, 100, -30, 0, 99, 2, -2, -15, 2, 2, 333, 666, 999, 27, 22, 13, 8, 7, 2原创 2021-04-21 10:59:45 · 134 阅读 · 0 评论 -
十大排序算法之五:插入排序
原理:实现:import java.util.Arrays;/** * 插入排序 * * @author wgm * @since 2021/4/18 */public class InsertSort { public static void main(String[] args) { int[] ints = {99, 100, -30, 0, 99, 2, -2, -15, 2, 2, 333, 666, 999, 27, 22, 13, 8, 7, 2原创 2021-04-21 10:51:56 · 110 阅读 · 0 评论 -
十大排序算法之三:选择排序
原理:实现:import java.util.Arrays;/** * 选择排序 * * @author wgm * @since 2021/4/18 */public class SelectSort { public static void main(String[] args) { int[] ints = {99, 100, -30, 0, 99, 2, -2, -15, 2, 2, 333, 666, 999, 27, 22, 13, 8, 7, 2原创 2021-04-21 10:45:41 · 113 阅读 · 0 评论 -
十大排序算法之一:冒泡排序
原理:原创 2021-04-21 10:39:23 · 134 阅读 · 0 评论