자료 구조 → 메모리 효율적 사용, 빠르고 안정적인 데이터 처리 한 원소 뒤에 하나의 원소 만이 존재하는 형태, 자료들이 선형으로 나열되어 있는 구조 ex) 배열, 연결 리스트, 스택, 큐 등 원소 간 다대다 관계를 가지는 구조, 계층적 구조 or 망형 구조를 표현하기
배열은 연속된 메모리 공간에 순차적으로 저장된 데이터 모음이다. 배열에 포함된 원소는 순서대로 index가 붙는다. 기본적으로 배열은 고정된 크기를 가지며, 동적으로 크기를 늘릴 수 없다. 예를 들어 배열의 크기를 3 → 4로 늘리고 싶다면 새 메모리를 할당하고 기존
Last In First Out 개념을 가진 선형 자료구조가 스택이다. 함수가 호출되며 생성되는 지역변수, 매개변수가 저장되는 메모리 영역을 스택 메모리라고 한다. 즉, 함수 호출은 스택 자료구조를 통해 메모리에 기억되고 저장된다. 자바스크립트 엔진은 자바스크립트 코드
해시 테이블의 'hash'는 잘게 자른다는 뜻으로, 해시 테이블은 입력받은 key를 잘게 잘라 숫자로 만든다. 즉, key와 값을 받아 key를 해싱하여 나온 index에 값을 저장하는 선형 자료구조가 해시 테이블이다. 삽입은 O(1), 키를 알고있다면 탐색, 삭제도
정렬 : 요소들을 일정한 순서대로 열거하는 알고리즘 정렬 알고리즘의 핵심은 데이터의 교환, 선택, 삽입이다. 버블 정렬단순 선택 정렬단순 삽입 정렬셀 정렬퀵 정렬병합 정렬힙 정렬도수 정렬 안정적 정렬 알고리즘은 값이 같은 원소의 순서가 정렬 후에도 유지된다. 하지만 안
그래프는 정점 (Node)과 정점 사이를 연결하는 간선 (Edge)으로 이루어진 비선형 자료구조이다. 정점은 여러개의 간선을 가질 수 있다. 방향 그래프 & 무방향 그래프로 나눌 수 있다. 방향 그래프 : 간선으로 이어진 정점끼리 양방향 이동이 가능 (A,B) = (B
트리는 방향 그래프의 일종으로 정점(Node)을 가리키는 간선(Edge)이 하나 밖에 없는 구조를 가지고 있다.루트 : 트리의 가장 위쪽 노드리프 : 트리의 가장 아래쪽 노드 = 단말 노드 terminal node = 외부 노드 external node 물리적으로 가장