이 기사의 예는 Java 분류 알고리즘의 언덕 요약을 알려줍니다. 참조를 위해 모든 사람을 위해 공유하십시오. 특정 분석은 다음과 같습니다.
서문 : 쉘 정렬은 정렬 삽입 유형입니다. 분류 알고리즘을 직접 삽입하는 개선을 목표로합니다. 이 방법은 DL이므로 증분 분류 감소라고도합니다. 쉘은 1959 년에 지명되었습니다. 이 기사는 주로 Java로 Hill의 분류가 어떻게 달성되는지를 소개합니다.
Hill의 정렬 (감소 증분 방법)은 삽입 클래스 분류에 속합니다. Hill의 분류는 안정적이지 않습니다. 최악의 경우, 실행 효율은 평균 상황에서 구현 효율과 크게 다릅니다.
기본적인 생각 :
먼저 첫 번째 증분으로 정수 D1을 N보다 적게 가져 가서 파일의 모든 레코드를 D1 그룹으로 나눕니다. 모든 거리의 레코드 D1은 동일한 그룹에 배치됩니다. 먼저 각 그룹에 삽입하고 정렬하여 두 번째 증분 D2 <D1을 사용하여 위의 그룹을 반복하고 증분 증가 dt = 1 (dt <dt-l <… <d2 <d1)). 동일한 그룹에 배치되며 직접 삽입됩니다.
코드 구현 :
공개 클래스 테스트 {public static int [] a = {10, 32, 9, 5, 7, 0, 4, 3}; // cycling count variable int index = a.length; // data index 변수 system.out.print (i = 0; i </+) system.out .printf ( "% 3S ", a); system.out.println (" "); Shellsort (index -1); // // (i = 0; i <index -1; i ++를 선택한 후 systerm.out.print를 선택하십시오. ) printf ( "%3s", j, k; int 데이터 길이; // 세분화의 간격 int points. (j = datalength; Exchange 값의 설정 값에서 Exchange 값을 교환 할 때 프로세스의 다음 위치 <0 || 인덱스 .print ( "정렬 :" "" "" "" "" "" "" "" "" "" ""); free (k = 0; k <inndex; k ++) system.out.printf ( "%3s" , a [k]); system.out.println ( "");} datalength = datalength / 2;Hill은 거의 최악의 상황을 분류했습니다. 빠른 분류 및 스태킹 순서를 알아 내지 않기 전에 실제로 좋은 선택입니다. 당신을 도울 수 있기를 바랍니다.
이 기사는 모든 사람의 Java 프로그램 설계에 도움이되기를 바랍니다.