[파이썬 알고리즘 인터뷰] 트라이

2022. 4. 13. 03:35· CS/algorithm & data structure
  • 트라이: 검색 트리의 일종으로 일반적으로 키가 문자열인, 동적 배열 또는 연관 배열을 저장하는 데 사용되는 정렬된 트리 자료구조
    • 특히 자연어 처리 분야에서 문자열 탐색을 위한 자료구조로 널리 쓰인다
    • 검색을 뜻하는 'retrieval'에서 따옴
    • 다진 트리의 형태
    • 각 문자열 길이만큼만 탐색하면 원하는 결과 찾을 수 있다

208. Implement Trie (Prefix Tree)

- TrieNode 클래스 생성해 딕셔너리로 노드 값 정보, 불리안으로 해당 노드에서 단어 완성 여부 정보를 각 노드에 담는다

-> 삽입이나 검색하려는 문자열 갯수만큼 반복하여 각 노드의 딕셔너리 확인하며 필요한 작업 수행

 

336. Palindrome Pairs

- 부르트 포스 -> 시간 초과 O(n^2)

- 트라이 구현 -> 입력값 철자 역순으로 트라이 구성하고 탐색은 순서대로 -> 탐색이 진행된다 = 그 철자까지 팰린드롬

검은색: 입력값

1. 끝까지 탐색했을 때 word_id 값 있는 경우

2. 끝까지 탐색했을 때 palindrome_word_ids 값 있는 경우

3. 탐색 중간에 word_id 값 있고, 입력값 기준 나머지 철자들이 팰린드롬인 경우

  • @staticmethod 데코레이터로 정의된 메소드는 클래스와 독립적인 함수로서 의미를 강하게 갖는다
  • 사실상 클래스 바깥에 함수를 별도 선언한 것과 같아 클래스 메소드처럼 자유롭게 클래스 인스턴스 접근 제한
저작자표시 비영리 동일조건 (새창열림)

'CS > algorithm & data structure' 카테고리의 다른 글

[파이썬 알고리즘 인터뷰] 이진 검색  (0) 2022.05.03
[파이썬 알고리즘 인터뷰] 정렬  (0) 2022.04.28
[파이썬 알고리즘 인터뷰] 힙  (0) 2022.04.06
[파이썬 알고리즘 인터뷰] 트리  (0) 2022.04.04
[파이썬 알고리즘 인터뷰] 최단 경로 문제  (0) 2022.03.16
'CS/algorithm & data structure' 카테고리의 다른 글
  • [파이썬 알고리즘 인터뷰] 이진 검색
  • [파이썬 알고리즘 인터뷰] 정렬
  • [파이썬 알고리즘 인터뷰] 힙
  • [파이썬 알고리즘 인터뷰] 트리
hjkim0502
hjkim0502
개발 일지
hjkim0502
CODELOG
hjkim0502
글쓰기
전체
오늘
어제
  • Codelog (168)
    • course (61)
      • nomadcoder (5)
      • spartacoding (22)
      • inflearn (27)
      • 생활코딩 (7)
    • CS (68)
      • algorithm & data structure (34)
      • OS (26)
      • CA (0)
      • DB (8)
      • Network (0)
    • 코딩테스트 (2)
    • 이노베이션 캠프 (37)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • til
  • spring
  • JPA
  • ajax
  • 카카오
  • leetcode
  • 인프런
  • 레벨2
  • JPQL
  • 파이썬
  • KOCW
  • Memory
  • 자바
  • API
  • Python
  • dfs
  • ORM
  • html
  • MongoDB
  • css
  • QueryDSL
  • db
  • OS
  • SQL
  • 생활코딩
  • 프로그래머스
  • inflearn
  • cs
  • JS
  • Java

최근 댓글

hELLO · Designed By 정상우.v4.2.2
hjkim0502
[파이썬 알고리즘 인터뷰] 트라이
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.