목록hash (2)
책 읽다가 코딩하다 죽을래
🤔 우린 한 번이라도 고민해본 적이 있지 않은가? 우리가 흔히 아는 배열은 다음과 같다 만약 c언어의 배열인 int sample[5] = [11,22,33,44,55]; 라는 배열이 있다고 생각해보자 그럼 첫번째부터 마지막까지 순서대로 나열되어 메모리에 할당된다는 것은 다 알고 있을 것이다. 여기서 중요한건 메모리에 들어가는 데이터 타입이 한 가지(정수를 나타내는 int는 4byte)로 통일되어있으니 모든 배열의 요소는 4바이트씩 할당되어 빈틈없이 연속적으로 나열된다. 즉 자료구조에서 말하는 배열은 동일한 크기의 메모리 공간이 빈틈없이 연속적으로 나열되는 자료구조이다. 우리는 이러한 배열을 밀집 배열(dense array)라 부른다. 하지만 자바스크립트의 배열은 다르다. const array = [ 's..
오늘은 보안에서 가장 자주 사용되는 해시함수의 근본인 자료구조 해시를 배워보겠다 📚 해시 테이블이란 컴퓨팅에서 키를 값에 매핑할 수 있는 구조인, 연관 배열 추가에 사용되는 자료 구조이다. 해시 테이블은 해시 함수를 사용하여 색인(index)을 버킷(bucket)이나 슬롯(slot)의 배열로 계산한다. 데이터를 다루는 기법 중에 하나로 데이터의 검색과 저장이 아주 빠르게 진행된다. 💡 해시 테이블의 원리 해시 테이블은 파이썬의 딕셔너리(dictionary)와 같다 menu = {"apple": 1000, "potato": 500, "melon": 9000, "iceCream": 1500} 해시 테이블은 자료의 접근이 O(1)이다 menu에서 melon의 가격을 찾고 싶다면 menu의 인덱스를 모두 찾지 ..