IM 1W _ Data Structure - 개념 & Stack & Queue

jungeundelilahLEE·2020년 10월 22일
0

JS_심화

목록 보기
4/17

goal

  1. What is Data Structure
  2. Stack & Queue

What is Data Structure

JS에서 기본적으로 많이 사용하는 자료구조는 배열과 객체가 있다.
배열은 flat한 구조의 데이터를 표현할 때 매우 효과적이다.
하지만, 많은 데이터들은 계층구조 or 트리 형태 or 데이터 간의 연관성을 가지고 있다.
객체는 간단한 mapping 구조로, 서로 연관성을 표현하는 자료구조에 적절하다.
하지만, key&value 값을 효과적으로 저장하고 검색(retrieve)하기에는 어려움이 있다.
문제해결을 위해서 적절한 자료구조를 선택하는 것은, 해당 문제를 해결하는 데 가장 중요한 요소이다.
다양한 자료구조를 통해서 각 자료구조가 어떠한 특징을 가지고 있고, 어떻게 데이터를 처리하는지, 각 자료구조의 장점과 단점, 처리하는 데에 있어서 얼마나 시간적으로 효율성을 가지고 있는지(시간복잡도)를 따져보아야 한다.


  • 자료란?
    : 문자, 소리, 그림, 영상 등의 형태로 된 의미 단위 / 의미있게 정리하면 정보가 됨

    • 컴퓨터의 언어 : only 명령 & 데이터
    • 인간과 컴퓨터 사이를 연결해주는 언어 : 컴파일러
  • 데이터 타입이란?
    : 컴퓨터에 0과 1로 저장되어 있는 데이터를 -> 인간이 사용하는 여러가지 데이터들의 종류로 해석하기 위한 장치 / 따라서, 같은 이진 데이터라도 인간의 해석에 따라 다른 데이터가 될 수 있음

    • 0과 1 (2진수) / 각각을 비트라고 함
    • 1byte (8bit) : 8개의 비트가 모여서 1byte가 됨
    • 이러한 1byte씩 묶을 수 있고, 이들을 각각의 단위로 묶을 수도 있음
    • 원시타입 : 정수, 실수 / 문자 / 논리(참거짓)
    • 사용자 정의 타입 : 구조체 / 클래스 등
  • 자료구조란?

    • 데이터 타입 : 하나의 데이터를 어떻게 해석할지 정의한 것
    • 자료구조 : 여러 데이터들의 묶음을 어떻게 저장하고 사용할지 정의한 것
      ex) 배열 / 스택 / 트리 등
    • 특정한 상황에 문제를 해결하는 데 특화되어 있음
      ex) 천만개 데이터를 다룰 때, st 자료구조를 통해서는 천만번이 아닌 몇십번의 탐색으로도 알아낼 수 있음 ..

Stack & Queue


  • Stack이란?
    :

  • Queue란?
    :

시간/공간 복잡도
big-O 표기법

profile
delilah's journey

0개의 댓글