귀속 예제
private static int func2(int n){
if(n==1 || n==2){
return 1;
}
else{
//
return func2(n-1)+func2(n-2);
}
}
이 방법은 n회로 귀속되고 시간의 복잡도는 O(2^n)2이다. 수조가 점증 서열인지 아닌지를 판단하여 점증 함수func3를 실현하고arr수조가 점증 서열인지 아닌지를 판단하는 수조truefalse
private static boolean func3(int[] arr){
return func3(arr,0,arr.length-1);
}
private static boolean func3(int[] arr,int i,int j){
if(i+1>j){
return true;
}
if (arr[i]>arr[i+1]){
return false;
}
return func3(arr,i+1,j);
}
3. 루트를 루트로 하는 단일 체인 테이블의 유효한 노드 수량을 되돌려 줍니다.먼저 체인 테이블 노드 클래스를 정의한 다음 메소드 노드 클래스를 작성합니다.
class Entry{
int data;
Entry next;
public Entry(int data, Entry next) {
this.data = data;
this.next = next;
}
}
방법:
private int func4(Entry root) {
if(root==null){
return 0;
}else{
return 1+func4(root.next);
}
}
테스트:
public void test02(){
Entry root = new Entry(0, null);
Entry n1 = new Entry(10, null);
Entry n2 = new Entry(10, null);
Entry n3 = new Entry(10, null);
Entry n4 = new Entry(10, null);
root.next = n1;
n1.next = n2;
n2.next = n3;
n3.next = n4;
System.out.println(" :" + func4(root));
}
4. 빠른 정렬(귀속 방법) 빠른 정렬의 시간 복잡도: O(log2n), 최악: O(n^2) 빠른 정렬이 질서정연할수록 효율도 낮아진다. 기본적인 질서정연한 서열에서 정렬을 하는 것은 정렬을 삽입하는 것이 더욱 빠르고 최적화된다. 데이터가 어느 정도 줄어들면 빠른 정렬 안정성을 삽입으로 대체한다. 불안정
//
private static void quickSort(int[] arr, int i, int j) {
if(i > j)
return;
int l = partation(arr, i, j); // left == right
// i l-1
quickSort(arr, i, l-1);
// l+1 j
quickSort(arr, l+1, j);
}
// , ,
private static int partation(int[] arr, int l, int r) {
int val=arr[l];
while(ll && arr[r]>val){
r--;
}
//2. val l , l++
if(ll && arr[l]
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.