数据结构与算法
六出_
这个作者很懒,什么都没留下…
展开
-
直接插入排序
直接插入排序算法思想:1.从序列第一个元素开始,该元素可以认为已经被排好序。2. 取出下一个元素,设为待插入元素,在已经排序的元素序列中从后向前扫描,如果该元素(已排序)大于待插入元素,将该元素移到下一位置。3. 重复步骤2,直到找到已排序的元素小于或者等于待排序元素的位置,插入元素。4. 重复2,3步骤,完成排序。算法过程:算法实现:package com.bjsxt.sort;import java.util.Arrays;public class StraightInsert原创 2021-02-02 21:39:22 · 67 阅读 · 0 评论 -
选择排序
选择排序算法思想:整个数列分成两部分:前面是有序数列,后面是无序数列。初始状态下,整个数列都是无序的,有序数列是空。必须进行n-1趟循环才可以排好序。每一趟都会使一个元素位于其最终位置。每趟先假设无序数列的第1个元素(整个数列的第i个元素)是最小的,让当前的最小数,从第i+1个元素开始比较,一直比较到最后一个元素。如果发现更小的数,就假设当前数是最小数。一趟比较完后,将发现最小数和无序数列的第一个数交换(如果最小数不是无序数列的第一个数)算法过程:算法实现:package com.原创 2021-02-01 22:20:19 · 61 阅读 · 0 评论 -
排序
排序算法内部排序和外部排序:一类是整个排序过程在内存储器中进行,称为内部排序;另一类是由于待排序元素数量太大,以至于内存储器无法容纳全部数据,排序需要借助外部存储设备才能完成,这类排序称为外部排序。比较排序和非比较排序:大部分排序都是需要通过比较首先来判断大小,作为排序的依据的。但是也有例外的,比如计数排序、基数排序,不需要进行比较。效率可以做到更高,但是会有一些限制条件,也可能需要更多的空间。...原创 2021-02-01 20:09:57 · 104 阅读 · 0 评论 -
冒泡排序
冒泡排序package com.zhang.array;import java.util.Arrays;//冒泡排序/* * 1.比较数组中,两个相邻的元素,如果后一个数比前一个数小,则交换其位置。 * 2.每一次比较,都会产生出一个最大或最小的数字,即会确定一个数字的最终位置。 * 3.下一轮可以少一次排序。 * 4.依次循环,直至排好序。 * 5.其时间复杂度为o(n^2) * 6.可以通过设置flag标识位减少没有意义的比较 * */public class Demo05原创 2021-01-24 14:35:48 · 75 阅读 · 0 评论