Data structure

· 🚧
해시 테이블이란? 해시 테이블은 key - value 시스템의 자료구조다다. key 는 배열의 index 처럼 value 에 바로 접근할 수 있도록 하는 값이다. index 와 달리 문자열, 파일 등 다양한 데이터가 가능해서 value와 관련 있는 값으로 설정할 수 있다. fruits = { key: "사과", value: "맛있다", key: "복숭아", value: "딱딱한게 맛있다." } //key값으로 데이터 바로 접근 fruits["사과"] -> "맛있다" 어떻게 가능하지? 사실 해시테이블의 내부는 배열과 비슷하게 index 와 value 로 구성되어 있다. key 는 hash function 을 통해 해시 코드로 계산되고, 이 해시코드는 index 로 환산된다. hash function 은 입..
· 🚧
시간복잡도란? 알고리즘의 성능을 측정하는 방법이다. 실제로 걸리는 시간이 아니라, 이 알고리즘이 입력되는 데이터의 양에 따라 얼마나 많은 단계를 거쳐야 하는지의 비율을 말한다. 빅오(Big-O) 란? 시간 복잡도를 표기하는 방법 중 대표적으로 쓰이는 표기법이다. 입력되는 데이터의 개수를 n이라고 하면 O(n) 같이 표기한다. 참고로, 10개, 100개 데이터에 따른 성능 차이는 미미하다. 하지만, 100000개, 100000000개의 경우를 보면 성능 차이가 눈에 띄게 난다. 그러니 적은 양의 데이터의 경우는 고려하지 않는다. 또 빅오는 대충 이런 비율로 증가할 것이다~ 라는 의미에서 사용되므로 일정하게 증가하는 상수항은 의미가 없어 표기하지 않는다.(n*n-1 이나 n*n 이나 의미는 같으니...) 또..
purpplee
'Data structure' 태그의 글 목록