[Data Structure] #2 Set,Dictionary,Hash

yeji kang·2020년 8월 10일
0
post-thumbnail

1. Set

데이터를 비순차적으로 저장할 수 있는 순열 자료구조입니다.

특징

  • 삽입 순서대로 저장되지 않는다.
  • 수정이 가능합니다.
  • 동일한 값을 여러번 삽입 불가능하다.
  • Fast Lookup이 필요할 때 주로 씁니다.

코드 예제 (Set)

ES6에서 제공하는 Set 객체에 대해 알아봅시다. ES6에서의 Set 은 정렬이 됩니다. 중복된 요소를 삽입할 수 없습니다. 값 또는 객체를 저장할 수 있습니다.

Dictionary

Key-value 형태의 값을 저장할 수 있는 자료구조입니다.

특징

  • 특정 순서대로 데이터를 리턴하지 않습니다.
  • Key 값은 중복될 수 없습니다.중복된 key가 있다면 먼저 있던 key와 value 를 대체합니다.
  • 수정 가능합니다.(mutable)

구조

  • key 값의 해쉬값을 구한 후 해쉬 값에 속해있는 bucket에 값을 저장한다.
  • bucket에는 하나의 해쉬값만 들어있는 것이 아닙니다. 해당 버킷에 가서 같은 해쉬값을..

생성 방법

create 1 ) 데이터가 주어지거나 딕셔너리의 내용이 고정되어 있는 경우 사용되는 방법입니다.
create 2 ) 변수를 선언한 뒤, 데이터 베이스를 조회해서 필요한 정보를 동적으로 채워야할 때 편리합니다.
create 3 ) 숫자로 딕셔너리의 키로 사용할 수 있지만 문자열만 키로 사용되는 경우 사용할 수 있는 방법입니다.

예)

  • 키와 값을 묶어서 데이터를 표현해야 할 때 유용합니다.
  • 실제로 데이터베이스에서 읽어들인 값을 dictionary로 변환해서 자주 사용합니다.

Hash

단방향(one way) 암호화 입니다.
입력 데이터를 변환하여 원본 데이터로 복호화할 수 없도록 하는 과정입니다.
ex) SHA(보안 해시 알고리즘) - SHA 함수를 이용하여 문자열 데이터를 입력받아서 해시값을 구할 수 있습니다.

0개의 댓글