算法
jimmy仔生生性性
写的不好有错请指出
展开
-
常见排序算法之堆排序(Java实现)
1. 简介 堆(Heap) 是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵完全二叉树的数组对象。 堆的基本性质: 堆中某个节点的值总是不大于或不小于其父节点的值。 堆总是一棵完全二叉树。 由第一条性质可以得出两种堆的形式 大顶堆:每个节点的值都大于或等于其子节点的值,在堆排序算法中用于升序排列; 小顶堆:每个节点的值都小于或等于其子节点的值,在堆排序算法中用于降序排列; 2.结构图 二叉堆 我们通常是用数组来存储堆,下图是结构与数组的对应 看到下标和堆结构的对应,我们不难发原创 2021-02-02 17:15:47 · 78 阅读 · 0 评论 -
常见排序算法之冒泡排序,选择排序,插入排序(Java实现)
1.冒泡排序 1.1算法思想 比较相邻的元素,对每一对相邻元素进行比较,如果第一个比第二个大,就交换他们两个。从开始第一对到结尾的最后一对。这步做完后,最后的元素会是最大的数。第二轮针对所有的元素重复以上的步骤,除了最后一个数。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。 1.2 代码实现 public static void bubbleSort(int[] arr){ // 冒泡排序,主要思想是进行n趟遍历,每次将最大值放在最后或将最小值冒在最前面,即需要两两比原创 2021-02-01 16:11:35 · 104 阅读 · 0 评论