본문 바로가기

전체 글33

[자료구조] Tree(트리)? (개념, 특징, 활용, 파이썬 사용) 트리(Tree)는 컴퓨터 과학에서 데이터를 다루기 위한 중요한 자료구조 중 하나입니다. 트리는 노드(Node)들이 가지(branch)를 통해 연결된 계층적 구조를 가지며, 여러 응용 분야에서 활용됩니다. 특히, 계층적 데이터를 다루거나 데이터를 효율적으로 검색, 추가, 삭제하는 작업에 유용하게 쓰입니다.   기본 개념노드(Node): 트리를 구성하는 기본 요소입니다. 데이터를 저장하며 하나 이상의 자식 노드를 가질 수 있습니다.루트 노드(Root Node): 트리의 최상위에 위치하는 노드입니다. 하나의 트리에는 단 하나의 루트 노드만 존재합니다.부모 노드(Parent Node): 특정 노드의 바로 윗 단계에 위치하는 노드입니다.자식 노드(Child Node): 특정 노드의 하위에 위치하는 노드입니다.형제.. 2024. 5. 1.
[자료구조] Stack과 Queue? (특징, 사용 사례, 예시) Stack(스택)스택(Stack)은 컴퓨터 과학에서 너리 사용되는 기본적인 자료구조 중 하나입니다. 스택은 데이터를 일시적으로 저장하기 위한 선형 구조로, 가장 마지막에 들어온 데이터가 가장 먼저 나가는 '후입선출'(LIFO, Last In First Out)의 특성을 가지고 있습니다. 이러한 특성 때문에 스택은 데이터의 역순 저장, 실행 취소 기능 등에 유용하게 사용됩니다.   특징후입선출(LIFO) 특성: 스택에 데이터를 추가하거나 제거할 때, 항상 스택의 맨 위에서만 작업이 이루어집니다. 이는 책을 쌓아 올린 후 가장 위에 있는 책을 먼저 꺼내는 것과 유사합니다.용도: 스택은 프로그램에서 함수 호출과 반환 주소를 관리하는 데 사용되며, 괄호 검사, 역순 문자열 생성, 웹 브라우저의 뒤로 가기 기능 .. 2024. 4. 30.
[자료구조] ArrayList VS LinkedList ArrayList자바의 java.util 패키지에 포함되어 있는 컬렉션 프레임워크의 일부입니다. 이는 동적 배열의 개념을 구현한 것으로, 배열과 비슷하지만 크기가 자동으로 조정되는 특징을 가지고 있습니다.   특징동적 크기 조정: ArrayList는 필요에 따라 크기가 자동으로 조정됩니다. 즉, 요소를 추가하면 ArrayList는 내부적으로 더 큰 크기의 배열을 생성하여 요소를 복사합니다. 이는 고정된 크기를 가진 배열과 대비됩니다.제네릭 지원: ArrayList는 제네릭을 지원하여, 다양한 타입의 객체를 저장할 수 있습니다. 이를 통해 타입 안정성을 보장하며, 런타임에 타입 캐스팅 오류를 방지할 수 있습니다.순차 접근 및 무작위 접근: ArrayList는 인덱스를 통한 빠른 무작위 접근을 지원합니다. .. 2024. 4. 29.
[데이터 분석] Metatron Discovery란? (개념, 특징, 아키텍처, 구성) Metatron Discovery는 대규모 데이터셋에 대한 분석과 시각화를 용이하게 만들어주는 오픈 소스 분석 플랫폼입니다. 이 플랫폼은 특히 실시간 데이터 분석과 대규모 데이터셋에 대한 빠른 쿼리 응답 시간을 제공하기 위해 Druid 위에 구축되었습니다. Druid는 대규모 실시간 분석을 위해 최적화된 분산형, 컬럼 기반 데이터베이스입니다. OLAP, 시각화, 머신러닝 기술이 융합하여 비전문가도 데이터로부터 상위 레벨의 가치를 빠르고 손쉽게 얻을 수 있는 4세대 OLAP 기반 Business Intelligence (BI) 솔루션입니다.   더보기*OLAP (Online Analytical Processing)?대량의 데이터에서 다차원적인 분석을 실시간으로 수행할 수 있게 하는 기술입니다. 기업의 의사.. 2024. 4. 28.