cs 자료구조 2

[CS 자료구조] 이진 트리에 대해서

기본 용어 정리Node(노드) : 트리의 각 요소Root(루트) : 최상단 노드Parent(부모) : 자식 노드를 가진 노드Child(자식) : 다른 노드의 자식Leaf(잎) : 자식이 없는 노드Subtree(서브트리) : 특정 노드를 루트로 하는 트리전위 순회(preorder traverse) : Root먼저 방문 (Root -> Left Child-> Right Child... )중위 순회(inorder traverse) : Left Child -> Root -> Right Child후위 순회(postorder traverse) : Left Child -> Right Child -> Root이진트리란?각 노드가 최대 두 개(0,1,2)의 자식을 가지는 트리 자료구조.효율적인 검색, 삽입, 삭제 연산을..

[CS 자료구조] Array, ArrayList, LinkedList

1. 배열 (Array)선언 시 크기를 고정. 메모리 할당이 정적으로 이루어져 이후에는 변경할 수 없다. ( JS에서는 동적으로 증감)메모리에 연속적으로 저장되어 인덱스를 통해 빠르게 접근이 가능동일한 데이터 타입 요소만 저장 가능정적 데이터 저장 시 유용 (ex: 요일 이름, 월 이름 등)인덱스를 통한 빠른 접근 시간 - O(1)간단한 구현크기 제한으로 인해 메모리 낭비 혹은 넘침 현상 발생중간에 요소 삽입 및 삭제 시 많은 요소를 이동시켜야 함 - O(n)인덱스를 가지고 탐색하는 과정을 거친다면 효율적이나 추가/삭제 시는 비효율 1) Java 예시public static void main(String[] args) { // int 자료형 배열 선언 및 초기화 int[] numbers = {..