본문 바로가기

자료구조

(3)
[JavaScript] 셋(Set) 이란? 셋(Set)은 중복 되지 않는 값(value)들을 모아둔 컬렉션이다. 키(key) : 값(value) 쌍이 아닌 키(key)가 없는 값이 저장된다. 동일한 값(value)이 있다면 set.add(value)를 몇번을 해도 추가가 안된다. 중복을 허용하지 않는 경우 즉, 단 한번만 기록 하는 경우에 사용하기에 적합하다. let testSet = new Set(); let kim = {name : "kim"}; let lee = {name : "lee"}; let choi = {name : "choi"}; testSet.add(kim); testSet.add(lee); testSet.add(choi); testSet.add(lee); // 값 중복 추가 testSet.add(choi); // 값 중복 추가 ..
[JavaScript] 맵(Map) 이란? 키(key)가 있는 데이터를 저장한다는 점에서 객체(Object)와 유사하다. 키(key)에 다양한 자료형을 허용한다. 객체(Object)와 달리 키(key)를 문자형으로 타입 변환 없이 그대로를 유지한다. NaN도 키(key)로 사용 가능하다. 값(value)의 삽입 순서를 기억한다. 객체(Object)는 프로퍼티 순서를 기억하지 못한다. 배열(Array)와 유사하게 내장 메서드 forEach도 지원한다. new Map() // 맵(Map)을 만든다. map.set(key, value) // 키(key)를 이용해 값(value)를 저장 map.get(key) // 키(key)에 해당하는 값을 반환한다. 키(key)가 존재하지 않으면 undefined를 반환 map.has(key) // 키(key)가 존..
Javascript 자료구조 프로그래밍에서 사용되는 기본 데이터 타입 JS의 원시 타입에는 string, number, bollean, null, undefined 가 있다. 여러 데이터를 목적에 맞게 효과적으로 저장하는 자료 구조 JS의 참조 타입에는 object, array, function 이 있다. 저장된 자료의 전후 관계가 1:1 인 경우 데이터 항목 사이의 관계가 1:n 인 경우 스택과 큐 모두 Linear한 자료 구조형이다. 이 둘은 아주 유사한 자료구조이지만, element가 제거되는 방식에 차이가 있다. 스택과 큐는 자바스크립트에 내장되어 있지 않음으로, 사용을 원하면 스스로 구조를 만들어야 한다. 스택은 흔히 아는 자바스크립트 엔진에서의 콜 스택이 제거되는 방식과 동일하다. 마지막으로 삽입된 element가 가장 ..