Data Structures

    [Data Structures][02-3] 하노이 타워 : The Tower of Hanoi

    본 글은 윤성우의 열혈 자료구조 책을 읽고, 강의를 수강하고 복습한 것을 기록한 글입니다. 강의 교안 또한 참고하여 작성하였습니다. (강의 교안의 경우 오렌지 미디어에서 다운로드할 수 있습니다) 목차 Chapter 02. 재 귀(Recursion) Chapter 02-3: 하노이 타워 : The Tower of Hanoi - 하노이 타워 문제의 이해 - 하노이 타워 문제 해결의 예 - 반복되는 일련의 과정을 찾기 위한 힌트 - 하노이 타워의 반복 패턴 연구 - 하노이 타워 문제의 해결 하노이 타워 : The Tower of Hanoi 함수의 호출 순서를 파악하고 이해하려고 하면 정말 어려워서 이해하기 힘들다. 이제부터는 함수의 호출 관계를 파악하고 문제에 대한 해결책을 찾고 코드로 작성하자. 하노이 타워..

    [Data Structures][02-2] 재귀의 활용

    본 글은 윤성우의 열혈 자료구조 책을 읽고, 강의를 수강하고 복습한 것을 기록한 글입니다. 강의 교안 또한 참고하여 작성하였습니다. (강의 교안의 경우 오렌지 미디어에서 다운로드할 수 있습니다) 목차 Chapter 02. 재 귀(Recursion) Chapter 02-2: 재귀의 활용 - 피보나치 수열 - 이진 탐색 알고리즘의 재귀 구현 재귀의 활용 피보나치 수열 이해 저자는 호출 순서보다 호출 관계에 더 집중하자고 한다. 하노이 타워의 경우는 호출 관계도 어려운데 호출 순서는 더더욱 어렵다고 한다. 예시로는 피보나치수열이 있다. 문제 해결의 논리를 정확하게 파악하고 그 부분을 정확하게 잡아서 해결해야 한다. 그것이 재귀 문제의 핵심 키이다. 피보나치 수열 0, 1, 1, 2, 3, 5, 8, 13, 2..

    [Data Structures][02-1] 함수의 재귀적 호출의 이해

    본 글은 윤성우의 열혈 자료구조 책을 읽고, 강의를 수강하고 복습한 것을 기록한 글입니다. 강의 교안 또한 참고하여 작성하였습니다. (강의 교안의 경우 오렌지 미디어에서 다운로드할 수 있습니다) 목차 Chapter 02. 재 귀(Recursion) Chapter 02-1: 함수의 재귀적 호출의 이해 - 재귀 함수의 기본적인 이해 - 재귀 함수의 디자인 사례 - 팩토리얼의 재귀적 구현 함수의 재귀적 호출의 이해 재귀 함수의 기본적인 이해 재귀 함수의 호출 원리는 컴퓨터 구조상에서 내가 만든 명령문, 즉 재귀 함수의 복사본이 계속 호출되는 것이다. 재진입이 아니라 계속 원본에서 복사본을 호출하는 것이다. 재귀 함수의 간단한 예 void Recursive(int num) { if(num

    [Data Structures][01-2] 알고리즘의 성능 분석 방법

    본 글은 윤성우의 열혈 자료구조 책을 읽고, 강의를 수강하고 복습한 것을 기록한 글입니다. 강의 교안 또한 참고하여 작성하였습니다. (강의 교안의 경우 오렌지 미디어에서 다운로드할 수 있습니다) 목차 - 시간 복잡도 & 공간 복잡도 - 순차 탐색 알고리즘과 시간 복잡도 - 최악의 경우와 최상의 경우 - 순차 탐색 최악의 경우 시간 복잡도 - 순차 탐색 평균적 경우 시간 복잡도 - 이진 탐색 알고리즘의 소개 - 이진 탐색 알고리즘 최악의 경우 시간 복잡도 - 빅-오 표기법(Big-Oh Notation) - 단순하게 빅-오 구하기 - 대표적인 빅-오 - 순차 탐색 알고리즘 vs 이진 탐색 알고리즘 - 빅-오에 대한 수학적 접근 시간 복잡도 & 공간 복잡도 알고리즘을 평가하는 두 가지 요소 - 시간 복잡도(t..