集計アルゴリズムの秩序配列集計アルゴリズム実装

1433 ワード

集計アルゴリズムの秩序配列集計アルゴリズム実装
単純な秩序配列合成アルゴリズム:関数を書き、2つの秩序の整数配列を入力し、秩序のある整数配列を返します.実装はかなり簡単で、2つの長さの和の長さの配列を作成し、3つの配列をそれぞれ3つのポインタで指し、2つの配列の各要素が結合配列の位置を見つけて挿入し、ある配列のポインタが末尾に達するまで挿入します.もう1つの配列の残りのすべての要素を、配列の末尾に直接挿入します.アルゴリズムの簡単な実現は,パラメータの検証に注意し,配列が秩序化されているかどうかを判断する.

public class MergeOrderedArray { 
 public static int[] merge(int [] a,int []b){ 
  if(!isOrderedArray(a)){ 
   System.out.println(" array a is not an ordered array."); 
   return null; 
  } 
    
  if(!isOrderedArray(b)){ 
   System.out.println(" array b is not an ordered array."); 
   return null; 
  } 
   
  int a_len = a.length; 
  int b_len = b.length; 
  int[] merge = new int[a_len+b_len]; 
  int i=0,j=0,k=0; 
  while(iarray[i+1]){ 
    return false; 
   } 
  } 
  return true; 
 } 
  
 public static void main(String[] args) { 
  int a [] = {1,2,3,4,5}; 
  int b [] = {2,3,4,5,6,7,8,9}; 
  int [] merge = merge(a,b); 
  System.out.println(Arrays.toString(merge)); 
 } 
} 

アルゴリズムの時間的複雑さは,マージされる2つの配列の長さに依存するので,O(M+N),空間的複雑さもO(M+N),すなわち必要な集計配列の長さはM+Nである.
読書に感謝して、みんなを助けることができることを望んで、みんなの当駅に対する支持に感謝します!