数据结构
Varpb
大数据从入门到放弃
展开
-
数据结构(线性表)——令A = AUB
Problem Description将所有在线性表Lb中但不在La中的元素插入到La中线性表无序思路思路:遍历b数组元素,若为a数组中不存在的(二分查找:先排序(希尔排序),再查找),则插入public static void main(String[] args) { int[] a = {1,9,5,3,7}; int[] b = {2,7,5,10,9}; a =...原创 2020-05-04 11:07:29 · 421 阅读 · 0 评论 -
数据结构(线性表)——2.归并两个数组
Problem DescriptionLa与Lb为按值非递减有序排列要求将La和Lb归并为一个新的线性表Lc,且Lc中的数据元素仍按值非递减有序排列public static void main(String[] args) { int[] a = {3,5,8,11}; int[] b = {2,6,8,9,11,15,20}; int[] c = new int[a.le...原创 2020-05-04 11:03:40 · 418 阅读 · 0 评论 -
二分查找
查找算法——二分查找步骤先排序,再折半查找java代码实现非递归实现二分查找 public static void main(String[] args) { int[] a = {4,8,1,2,10,5,7,9,3,6}; System.out.println(Arrays.toString(a)); //如果找到的话,返回查找到的位序 //如果没有找到,返回-(插...原创 2020-05-04 08:27:59 · 141 阅读 · 0 评论 -
快速排序
十大排序算法——快速排序特点:思想算法步骤java代码实现优化原创 2020-12-05 16:51:03 · 138 阅读 · 0 评论 -
希尔排序
十大排序算法——希尔排序特点:思想算法步骤java代码实现优化原创 2020-04-25 16:47:05 · 125 阅读 · 0 评论 -
插入排序
十大排序算法——插入排序特点:思想类似打扑克。对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。算法步骤将第一排待排序序列第一个元素看作一个有序序列,把第二个元素到最后一个元素当成是未排序序列。从头到尾依次扫描未排序序列,将扫描到的每个元素插入到有序序列的适当位置(若相等,则将其插入到相等元素之后)。java代码实现优化拆半查找...原创 2020-04-23 16:37:03 · 142 阅读 · 0 评论 -
选择排序
十大排序算法——选择排序特点:简单直观。无论什么数据进去都是O(n^2)的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处是不占用额外的内存空间。思想在一个无序数列中,从第一个元素开始,到倒数第二个元素,每次都选出一个最小或者最大的元素,将它与第一位序个元素进行交换,从而保证,最符合要求(最小或者最大)的元素已经处于第一位。外层循环表示每次循环的初始元素的位序,即(0-a...原创 2020-04-25 10:46:17 · 138 阅读 · 0 评论 -
冒泡排序
十大排序算法——冒泡排序不晓得说什么思想首先,数组元素范围:arr[0]-arr[arr.length-1]。将数组从第一个开始,一到倒数第二个元素(0到arr.length-2),将其与后一个进行比较,如果不是自己要求的顺序,则进行置换。 按照此方法把数列走过一遍。这样每次可以把最不符合序列的元素排到最后一位(最小或者最大),因为数列有arr.length个位置,而第一位不需要再进行比...原创 2020-04-25 10:37:16 · 124 阅读 · 0 评论