演算法 · 4 個細項
Bit Manipulation位元運算
整數在記憶體裡就是一串位元。AND、OR、XOR、移位這幾個運算都是單一 CPU 指令,用對了能把某些問題壓到常數時間,也能用一個整數表示一整個集合。
為什麼要學 Bit Manipulation
現實中的應用細項
4 篇#演算法複雜度難度狀態
01Bitwise Basics 基本運算AND / OR / XOR / NOT / 移位,取位、設位、清位用在:權限旗標、硬體暫存器、壓縮儲存O(1)空間 O(1)可學習02XOR Tricks XOR 技巧a ^ a = 0、a ^ 0 = a,交換與抵消用在:Single Number、缺少的數字、不用暫存變數的交換O(n)空間 O(1)可學習03Counting Bits 位元計數Brian Kernighan 的 n & (n−1)用在:漢明距離、population countO(n)空間 O(1)可學習04Subset Enumeration 位元列舉子集0 到 2ⁿ−1 每個整數就是一個子集用在:小規模組合問題、Bitmask DP 的前置O(2ⁿ)空間 O(1)可學習