티스토리 뷰

Algorithm Theory

비트마스킹(Bit Masking)

김남김 2022. 7. 10. 11:50

비트마스킹이란? 

비트 단위로 내가 저장하고싶은 값을 보존하는 것이다.

우리가 4개의 visited 공간을 만들고 싶다면 

파이썬

visited = [0] * (4)

자바

Integer[] visited = new Integer[4] 

 

이런식으로 만들 수 있지만 더욱이 메모리를 아껴서 할당 할 수가 있다. 

바로!  비트로 바꾸는 것이다 0000 을 통해 우리는 4개의 visited를 만들 수 있는 것이다.

0번째를 방문하면 0001

이후 3번째를 방문했다면 1001

이후 1번째를 방문했다면 1011

마지막으로 2번째를 방문했다면 1111이된다. 

 

그렇다. 이게 끝이다.... 0과 1을 이용해서 우리가 원하는데이터 (visited)를 만듦으로 메모리를 최소화하는 것이다. 

아직 비트에 익숙하지 않기에 나중에 다시금 포스팅하도록 하겠다 

'Algorithm Theory' 카테고리의 다른 글

투 포인터(Two Pointers Algorithm)  (0) 2022.07.10
구간합 배열(Prefix Sum)  (0) 2022.07.10
백트래킹(Backtracking)  (0) 2022.07.09
너비 우선 탐색(Breadth-First Search)  (0) 2022.07.09
깊이 우선 탐색(Depth-First Search)  (0) 2022.07.09
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함