본문 바로가기
Java

[Java] 자료 구조

by 스응 2023. 2. 21.
728x90
728x90

자료 구조 (Data Structure)

  - 프로그램에서 사용할 많은 데이터를 메모리 상에서 관리하는 여러 구현 방법

  - 성능 좋은 알고리즘의 기반 : 효율적인 자료 구조

  - 자료의 효율적인 관리는 프로그램의 수행 속도와 밀접한 관련이 있음

  - 프로그램에 맞는 최적의 자료 구조를 활용해야 함

      → 여러 자료 구조에 대한 이해 중요

 

 


선형 자료 구조

  - 한 줄로 자료를 관리하는 자료 구조

 

#  배열 (Array)

  - 정해진 크기의 메모리를 먼저 할당받아 사용해야 함

      : 값자료형[] 배열명 = new 값자료형[크기];

  - 자료의 물리적 위치와 논리적 위치가 같음

 

#  연결 리스트 (LinkedList)

  - 자료가 추가될 때마다 메모리를 할당받음

  - 자료는 링크로 연결됨

  - 배열과의 차이점

      : 자료의 물리적 위치와 논리적 위치가 다를 수 있음

 

  - 요소 추가하기

  - 요소 삭제하기

 

#  스택 (Stack)

  - 가장 나중에 입력된 자료가 가장 먼저 출력됨 (LIFO, Last In First Out)

 

  - 요소 추가하기 (push)

  - 요소 삭제하기 (pop)

 

#  큐 (Queue)

  - 가장 먼저 입력된 자료가 가장 먼저 출력됨 (FIFO, First In First Out)

 

  - 요소 추가하기 (enqueue)

  - 요소 삭제하기 (dequeue)

 

비선형 자료 구조

#  트리

  - 부모 노드와 자식 노드 간의 연결로 이루어진 자료 구조

 

  ① 이진 트리 (binary tree)

      - 부모 노드에 자식 노드가 두 개 이하인 트리

 

  ② 이진 검색 트리 (binary search tree)

 

 

320x100
반응형

'Java' 카테고리의 다른 글

[Java] 입출력 스트림 (I/O Stream)  (1) 2023.03.03
[Java] 컬렉션 프레임워크 (List, Set, Map)  (0) 2023.02.22
[Java] 쓰레드 (Thread)  (0) 2023.02.19
[Java] 제네릭 (Generic)  (0) 2023.02.17
[Java Swing] 메서드 및 함수 모음  (1) 2023.02.17

댓글