zoukankan      html  css  js  c++  java
  • bitmap算法

    1、位图是一种非常常用的结构,在数据压缩方面有广泛应用;

    2、如下图,假设是一个整型数据在内存中占用的的32位,从低位到高位,每一位分别对应十进制数字0~31,每bit上值为0或1,表示对应十进制数字是够存在;

    3、

    优点:效率高,占用内存少;

    缺点:无法对存在重复的数据进行排序或者查找,但是也可以有2bitmap。

    4、如何将十进制转换为对应的bit位?(仅考虑无符号整数)

    ①、首先求其在整型数组中的index,我们知道 a[0]对应0~31, a[1]对应32~63,...。所以,假设十进制数N,对应数组下标为index = N / 32 即可;

    ②、然后,寻找其对应数组中整数的哪一位?bitLoc = N % 32;

    ③、利用对a[i]进行移位操作,判断相应为是0或1,从而判断相应整数是否存在。

    5、拓展:也可以利用2bit对应一个整数,这样00,01,10,11四中情况就可以表示多种情况。

    不要让执行的勤奋掩盖思考的懒惰!
  • 相关阅读:
    视觉里程计VO-直接法
    Linux安装libcholmod-dev找不到的解决方法
    Levenberg-Marquadt Method
    Gauss-Newton Method
    CMake
    方差 标准差 协方差
    SFM
    矩阵分解
    kvm学习笔记
    python学习笔记
  • 原文地址:https://www.cnblogs.com/zhiyangjava/p/6512496.html
Copyright © 2011-2022 走看看