728x90

해시테이블(Hash Table)과 체이닝(Chaining)에 대한 간략한 정리

해싱과, 해시테이블 그리고 충돌을 처리하는 체이닝 기법에 대해서 한 번 정리해보자.이 글을 시작하기에 앞서, 스택오버플로우의 많은 자료들 그리고 위키피디아, 각종 유튜브 강의를 참고했다는 사실을 먼저 알립니다. 해시와 해시함수 해시 함수(Hash Function)는 데이터의 효율적인 관리를 위해 길이가 각기 다른 데이터를 고정 길이로 매핑하는 함수다. 이 때 매핑하는 과정을 해싱(Hashing)이라고 하며, 매핑하기 전의 데이터를 키(Key), 매핑 후의 데이터를 해시 값(Hash Value; 때로는 Value)이라 한다. 해시의 목적 해시 테이블(Hash Table)해시 테이블은 데이터의 해시 값을 테이블 내 주소로 이용해먹는 탐색 알고리즘으로, 잘 구현하면 이진 탐색보다 빠르게 처리할 수 있다. 암호..

공학도들을 위한 게임, Factorio(팩토리오)

공학도들을 위한 게임, Factorio(팩토리오) 외계 생물들이 있는 행성에 내던져진 채로,거기에 있는 자원으로 우주선을 만들어 쏘아올리는 게임팩토리오에 대해서 소개하고자 한다. 스팀에서 24000원에 판매되고 있는 얼리 억세스(Early Access) 게임이다.이전에 리뷰했던 프로젝트 좀보이드처럼 얼리 억세스지만 지속적인 패치가 이루어지고 있으며,순정 모드에 지루해지더라도 고 퀄리티의 모드들이 존재해 지루함을 만회할 수가 있다.그리고 하나 더, 이 게임은 한글을 공식적으로 지원하는 게임이다! 게임 트레일러만 보면 우리도 인텔, 삼성전자가 될 수 있을 것처럼 보이지만,막상 게임을 직접 플레이해보면 그게 쉬운 일이 아니라는 걸 깨닫게 된다.아무것도 모르는 유저들의 손에 곡괭이 하나랑 철판 10개를 던져주고..

게임 리뷰 2017.02.27 0

부동산, 채권, 주식으로 대재벌이 되자, 캐피탈리즘 리뷰

경영 게임을 좋아하는 사람들이라면 모바일 게임에서도 경영 시뮬레이션 게임을 한 번쯤은 찾게 된다. 필자 역시 그런 부류 중 하나였고, 그런 측면에서 많은 경영 시뮬레이션 게임을 플레이했는데 이름 자체부터 이런 필자를 매료한 모바일 게임, 캐피탈리즘에 대해서 리뷰를 해보려고 한다. 종류 : 경영 & 시뮬레이션개발 : SyGame유통 : SyGame플랫폼 : 구글 처음 보자마자 느낀 건, '이 게임 결국 주식으로 돈을 벌어야 겠구나.'였다. 게임의 전부라고 봐야할 정도로 주식이 차지하는 비중이 큰데, 그에 반해 주식의 매도량을 게임 시간 기준 한 달을 바탕으로 수량을 제한한 부분은 아쉬운 부분이다. 아무래도 과금 요소를 넣어야 하다 보니까, 넣은 부분이 아닌가 싶은데, 그게 큰 효과를 보는 것 같지도 않다...

게임 리뷰 2018.02.04 0

내 스팀 계정의 가치를 알아보자!

스팀을 써본 사람들이라면, 그리고 그곳에서 엄청난 가격에 지갑을 할인당해본 사람이라면,"내 계정의 가치가 얼마나 될까?"에 대한 궁금증을 갖기 마련이다.그 외에도 게임을 사서 플레이한 총 시간, 사놓고서도 플레이하지 않은 게임의 비율, 게임 별 플레이 시간을 한 번에 보고 싶을 때도 있는데, 스팀 내에서 지원하지 않거나, 지원하지만 파악하기 불편해서 찾다가 포기하는 경우가 대부분이다. 그래서 대부분은 수동으로 계산하지 않는 이상 파악하기 쉽지 않은데, 이것을 한 방에 해결해주는 사이트가 있는데 바로 steamdb.info다. [링크 주소] https://steamdb.info/calculator/ 스팀 게임들의 할인 추이와 한국이 아닌 다른 나라와의 가격을 비교하는 사이트 steamdb.info(링크)를..

기타 2017.08.13 0

Algorithm] Closest Pair(최근접 점의 쌍 찾기)

Algorithm] Closest Pair(최근접 점의 쌍 찾기) Closest Pair(말 그대로 최근접 점의 쌍 찾기)XY 좌표 평면 상에 존재하는 점들 중, 가장 근접한 쌍을 골라내는 알고리즘이다.가장 간단한 건, 한 점과 연결되는 모든 점들과의 거리를 계산하고이를 바탕으로 최근접 거리를 탐색하는 것이다. 이 경우 N개의 점이 있다고 했을 때 N(N-1)/2의 비교,Big O로는 N^2에 해당하는 시간복잡도가 소요된다.점의 수가 100개 내외여도 꽤나 느려지는 것이 어마어마한 단점이다. 이 때 우리가 생각해볼 수 있는 것이 분할정복 방식(Divide and Conquer)인데,부분 문제를 만들어서 계산과 비교 회수를 비약적으로 줄일 수 있다.x축을 기준으로 정렬을 수행하고(이 때 정렬은 퀵정렬로 가..

728x90