본문 바로가기

자료구조3

[BOJ] 1991번: 트리 순회 1991번: 트리 순회 풀이 입력이 알파벳 순서대로 주어진다. 재귀 함수를 잘 이용한다!(재귀 함수 안 쓰면 굉장히 귀찮아짐) 코드 #include #include // hint: these alphabet inputs are inputed as increasing sequence struct Node { int mValue; int mNextLeft; int mNextRight; }; struct Node arr[26]; char root, left, right; void PrintPreorder(int c); void PrintInorder(int c); void PrintPostorder(int c); int main() { int N; for (int i = 0; i < 26; ++i) { arr.. 2018. 5. 11.
선형 구조의 탐색 선형 구조의 탐색 이번 글은 선형 구조란 무엇이고 선형 구조 속에서 탐색하는 대표적인 방법 2가지를 설명한다. 선형 구조란? 선형 구조란 프로그래밍 언어를 배울 때 배우는 배열, 연결 리스트 같은 말 그대로 선 같이 생긴 데이터 구조를 선형 구조라고 한다. 반대로 비선형 구조는 트리, 그래프 등이 있다. [배열] - 대표적인 선형 구조 [연결 리스트] - 얘도 선형 구조다. 선형 탐색 선형 탐색에는 대표적으로 전체 탐색과 이분 탐색(이진 탐색)이 있다. 전체 탐색은 말 그대로 전체를 순환해서 어떠한 값을 찾는 것을 말하고 이분 탐색은 정렬된 선형 구조에서 부분적으로만 탐색을 해서 값을 찾는 부분 탐색을 말한다. 구체적인 예시와 설명을 보면서 설명하면 좋을 것 같다. 전체 탐색 전체 탐색은 전체를 순환하기.. 2018. 5. 5.
[알고리즘] 링크드 리스트에 대해 알고가야 할 것.. 의견 나눠주세요 이 글은 '뇌를 자극하는 알고리즘 - 박상현 저', 이것만은 알고 갑시다에서 나온 내용입니다. (문제가 된다면 바로 내리겠습니다.) 1. 링크드 리스트와 배열의 성능을 다음 세 가지 연산에 관해 비교하여 설명하세요. 삽입 삭제탐색- 링크드 리스트가 삽입/삭제 연산에서 보자면 배열보다 더 빠르다는 것에서는 장점이지만 역으로 특정 위치에 있는 노드를 찾는 것은 배열에 비해 느리다고 할 수 있다... 2. 환형 링크드 리스트의 장점은 헤더 노드를 이용하여 테일 노드의 위치를 바로 파악할 수 있다는 것입니다. 그럼 링크드 리스트나 더블 링크드 리스트에서 환형 링크드 리스트에서처럼 바로 테일 노드의 위치를 알아내게 할 수는 없을까요? 그 방법을 생각해보고 설명하세요. - (아직 생각이 안 떠오르니... 좋은 생각.. 2017. 9. 30.