delpho

자료구조에 대하여 - 3 본문

카테고리 없음

자료구조에 대하여 - 3

delpho 2022. 7. 7. 13:24

_1. BST의 최악의 경우의 예와 시간복잡도에 대해서 설명해주세요.

 

[ 시간 복잡도 ] 

 

표를 보면 

탐색, 삽입, 삭제의

  • 평균 시간복잡도 👉 O(logN)
  • 최악 시간복잡도 👉 O(N)

 

 

 

 

 

 

 


_2. 피보나치 수열을 코드로 구현하는 방법에 대해서 설명해주세요.

 

 

[ 변수 2개 ] 

public static void main(String[] args) {
        int prevPrevNum = 1; // 전 전 항 (n-2)
        int prevNum = 1; // 이전 항 (n-1)

        for (int i = 3; i < 100; i++) {
            int curNum = prevPrevNum + prevNum; // 현재 항 (n)
            System.out.print(curNum + " ");

            prevPrevNum = prevNum;
            prevNum = curNum;
        }
}

 

 

 

[ 배열 ] 

public static void main(String[] args) {
        // STEP 1. 결과값을 담을 배열 선언
        final int[] arr = new int[100];

        // STEP 2. 첫번째 항과 두번쨰 항 미리 선언
        arr[1] = 1;
        arr[2] = 1;
        
        // STEP 3. 반복문을 이용하여, 계속해서 더해 나간다.
        for (int i = 3; i < 100; i++) {
            arr[i] = arr[i - 1] + arr[i - 2];
            System.out.print(arr[i] + " ");
        }
}

 

 

 

[ 재귀함수 ] 

public class Main {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		int N = in.nextInt();
 
		System.out.println(fibonacci(N));
 
	}
 
	// 피보나치 함수
	static int fibonacci(int N) {
		if (N <= 1)	return N;
		else return fibonacci(N - 1) + fibonacci(N - 2);
	}
}

 

 

 

 

 

 


출처

 

https://mommoo.tistory.com/101

 

[자료구조] 이진탐색트리

안녕하세요. 오늘은 이진 탐색트리 에 대해 포스팅 합니다. 이진 탐색트리 란 이진 탐색트리 는 이진 탐색(Binary Search) 의 아이디어를 채용한 자료구조 입니다. 이진 탐색 은 원소가 정렬되어 있

mommoo.tistory.com

https://memostack.tistory.com/92

 

피보나치 수열 효율적으로 풀어보기 (Java 알고리즘)

피보나치 수열 피보나치 수열을 이전 항 2개를 더한값이 현재 항이 되는 수열이다. 예를들어, A(n) = A(n-1) + A(n-2) (단, A(1) = 1 , A(2) = 1 이다) 를 만족하는 수열 2 3 5 8 13 21 34 55 89 144 233 ... 프로..

memostack.tistory.com

https://st-lab.tistory.com/94

 

[백준] 10870번 : 피보나치 수 5 - JAVA [자바]

 

st-lab.tistory.com