資料結構 二進位制索引樹

2022-01-22 10:40:01 字數 625 閱讀 6045

1 ** 

2 解釋 binary indexed tree made easy | hackerearth

3 應用

1) leetcode 求翻轉對

2) 算數編輯器

先記思路之後整理

1 乙個整數可以用一組 2 的平方和表示

2 hamming weight is the number of 1's in the binary representation of a number.  海明重量是二進位制數中 bit 1 的個數

陣列中從1開始的下標所指元素在bit的深度是下標的 海明重量

3 隔離出乙個整數的最低位的 1,以 a = 10(十進位制) 為例 a = 1010(二進位制), 則設 x = a & (-a) = 1010 & (0101 + 1) = 1010 & 0110 則 x = 0010

4 隔離出去掉乙個整數最低位的1之後的數: a = 12 = 0x1100;去掉最後乙個1變為0x1000的方法是 a & (a - 1) = 1100 & (1100 - 1)

= 1100 & 1011 = 0x1000 (延伸:迴圈利用該方法計算,可快速得到某個整數二進位制中 bit 1的個數)

延伸:分段索引樹

先記思路之後整理

Python二進位制資料結構Struct的具體使用

目錄 在c c 語言中,struct被稱為結構體。而在python中,struct是乙個專門的庫,用於處理位元組串與原生python資料結構型別之間的轉換。本篇,將詳細介紹二進位制資料結構struct的使用方式。struct庫包含了一組處理結構值得模組級函式,以及乙個struct類。格式指示符將由字...

二進位制 二進位制起源

現代通訊技術的基礎是二進位制編碼。早在1865年麥克斯韋總結出麥克斯韋方程組之前,美國人摩斯 morse 於1837年發明了摩斯電碼和有線電報。有線電報的出現,具有劃時代的意義 它讓人類獲得了一種全新的資訊傳遞方式,這種方式 看不見 摸不著 聽不到 完全不同於以往的信件 旗語 號角 烽火,這也是二進...

二進位制資料

今天的問題是處理。本來想在資料庫中只存儲存路徑的,但是同組的同事說別那樣,還是直接存比較好,雖然不知道為什麼一定要存,但是或許他說的有道理吧,至於為什麼暫時還沒想通。處理二進位制遇到的第乙個問題是讀寫的問題,data open filepath,rb data open filepath,wb 作為...