전체 글
-
트라이(Trie)와 접두사 트리(Prefix Tree)의 차이점과 사용예시practice_자료구조 2024. 10. 14. 15:13
트라이(Trie)와 접두사 트리(Prefix Tree)의 차이점과 사용예시 •트라이와 접두사 트리는 동일한 자료구조를 나타냅니다.•이들은 문자열을 저장하고 검색하는 데 최적화된 트리로, •각 노드는 문자열의 한 문자와 연결된 자식 노드를 가집니다. •접두사 트리는 문자열의 접두사 공통성을 활용하여 검색 효율을 높입니다. **트라이(Trie)**와 **접두사 트리(Prefix Tree)**는 사실 동일한 개념을 가리킵니다. **"트라이"**는 **"접두사 트리"**의 다른 이름이며, 용어만 다를 뿐이지 그 구조와 기능은 동일합니다. ### 트라이(Trie)와 접두사 트리(Prefix Tree)의 관계 - **Trie**는 **Prefix Tree**의 또 다른 명칭입니다. "Trie"는 "Retrieva..
-
벨만-포드(Bellman-Ford) 알고리즘과 다익스트라(Dijkstra) 알고리즘의 차이점과 사용practice_자료구조 2024. 10. 14. 14:43
벨만-포드(Bellman-Ford) 알고리즘과 다익스트라(Dijkstra) 알고리즘의 차이점과 사용은 어떻게 사용되는지 알려주세요 •다익스트라와 벨만 포드 알고리즘은 모두 그래프에서 최단 경로를 구하기 위해 사용되는 알고리즘 •다익스트라는 보다 효율적인 대신, 양수 가중치만을 지원하고벨만 포드는 상대적으로 비효율적이지만 음수 가중치도 사용 가능 아래그림) 다익스트라 알고리즘 아래그림) •다익스트라 알고리즘은 각 단계에서 Greedy 하게, 가장 짧은 경로를 선택함매 단계에서, 방문하지 않았던 노드 중에서, 가장 짧은 경로 선택아래 예시에서 (1번에서 시작), 다익스트라는 1 -> 3을 선택할 것 아래그림_ 벨만-포드(Bellman-Ford) 알고리즘출처 https://www.geeksforgeek..
-
(Red-Black Tree)의 기본 속성과 그 왜곡 방지 방법practice_자료구조 2024. 10. 14. 14:39
Q. (Red-Black Tree)의 기본 속성과 그 왜곡 방지 방법은 어떤건가요 **레드-블랙 트리(Red-Black Tree)**는 이진 탐색 트리의 변형으로, 트리가 **자기 균형**을 유지하기 위한 특정 규칙을 따릅니다. 이러한 규칙들이 **왜곡**(불균형)을 방지하는 역할을 합니다. 트리가 한쪽으로 치우치지 않도록 균형을 유지하기 위해 색상 변경과 회전 같은 연산을 사용합니다. ### 레드-블랙 트리의 기본 속성 (규칙) 1. **노드는 빨간색 또는 검은색이다**. - 각 노드는 빨간색(Red) 또는 검은색(Black)의 색상을 가집니다. 2. **루트 노드는 항상 검은색이다**. - 트리의 최상위 노드(루트)는 항상 검은색입니다. 3. **모든 리프 노드(NIL 노드..
-
9. B- / B+ 트리 차이점practice_자료구조 2024. 10. 14. 14:24
B- / B+ 트리 차이점 알려주세요. B-트리에 대해서는 내부 노드와 리프 노드 모두에 데이터를 저장합니다. 그러나 B+트리는 리프 노드 에만 데이터를 저장합니다. B+트리는 범위 쿼리(구간검색)에서 유리하며, B-트리는 검색, 삽입, 삭제 연산이 더 유리합니다. - **B-트리**는 모든 노드에 데이터를 저장하며, 탐색 시 내부 노드에서도 데이터를 찾을 수 있습니다.- **B+트리**는 데이터가 리프 노드에만 저장되며, 리프 노드가 연결 리스트로 연결되어 있어 순차 접근 성능이 더 우수합니다. =======================================================================================B-트리와 B+트리는 **데이터베이스**와 **파일..
-
트라이(Trie) 자료구조의 기본 개념과 예시practice_자료구조 2024. 10. 14. 13:53
Q. 트라이(Trie) 자료구조의 기본 개념과 예시는 구체적으로 어떤건가요 트라이는 **문자열 검색**에 특화된 트리 구조로, 주로 자동 완성, 접두사 검색, 사전 구현에 사용됩니다. 각 노드는 하나의 문자를 저장하며, 문자열은 루트에서부터 각 문자를 따라가면서 표현됩니다. 접두사를 공유하므로 문자열 탐색이 빠르며, 삽입 및 탐색 시간 복잡도는 문자열 길이에 비례해 O(L)입니다. ### 주요 특징 - **빠른 문자열 탐색**과 삽입- **활용 예**: 자동완성시스템 예: be까지 간후 bee가 자동완성됨------------------------------------------------------------------------------ 트라이(Trie)는 주로 **문자열 검색**을 효율적으로 처..
-
11.사이클 탐지practice_자료구조 2024. 10. 14. 13:46
Q. 그래프에서 사이클 탐지(Cycle Detection) 방법 중 깊이 우선 탐색(DFS) 기반 방법은 무엇인가요 DFS를 활용한 사이클 탐지 방법은 노드를 방문할 때마다 해당 노드의 상태를 추적하는 방식입니다. 탐색 중에 이미 방문한 노드가 현재 경로에 포함되어 있으면 사이클이 있다고 판단합니다. 보통 그래프를 재귀적으로 탐색하여 이러한 사이클을 발견합니다 관련 개념:DFS(Depth First Search): 그래프의 노드를 깊이 우선으로 탐색하는 방법입니다.Back Edge(백 엣지): DFS 탐색 중 현재 경로에 있는 노드로 연결된 간선을 의미합니다.Visited Status(방문 상태): 노드의 방문 여부를 기록하여 사이클을 찾아내는 방식입니다
-
5. 그래프 탐색- DFS,BFSpractice_자료구조/트리 2024. 10. 14. 11:49
문제: 그래프에서 깊이 우선 탐색(Depth-First Search, DFS)과 너비 우선 탐색 (Breadth-First Search, BFS)의 개념과 예시를 들어주세요. DFS는 가능한 하나의 길을 깊이로 끝까지 탐색하고, 그 후에 필요시(막히면)이전 단계로 돌아가는 방법입니다. BFS는 시작 노드에서 가까운 노드부터 순서대로 탐색하는 방법입니다. DFS는 스택을 사용하고 BFS는 큐를 사용합니다.DFS는 경로를 빠르게 탐색에 유리하지만 찾은 경로가 시작노드와의 거리가 최단거리는 알수없으나,BFS는 찾은경로가 최단 경로임을 보장할수 있습니다.관련 개념:Depth-First Search (깊이 우선 탐색): 깊이 방향으로 경로를 탐색하는 데 적합한 그래프 탐색 알고리즘입니 다. Bre..
-
감독학습 vs 비지도학습 (Supervised vs Unsupervised): 분류, 군집화practice_인공지능,머신러닝 2024. 10. 13. 14:14
**감독학습(Supervised Learning)**과 **비지도학습(Unsupervised Learning)**은 머신러닝에서 데이터를 학습시키는 두 가지 주요 방식입니다. 두 방법의 차이와 주요 기법인 **분류(Classification)**와 **군집화(Clustering)**를 비교하면 다음과 같습니다. ### 1. **감독학습(Supervised Learning)** - **정의**: 입력 데이터와 그에 해당하는 **레이블(정답)**이 있는 경우에 사용됩니다. 주어진 데이터를 바탕으로 정답과 일치하는 패턴을 학습하고, 새로운 데이터에 대해 올바른 출력을 예측합니다. - **주요 목적**: 정답이 주어진 상태에서 데이터를 학습하여 미래의 입력에 대한 예측을 정확하게 수행하는 것. - **주요 알고..