트라이

알고리즘/자료구조

[백준] 9202번 Boggle (JAVA)

문제 https://www.acmicpc.net/problem/9202 9202번: Boggle 각각의 Boggle에 대해, 얻을 수 있는 최대 점수, 가장 긴 단어, 찾은 단어의 개수를 출력한다. 한 Boggle에서 같은 단어를 여러 번 찾은 경우에는 한 번만 찾은 것으로 센다. 가장 긴 단어가 여러 개 www.acmicpc.net 설명 Boggle에서 단어는 인접한 글자(가로, 세로, 대각선)를 이용해서 만들 수 있다. 하지만, 한 주사위는 단어에 한 번만 사용할 수 있다. 단어는 게임 사전에 등재되어 있는 단어만 올바른 단어이다. 단어 사전을 만들어 단어를 빠르게 검색할 수 있는 방법으로는 트라이가 있다. 트라이를 구현하기 위해 TrieNode 클래스를 만들고 필요한 메서드들을 만든다. class ..

알고리즘/자료구조

[CS] 트라이

트라이 (Trie) 문자열을 빠르게 검색할 수 있는 K진 트리 구조의 자료구조 단어 사전을 트라이로 생성한 후 찾을 단어가 생기면 트라이를 사용하여 검색한다. 트라이의 루트 노드는 항상 공백문자열 상태를 의미한다. 트라이에 단어 삽입하기 루트 노드부터 시작하여 삽입할 단어의 첫 글자부터 트라이를 탐색 만약 현재 노드의 자식 중 현재 입력 중인 철자에 해당하는 자식이 있다면 해당하는 자식 노드로 이동하고, 없다면 새로운 자식을 추가 단어를 삽입한 후에, 탐색된 마지막 노드에 현재 입력된 단어의 정보를 추가 트라이에 존재하는 가장 긴 문자열의 길이를 L이라 하고 총 문자열들의 수를 M이라 하자. 처음 트라이를 구축할 때에는 M개에 대해서 L만큼 걸리기 때문에 수행시간은 \(O(L \times M)\) 이다...

damon-911
'트라이' 태그의 글 목록