오늘의 포스팅 내용은 저번의 깊이우선탐색(Depth-First Search)에 이어서 너비우선탐색(Breadth-First Search)이다. 깊이우선탐색(DFS)와는 다르게 너비우선탐색(BFS)은 큐를 사용한다. 이번에도 역시 다음과 같은 상황이 있다고 해보자. 이 상황에서 L을 찾아줘! 라는 요구사항이 있다면 답을 찾기위해 BFS는 어떻게 동작할까? 너비우선탐색의 정의는 맹목적 탐색방법의 하나로 시작 정점을 방문한 후 시작 정점에 인접한 모든 정점들을 우선 방문하는 방법이다. 더 이상 방문하지 않은 정점이 없을 때까지 방문하지 않은 모든 정점들에 대해서도 너비 우선 검색을 적용한다. 라고 위키백과에 써있다. 너비우선탐색은 노드를 선택하고 추가하는 과정에서 큐을 사용한다. 그리고 너비우선탐색 이라는 말..
오늘의 포스팅 내용은 깊이우선탐색(Depth-First Search)과 너비우선탐색(Breadth-First Search)이다. 최단경로(Shortest Path) 알고리즘에 들어가기전에 몸풀기라고 생각하시고 가벼운 마음으로 읽어보면 될꺼 같다. 우선 깊이우선탐색(DFS)의 경우 스택을 너비우선탐색(BFS)은 큐를 사용한다. 우선 이런 탐색방법을 왜 하는지부터 알아보자. 다음과 같은 상황이 있다고 해보자. 이 상황에서 L을 찾아줘! 와 같이 정렬이 되지 않은 트리 혹은 그래프와 같은 자료구조에서 어떠한 특정 조건을 만족하는 상황을 찾는데 사용된다. 그렇다면 이러한 상황에서 길을 찾기위해 DFS와 BFS는 어떻게 동작할까? 우선 깊이우선탐색부터 알아보자. 깊이 우선탐색의 정의는 맹목적 탐색방법의 하나로 탐..
오늘의 포스팅 내용은 이진탐색트리(BST) 입니다! 우선 이진탐색트리에 대한 설명에 앞서 트리에 대해서 짧게 설명하고 지나가겠습니다. " 트리 구조란 그래프의 일종으로, 여러 노드가 한 노드를 가리킬 수 없는 구조이다. 간단하게는 회로가 없고, 서로 다른 두 노드를 잇는 길이 하나뿐인 그래프를 트리라고 부른다. 트리에서 최상위 노드를 루트 노드(root node 뿌리 노드)라고 한다. 또한 노드 A가 노드 B를 가리킬 때 A를 B의 부모 노드(parent node), B를 A의 자식 노드(child node)라고 한다. 자식 노드가 없는 노드를 잎 노드(leaf node 리프 노드)라고 한다. 잎 노드가 아닌 노드를 내부 노드(internal node)라고 한다. " 고 위키피디아에 나와있습니다.ㅎ 그리..
- Total
- Today
- Yesterday
- db
- 루비 상수
- InnoDB
- 루비
- 루비 메타프로그래밍
- ruby
- dead lock
- 페어 프로그래밍
- Pair-programming
- ruby meta programming
- 인덱스
- 트랜잭션
- MySQL
- Autoloading
- metaprogramming
- next key lock
- gap lock
- lock
- 되추적
- mysql lock
- MySQL 인덱스
- 메타프로그래밍
- autoload_paths
- innoDB lock
- 페어프로그래밍
- 넥스트 키 락
- 엘라스틱서치 기초
- MySQL 족보
- Elasticsearch Cluster
- 갭 락
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |