[자바스크립트] 자료구조 해시테이블과 배열 비교

hoonie·2021년 8월 22일
0

자바스크립트

목록 보기
2/3
post-thumbnail

해시테이블이란?

  • Key, Value를 이용하여 만들어진 자료 구조
  • 검색하고자 하는 key값을 입력받고 해쉬 함수를 돌려서 받은 해쉬 코드를
    인덱스로 환산을하여 데이터에 접근하는 방식인 자료구조

배열 vs 해시테이블

배열

people = [
  {name:"john", age=24},
  {name:"hoon", age=21},
  {name:"hyeon", age=34},
  {name:"superman", age=44},
]
  • 만약 hyeon의 나이를 알고 알고 싶으면 선형검색(순차적으로 검색하는 것)을 통하여 처음부터 순차적으로 배열을 탐색하게 된다. 이것은 배열 내 원소가 많아지면 많아질수록 시간이 오래 걸리게 될 것이다.

해시테이블

	people = {
      john : 24,
      hoon : 21,
      hyeon : 34,
      superman : 44
    }
  • 위 배열의 선형검색의 시간복잡도의 단점을 해결하려면 위와 같은 구조로 프로그래밍 하면 된다. 왼쪽에 있는 john, hoon, hyeon, superman이 key값이며, 이 키를 통하여 원하는 value값을 바로 찾아낼 수 있다.
  • 해쉬코드로 바로 데이터에 다이렉트로 접근하기때문에 배열보다 훨씬 빨리 접근이 가능

0개의 댓글