본문 바로가기

Computer Science/Data Structure & Algorithms

(7)
Data Structure, Stack & Queue Applications 지난 시간까지 Stack과 Queue를 배우고 Generic형태로 구현하는 방법에 대해 배웠습니다. Data Structure, Generic Stack & Queue 지난 시간까지 Stack & Queue를 Linked List와 Array 두 가지 데이터 구조로 구현해봤습니다. Data Structure, Stack Stack과 Queue, Hash Table 등 대표적인 Data Structure를 정리해보려 합니다. 42 Seoul에서 PushSwap Project songye.tistory.com 오늘은 이러한 Stack과 Queue를 활용한 Aplication들을 살펴볼 예정입니다. 단순히 알고리즘과 데이터 구조를 아는 것에 그치지 않고 실제 기술을 어디에 적용하고 사용하는가가 훨씬 더 중요합..
Data Structure, Generic Stack & Queue 지난 시간까지 Stack & Queue를 Linked List와 Array 두 가지 데이터 구조로 구현해봤습니다. Data Structure, Stack Stack과 Queue, Hash Table 등 대표적인 Data Structure를 정리해보려 합니다. 42 Seoul에서 PushSwap Project를 구현할 때가 새록새록 나더군요,, 일단 Stack에 대해 알아봅시다 1. 스택이란? 우리가 흔히 일반적으 songye.tistory.com Data Structure, Queue 지난 시간에는 Stack 자료 구조에 대해 알아봤습니다! https://songye.tistory.com/18 Data Structure, Stack Stack과 Queue, Hash Table 등 대표적인 Data Str..
Data Structure, Queue 지난 시간에는 Stack 자료 구조에 대해 알아봤습니다! https://songye.tistory.com/18 Data Structure, Stack Stack과 Queue, Hash Table 등 대표적인 Data Structure를 정리해보려 합니다. 42 Seoul에서 PushSwap Project를 구현할 때가 새록새록 나더군요,, 일단 Stack에 대해 알아봅시다 1. 스택이란? 우리가 흔히 일반적으 songye.tistory.com Stack을 이해하면 Queue는 식은 죽 먹기 1. Queue란? Queue의 영단어 뜻을 찾아보면 대기열이란 의미를 갖고 있습니다. 사진을 보고 한 번 이야기 해봅시다. 음식점, 병원, 어떠 특정 목적을 위해 줄을 서면 먼저 도착한 사람이 먼저 들어가 목적을 수..
Data Structure, Stack Stack과 Queue, Hash Table 등 대표적인 Data Structure를 정리해보려 합니다. 42 Seoul에서 PushSwap Project를 구현할 때가 새록새록 나더군요,, 일단 Stack에 대해 알아봅시다 1. 스택이란? 우리가 흔히 일반적으로 Stack이라 하는 것은 영단어 의미 그대로 쌓다라는 뜻을 갖고 있는데요 프로그래밍에서의 Stack은 단순히 쌓는 것만이 아닌 쌓고 꺼내는 데이터 구조를 의미합니다. 쉽게 이해하기 위해 모든 교수님들이 사용하시는 예제를 한 번 사용하겠습니다 식당 아주머니가 급식판을 추가할 때는 위에부터 추가해주시죠 그리고 우리가 급식판을 가져갈 때는 위에 것부터 순서대로 사용합니다 (그림과 달리 일반적인 경우에) 이러한 구조를 LIFO(Last In First..
Weighted Union-Find Algorithm & Path Compression Union-Find Algorithm, Quick-Union Union-Find Algorithm, Quick-Find 1. 정의 * Union Command, 두 오브젝트를 연결하는 것 * find query, 두 오브젝트가 연결되어있는지 확인하는 것 2. 용도 그림과 같이 A 노드와 B 노드가 있다고 해봅시다. A와 B가 songye.tistory.com Union-Find Algorithm, Quick-Find 1. 정의 * Union Command, 두 오브젝트를 연결하는 것 * find query, 두 오브젝트가 연결되어있는지 확인하는 것 2. 용도 그림과 같이 A 노드와 B 노드가 있다고 해봅시다. A와 B가 연결되어 있는지 확인하 songye.tistory.com 두 포스팅을 보거나 꼭 Qu..
Union-Find Algorithm, Quick-Union Union-Find Algorithm, Quick-Find 1. 정의 * Union Command, 두 오브젝트를 연결하는 것 * find query, 두 오브젝트가 연결되어있는지 확인하는 것 2. 용도 그림과 같이 A 노드와 B 노드가 있다고 해봅시다. A와 B가 연결되어 있는지 확인하 songye.tistory.com Union-Find 알고리즘을 잘 모른다면 이 포스트 먼저 보고 옵시다! 1. 서론 Quick-Union 알고리즘은 Lazy Approach라는 별명이 있습니다. 한 마디로 이 알고리즘을 정리하면 "귀찮은데 나중에 해야징 ㅎ" 입니다,, 처음에는 빠르지만 가면갈 수록 할 일이 늘어나는 알고리즘입니다. 왜 그런지 함께 알아봅시다. 2. Quick-Union 알고리즘 또 보는 반가운 친구 ..
Union-Find Algorithm, Quick-Find 1. 정의 * Union Command, 두 오브젝트를 연결하는 것 * find query, 두 오브젝트가 연결되어있는지 확인하는 것 2. 용도 그림과 같이 A 노드와 B 노드가 있다고 해봅시다. A와 B가 연결되어 있는지 확인하고 싶을 때 find query를 사용합니다. 중간 노드들 간에 연결을 union command를 사용합니다. Union-find를 통해 객체간에 연결 혹은 집합 곧 포함관계를 알 수 있습니다. 예를 들어 컴퓨터간 네트워크 연결 확인 등 있습니다. 3. Quick-Find 알고리즘 말 그대로 find가 빠른 대신 union이 느린 Algorithm입니다. 다음 그림 [3-1] 같은 id라는 Array가 있다고 합시다. Quick-find 알고리즘에서 find는 id[1] 와 id..