[Java] 자료 구조

2023. 2. 21. 12:43·Java/Base
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 > Base' 카테고리의 다른 글

[Java] Map - 전화번호부 프로그램 구현  (0) 2023.02.22
[Java] 컬렉션 프레임워크 (List, Set, Map)  (0) 2023.02.22
[Java] Thread - 은행 계좌 입출금에 대한 동기화 기능 구현  (0) 2023.02.19
[Java] 쓰레드 (Thread)  (0) 2023.02.19
[Java] 제네릭 (Generic)  (0) 2023.02.17
'Java/Base' 카테고리의 다른 글
  • [Java] Map - 전화번호부 프로그램 구현
  • [Java] 컬렉션 프레임워크 (List, Set, Map)
  • [Java] Thread - 은행 계좌 입출금에 대한 동기화 기능 구현
  • [Java] 쓰레드 (Thread)
스응
스응
    반응형
    250x250
  • 스응
    이서영의 개발 블로그
    스응
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 분류 전체보기 (385)
      • Java (134)
        • Base (54)
        • Spring Boot (37)
        • JSP (16)
        • Swing (GUI) (20)
        • Design Pattern (7)
      • C# (13)
      • PHP (18)
      • SQL (27)
      • Vue.js (9)
      • Tailwind CSS (4)
      • TypeScript (7)
      • HTML & CSS (27)
      • JavaScript (26)
      • jQuery (10)
      • Android (3)
      • - - - - - - - - - - - - - - (0)
      • Hotkeys (5)
      • CS (30)
      • IT Notes (13)
      • Error Notes (17)
      • Team Project (24)
        • Airlines Web Project (12)
        • University Web Project (6)
        • Strikers 1945 GUI Project (6)
      • My Project (18)
        • Library Web Project (8)
        • Pet Shopping Mall GUI Project (10)
      • etc. (0)
  • 블로그 메뉴

    • Home
    • Write
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    Wordpress
    git
    티스토리챌린지
    Android
    오블완
    tailwindcss
    typeScript
    java
    php
    HTML
    jsp
    Hotkeys
    Codeigniter
    cs
    SpringBoot
    errorNote
    SQL
    jQuery
    CSS
    vuejs
    면접
    http
    js
    SWAGGER
    zapier
    C#
    Swing
    SEO
    개발일지
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.0
스응
[Java] 자료 구조
상단으로

티스토리툴바