ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [자료구조]
    CS 2020. 7. 25. 23:41

     

    1) Array 

    - 인덱스o.  조회유리
    - 크기변경x.  삽입(공간부족) / 삭제(공간낭비) 불리

     

    2) List

    - 순서가 있는 엘레먼트 모임

    - 인덱스가 있으나 Array와 달리 데이터에 종속적이지 않음

     

    # ArrayList

    - 내부적으로 배열사용. 인덱스o. 조회유리

    - 삽입, 삭제시 데이터 이동 연산이 추가되어 느림

     

    # LinkedList

    - 배열x. 인덱스x. 다음 노드의 주소값 존재함. 

    - 조회시 Head에서 시작함 O(n) 

    - 삽입 / 삭제 유리 O(n)

     

     

    3) Queue
    - FIFO, 시작 포인터 Front. 끝 포인터 Rear
    - enqueue 데이터 삽입. dequeue 데이터 추출

    - 선형 큐는 삽입, 삭제시 크기제약이 있어 불리함  (* 대체 원형큐)

    - 줄서기. Buffer

    4) Stack
    - LIFO. underflow , overflow 문제가 있음
    - push 데이터 삽입. pop 데이터 추출
    - 트리 구조의 탐색에서 깊이 우선 탐색에 사용

     

    5) Graph

    - 상하 개념이 없는 Node(vertax)와 Edge(line)의 집합

    - 배열과 리스트로 구현될 수 있다

    - 지하철 노선도, 매칭/추천 알고리즘에 사용

       

    [그래프, 인접행렬, 인접리스트]

    Node = {0, 1, 2, 3, 4}

    Edge = {(0,1), (0,2), (1,2), (1,3)}

    Graph = {Node, Edge}

     

    6) Tree

    - 계층 구조로 연결된 형태. 노드

    - 루트. 리프. 부모. 자식. 형제. 조상. 자손

    - 댓글, 카테고리 

     

    (우) [Binary Tree - 노드별 자식을 최대 2개만 갖는 트리]

     

     

    ** https://visualgo.net/

    ** https://github.com/rayleighko/js4newbie/tree/master/Data_structure

     

    'CS' 카테고리의 다른 글

    [WEB]  (0) 2020.06.15
    [시스템구조]  (0) 2020.06.15
    [네트워크] OSI 7계층 과 TCP/IP  (0) 2020.06.15
Designed by Tistory.