본문 바로가기

Archive/Algorithm

(13)
[DataStructure] Hash 자료구조 개념 정리 * 다음 포스팅은 Hash 자료구조의 개념에 대한 내용을 포함하고 있습니다. 실질적인 구현 및 C++ STL map의 사용 방법에 대한 정보를 원하시는 분은 다음 포스팅을 참고해 주세요. * 개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있으며, 지속적으로 수정 및 보완 해 나갈 예정입니다. 언제나 지적은 환영합니다! Related → C++ STL map 사용 방법 정리 → Hash 자료구조 구현 with C/C++ (미완성) _Contents #1 About Hash DataStructure - Hashing & Hash Function #2 Collision - Chaining : 체이닝 - Open Addressing : 개방 주소법 #3 Hash 장단점 ..
[DataStructure] 연결 리스트 : Linked List 개념 정리 * 개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다. * 다음 포스팅은 Linked List (연결 리스트) 자료구조의 개념에 대한 내용을 포함하고 있으며 실질적인 구현 및 STL list의 사용 방법에 대한 정보를 원하시는 분은 다음 포스팅을 참고해 주세요. 연관 포스팅 → Linked List 구현 with C/C++ (미완성) → C++ STL List 사용 방법 _Contents #1 연결 리스트란? #2 연결 리스트의 종류 #2.1 단일 연결 리스트 (Singly Linked List) #2.2 이중 연결 리스트 (Doubly Linked LIst) #2.3 원형 연결 리스트 (Circular Linked List) #3 연결 리스트의 시간 복잡도..
[Algorithm] 에라토스테네스의 채 : 소수 판별 알고리즘 * 개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다. _contents #1 소수 구하기 #2 에라토스테네스의 채 _ref https://www.youtube.com/watch?v=5ypkoEgFdH8 #1 소수 구하기 소수(PrimeNumber)란 1과 자신만을 약수로 가지고 있는 자연수를 의미한다. 프로그래밍으로 소수를 구하는 다양한 방식의 알고리즘이 존재하는데, 어떤 알고리즘을 선택하느냐에 따라 시간복잡도가 달라진다. 첫 번째로 소개할 소수 판별 알고리즘 코드는 다음과 같다. // isPrimeNumber 시간복잡도 : O(N) // 2 ~ x - 1 의 수 중에서 하나라도 약수가 존재하면 소수가 아니다. bool isPrimeNumber(int x)..
[Algorithm] 백트래킹 : Backtracking _ 미완성 * 다음 포스팅의 모든 내용은 BaaaaaaaaarkingDog 님의 [실전 알고리즘] 0x0B강 - 재귀 강의를 공부한 뒤 개인적인 공부 용도로 간략하게 요약하여 정리한 글 입니다. 자세한 내용은 아래 바킹독님의 블로그에서 확인해 주세요. BaaaaaaaarkingDog | [실전 알고리즘] 0x0C강 - 백트래킹 (encrypted.gg) [실전 알고리즘] 0x0C강 - 백트래킹 이번에는 백트래킹을 배워보도록 하겠습니다. 백트래킹도 재귀와 더불어 많은 사람들이 고통을 호소하는 알고리즘 중 하나이지만 의외로 그 재귀적인 구조에 매료되어서 참재미를 알아버리는 blog.encrypted.gg #1 백트래킹 #1.1 BOJ15649 N과M(1) #1.2 BOJ9663 N-Queen [미완성] #1 백트래킹 ..
[Algorithm] 재귀 알고리즘 : Recursive Algorithm * 다음 포스팅의 모든 내용은 BaaaaaaaaarkingDog 님의 [실전 알고리즘] 0x0B강 - 재귀 강의를 공부한 뒤 개인적인 공부 용도로 간략하게 요약하여 정리한 글 입니다. 자세한 내용은 아래 바킹독님의 블로그에서 확인해 주세요. BaaaaaaaarkingDog | [실전 알고리즘] 0x0B강 - 재귀 (encrypted.gg) [실전 알고리즘] 0x0B강 - 재귀 안녕하세요, 재귀 파트를 시작하겠습니다. 지금 자신있게 말할 수 있는게 있는데 이 파트가 정말 어려울 것입니다. 물론 이전의 내용들 중에서도 군데군데 어려운게 있었겠지만 이번 단원에서 blog.encrypted.gg #1 귀납적 사고 #2 재귀 함수의 특성 _base condition _함수를 명확하게 정의하자 _재귀함수와 반복문 ..
BFS #2 최단 거리 알고리즘 (feat. BOJ 2178 미로탐색) * 개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다. 다음 포스팅은 BaaaaaaaaarkingDog님의 실전 알고리즘 강좌 0x09강-BFS 내용을 공부한 뒤 개인적인 공부 기록 용도로 다시 정리한 글 입니다. 내용 출처 : BaaaaaaaarkingDog | [실전 알고리즘] 0x09강 - BFS (encrypted.gg) [실전 알고리즘] 0x09강 - BFS 안녕하세요 여러분, 드디어 올 것이 왔습니다. 마음의 준비를 단단히 하셔야 합니다.. 드디어 실전 알고리즘 강의에서 첫 번째 고비에 도달했는데 이 강의와 함께 이번 고비를 잘 헤쳐나가면 좋 blog.encrypted.gg 문제 출처 : 2178번: 미로 탐색 (acmicpc.net) 2178번:..
BFS #1 Flood Fill Algorithm (feat. BOJ 1926 그림) * 개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다. 다음 포스팅은 BaaaaaaaaarkingDog님의 실전 알고리즘 강좌 0x09강-BFS 내용을 공부한 뒤 개인적인 공부 기록 용도로 다시 정리한 글 입니다. 내용 출처 : BaaaaaaaarkingDog | [실전 알고리즘] 0x09강 - BFS (encrypted.gg) [실전 알고리즘] 0x09강 - BFS 안녕하세요 여러분, 드디어 올 것이 왔습니다. 마음의 준비를 단단히 하셔야 합니다.. 드디어 실전 알고리즘 강의에서 첫 번째 고비에 도달했는데 이 강의와 함께 이번 고비를 잘 헤쳐나가면 좋 blog.encrypted.gg 문제 출처 : 1926번: 그림 (acmicpc.net) 1926번: 그림..
[GameAlgorithm] 미로 생성 알고리즘 _ Binary Tree Maze Algorithm [목차] #Binary Tree Maze Algorithm #구현 #참고 * 개인적인 공부 내용을 기록하기 위한 용도로 작성된 포스팅 이기에 잘못된 내용이 있을 수 있습니다. * 인프런 Rookiss 선생님의 PART2 자료구조와 알고리즘 - Binary Tree 미로 생성 알고리즘 내용을 기반으로 정리한 글 입니다. #Binary Tree Maze Algorithm Binary Tree Maze Algorithm 이란, 간단한 미로 생성 알고리즘 중 하나로 모든 벽이 막힌 정사각형 모양이 보드판이 있다고 가정할 때 오른쪽 혹은 아래쪽 (위쪽 혹은 왼쪽도 가능) 으로 길을 뚫어 가며 미로를 생성하는 원리의 알고리즘이다. 예를들어 다음과 같은 5X5 타일이 준비되어 있으며, 좌측 상단부터 미로를 생성해 나..