Python點陣圖索引學習
class Bitmap(object): def __init__(self, max): self.size = self.calcElemIndex(max, True) self.array = [0 for i in range(self.size)] def calcElemIndex(self, num, up=False): '''up為True則為向上取整, 否則為向下取整''' if up: return int((num + 31 ) / 31) #向上取整 return num / 31 def calcBitIndex(self, num): return num % 31 def set(self, num): elemIndex = int(self.calcElemIndex(num)) byteIndex = self.calcBitIndex(num) elem = self.array[elemIndex] self.array[elemIndex] = elem | (1 << byteIndex) def clean(self, i): elemIndex = int(self.calcElemIndex(i)) byteIndex = self.calcBitIndex(i) elem = self.array[elemIndex] self.array[elemIndex] = elem & (~(1 << byteIndex)) def test(self, i): elemIndex =int(self.calcElemIndex(i)) byteIndex = self.calcBitIndex(i) if self.array[elemIndex] & (1 << byteIndex): return True return False MAX = 879 suffle_array = [45, 2, 78, 35, 67, 90, 879, 0, 340, 123, 46] result = [] bitmap = Bitmap(MAX) for num in suffle_array: bitmap.set(num) for i in range(MAX + 1): if bitmap.test(i): result.append(i) print ('原始陣列為: %s' % suffle_array) print ('排序後的陣列為: %s' % result)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29254281/viewspace-2168559/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle索引——點陣圖索引Oracle索引
- 點陣圖索引(Bitmap Index)——從B*樹索引到點陣圖索引索引Index
- 點陣圖索引.sql索引SQL
- 點陣圖索引(Bitmap Index)——索引共用索引Index
- 點陣圖索引(Bitmap Index)——點陣圖索引與資料DML鎖定索引Index
- Oracle-點陣圖索引Oracle索引
- 【基礎知識】索引--點陣圖索引索引
- oracle 點陣圖索引(bitmap index)Oracle索引Index
- 點陣圖索引:原理(BitMap index)索引Index
- 點陣圖索引(bitmap-index)索引Index
- 【點陣圖索引】在點陣圖索引列上進行更新操作的鎖代價研究索引
- 點陣圖索引的工作原理 - Richard索引
- bitmap index點陣圖索引系列(一)Index索引
- B樹索引和點陣圖索引的結構介紹索引
- 【索引】Bitmap點陣圖索引與普通的B-Tree索引鎖的比較索引
- oracle點陣圖索引對DML操作的影響Oracle索引
- 關於ORACLE點陣圖索引內部淺論Oracle索引
- zt_深入理解bitmap index點陣圖索引Index索引
- 使用點陣圖連線索引優化OLAP查詢索引優化
- 【numpy學習筆記】陣列的切片,索引,迭代筆記陣列索引
- B-Tree索引與Bitmap點陣圖索引的鎖代價比較研究索引
- 使用點陣圖連線索引最佳化OLAP查詢索引
- Python學習筆記|Python之索引迭代Python筆記索引
- 點陣圖
- 【MongoDB學習筆記】MongoDB索引那點事MongoDB筆記索引
- MySQL點陣圖索引解決使用者畫像問題MySql索引
- 使用點陣圖索引和星形轉換優化OLAP查詢索引優化
- 使用點陣圖選單項——建立點陣圖 (轉)
- 【Bitmap Index】B-Tree索引與Bitmap點陣圖索引的鎖代價比較研究Index索引
- 點陣圖排序排序
- java知識點學習圖Java
- 點陣圖索引導致的會話阻塞問題(p7)索引會話
- Python學習路線圖Python
- Elasticsearch 學習索引Elasticsearch索引
- MySQL學習 - 索引MySql索引
- 【筆記】Oracle B-tree、點陣圖、全文索引三大索引效能比較及優缺點彙總筆記Oracle索引
- python學習:陣列之列表推導Python陣列
- 關於點陣圖索引的split及bitmap to rowid實現問題索引