Home
Dal Blog
Cancel

Binary search tree

이진 탐색 트리(Binary Search Tree) Binary Search Tree → Binary(이진), Search(탐색), Tree(트리) : 이분화된 탐색을 위한(혹은 특화된) 트리 자료구조 이진 Binary(이진) → 이분화 된다. 트리 구조에서 특정한 형태로 제한을 하게 되는데, 모든 노드의 최대 차수를 2로 제한한 것이다...

Tree

Tree 트리는 값을 가진 노드(Node)와 이 노드들을 연결해주는 간선(Edge)으로 이루어져있다. 그림 상 데이터 1을 가진 노드가 루트(Root) 노드다. 모든 노드들은 0개 이상의 자식(Child) 노드를 갖고 있으며 보통 부모-자식 관계로 부른다. 트리에는 사이클이 존재할 수 없다. 💬 사이클? 시작 노드에서 출발해 다른 노...

Heap

Heap “우선순위 Queue”를 위해 만들어진 자료구조 우선순위 Queue 데이터들이 우선순위를 가지고 있다. 우선순위가 높은 데이터가 먼저 나간다. 배열,연결리스트,힙으로 구현 가능 힙이 가장 효율적(삽입,삭제 : O(logN)) public static void main(String[...

Queue

큐(Queue) 큐는 먼저 집어 넣은 데이터가 먼저 나오는 성질(FIFO : 선입선출, First In First Out)을 지닌 자료 구조이며, 나중에 집어 넣은 데이터가 먼저 나오는 스택과 반대되는 개념을 가졌다. 삽입 및 삭제에 O(1), 탐색에 O(n)이 걸린다. Enqueue : 큐 맨 뒤에 데이터 추가 Dequeue : 큐 ...

Stack

Stack 가장 마지막으로 들어간 데이터가 가장 첫 번째로 나오는 성질(LIFO(후입선출), Last In First Out)을 가진 자료 구조이다. [JVM 함수 호출 스택, Stack Overflow 에러] 에서의 스택 JVM public class JvmStack { public static void main...

Java collection framework

Java Collection FrameWork 자바에서 컬렉션 프레임워크(collection framework)란 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미한다. 일정 타입의 데이터들이 모여 쉽게 가공 할 수 있도록 지원하는 자료구조들의 뼈대(기본 구조) 자바에서 제공하는 Collection은 크...

List

List List Interface는 대표적인 선형 자료구조로 주로 순서가 있는 데이터를 목록으로 이용할 수 있도록 만들어진 인터페이스다. List를 통해 구현된 클래스들은 ‘동적 크기’를 갖으며 배열처럼 사용할 수 있게 되어있다. → 배열의 기능 + 동적 크기 할당 List Interface를 구현하는 클래스 ArrayList...

Linkedlist

연결 리스트 연결 리스트는 데이터를 감싼 노드를 포인터로 연결해서 공간적인 효율성을 극대화 시킨 자료 구조다. 삽입과 삭제가 O(1)이 걸리며 탐색에는 O(n)이 걸린다. 구조 연결 리스트는 아래와 같이 노드와 포인터로 이루어져 있고 다음 노드와 연결되어 있다. 자료의 주소 값으로 노드를 이용해 서로 연결되어 있는 구조를 갖는다. ...

Array

배열 자료형의 집합 같은 타입의 변수들로 이루어져있다. 크기가 정해져있다. 인접한 메모리 위치에 있는 데이터를 모아놓은 집합이다. 중복을 허용하고 순서(index)가 있다. 🐣 index는 0부터 시작한다. 시간 복잡도 여기서 설명하는 배열은 ‘정적 배열’을 기반으로 설명한다. 💬 정적 배열? 배열은 연속해있는 ...

연관관계

연관관계 RDBMS는 정해진 데이터 스키마에 따라 데이터를 저장한다. NoSql은 json 형태의 도큐먼트 형식으로 데이터를 저장한다. 🌹 RDBMS의 꽃 “연관관계”에 대해서 알아본다. 연관관계 목차 연관관계 이론 👈🏻 연관관계 적용 연관관계 적용2(refactoring) 연관관계 적용3(궁금증 해결하기) 연관관계 적...