[자료구조] 1. 자료구조의 이해

최진민·2022년 3월 10일
0

자료구조

목록 보기
1/2
post-thumbnail

자료구조에 대해 이해하고 각 자료구조가 갖는 특징과 예시에 대한 포스팅

의의


  • 자료구조 : 데이터의 타입과 값에 대해 접근하며, 저장, 수정 및 관리하는 것을 말합니다.
  • 자료구조를 사용하는 이유
    • 체계적인 데이터 저장
    • 효율적 데이터 관리
    • 특정 문제 상황을 쉽게 해결하기 위한 접근용 (특히, 알고리즘과 밀접한 관려이 있습니다.)

종류


  • 자료구조의 종류와 구분(이미지)

  • 설명 (as JAVA)
    • 단순구조 (primitive type)
      • 2진수 : 01로 이루어진 수 (ex) 10 = 1010)
      • 정수 / 실수
        • 정수 : byte(8bits), short(16bits), int(32bits), long(64bits)
        • 실수 : float(32bits), double(64bits)
      • 문자 / 문자열
        • 문자 : char(16bits)
        • 문자열 : 자바에서 문자열은 char형 배열과 String을 사용한다.
    • ⭐️ 선형 구조
      • 리스트 / 배열
        • 리스트 : List, ArrayList(single thread), Vector(multi thread)
        • 배열 : 정수, 실수, 문자형의 배열 (int[], float[], char 등)
      • 연결리스트 (LinkedList)
        • 단순 : 노드가 다음 노드를 가르킵니다.
        • 이중 : 각 노드가 이전 / 다음 노드를 가르킵니다.
        • 다중 : 각 노드가 2개 이상의 노드를 가르킵니다.
        • 원형 : 마지막 위치의 노드가 첫 번째 노드를 가르킵니다.
          • 원형 이중 : 첫 번째 노드의 이전 노드는 마지막 노드입니다.
      • 스택(Stack) : 선입후출
      • 큐(Queue) : 선입선출
        • 덱(Dequeue) : 양방향 큐로서, 구조의 첫 위치와 마지막 위치에 데이터를 삽입할수도 있고 빼낼 수도 있습니다.
    • 비선형 구조
      • 트리 : 부모 노드와 해당 노드에 연결된 자식 노드의 집합, 계층구조
        • 이진 : 자식이 최대 두 개 (힙 → 이진 트리에 특성(최대, 최소)을 부여)
      • 그래프 : 노드(vertex)와 간선(edge)의 집합 (표현 : G(V,E)
        • 방향 : 간선에 방향이 존재 (ㅇ → ㅇ)
        • 무방향 : 간선에 방향이 존재하지 않음 (ㅇ - ㅇ)

각 자료구조 별로 갖는 특징에 대해 포스팅하겠습니다!

profile
열심히 해보자9999

0개의 댓글