1.位图的理解
我们都明白图形格式中位图储存方式,其实就是以象素为单位的小方块,一格一格的纵横累积起来. 每一个小方块代表一种颜色,当然,如果对于黑白的二色图来说更加简单,只需要一个bit位即可表示. 这和我们的数据在计算机中的存储格式是相似的,内存条的也像是一格一格的bit位纵横交错而成. 因为这样的启发,我们发现一个个bit位象列队一样排列着,顺序相当严谨,如果我们的数据能够通过一种转换方式(逻辑上)能有序的和bit位一一对应起来的话,那么我们按照bit位的顺序把它输出来不就是排序的数据集合吗?
2.索引的概念
通过上面的描述,我们很容易联想到一样东西-索引。索引对于我们数据库的使用无疑相当重要,以至于现在很多数据量巨大的单表查询的性能完全仰仗于它.它和位图的相似性在于:如果我们把每一行数据看作一个单位的数据,那么索引可以看作是该数据通过一种转化方式映射到某个存储空间,如果数据的顺序和索引的顺序是一致的话,那么当我们按序对该存储空间访问时,就得到了有序的数据集.当然很多情况下,索引都是数据的一部分,然而在Oracle中有函数索引的概念,它就完全表达了这种转化方式和映射关系了.
3.排序的一种巧妙方法
位图天生和排序分不开,因为它是最本质的有序载体. 有一种问题如下:现有某市的所有7位数字的电话号码,要求我们按序输出.
分析: 问题的目标-是对数字进行排序 问题的条件-7位数字,简单看作0000000到9999999
问题的环境-一个市的电话号码,数量不菲,极有可能接近1000万,任何排序方法的时间
和空间代价都很大.
联想: 抓住问题的意义,电话号码在本问题上的一个现实意义就是该电话号码在整个电话号码集合上的位子,更具有特征的是,电话号码本身就反应了这么一个位子信息.如果我们设立1000万个bit位,每一位表示该位置上电话号码是否存在(设定1为存在,0-不存在),位号就是电话号码本身,那么我们遍历所有的位,输出位号为1的电话号码,不就是排序的电话号码吗? 巧妙之处: 因为我们利用了数据本身的意义!
描述过程:
1.把整个bit位组初始化为0(000000000000......00000000)
2.读入所有的号码,在号码对应的Bit上置1
3.循环: for(int i=0;i<10000000;++i) { //i就是电话号码 if(bit[i]==1){ print i; }
4.扩展位图排序本身需要一定的环境,就像上面描述的数量大,且和位置数字序号的意义吻合. 当然,我们看到了位图排序的高效与精彩巧妙之处,对于我们的数据进行排序的时候,可不可以思考一下: 分析我们的数据特征很关键,任何问题可能都是从分析特征找突破口的,考虑一下我们的数据存不存在一种转化方法使得他能映射到这种数字关系上来.构造的过程也是你的创造.
分享到:
相关推荐
(安装方法:https://blog.csdn.net/zj499063104/article/details/91606978) 作为java初学者用eclipse开发时,经常会遇到一个问题,当我们想查看函数(方法)的具体实现时,会通过F5或者Ctrl+鼠标左键,进入函数。...
使用java语言,快速入门酷Q机器人编写。,快速入门,快速入门。 运行步骤: 1.必须依赖环境酷Q,然后安装插件CQP_HTTP ,启动运行即可 2.运行Java代码类:Mydemo1 3.QQ发送消息给登录酷Q的号 4.效果图如博客所示
标题中的“博客https://blog.csdn.net/weixin_49457347/article/details/1236所需文件”表明这是一个与特定博客文章相关的压缩包,但没有提供足够的信息来直接解释博客的内容。从描述中也无法获取更多细节,它只是...
构建dubbo项目的时候会遇到: 操作步骤: http://blog.csdn.net/gjldwz/article/details/50555922 Multiple annotations found at this line: - cvc-complex-type.2.4.c: The matching wildcard... 3) the root element
本项目是基于java开发的前端项目。 jdk1.8 tomcat7 mysql5.7 环境搭建教程:http://programmer.ischoolbar.com/index.php/article/article/id/169.html
10【源码】数据可视化:基于 Echarts +Java SpringBoot 实现的动态实时大屏范例 - 运动健康 https://yydatav.blog.csdn.net/article/details/123826876 9【源码】数据可视化:基于 Echarts +Java SpringBoot 实现的...
抽象工厂模式 http://www.cnblogs.com/java-my-life/archive/2012/03/28/2418836.html 工厂方法 http://www.cnblogs.com/java-my-life/archive/2012/03/25/2416227.html 建造者模式 ...
简单的学生信息管理系统,实现对用户类型的不同权限管理(增删改查). 文章介绍:https://blog.csdn.net/qq_56886142/article/details/122740969?spm=1001.2014.3001.5501
程序员表白程序,开放源码,不断更新(第三篇:第二弹),这是loveyue系列的源码,详情请参照博客:http://blog.csdn.net/wuxia2001/article/details/45743641
项目介绍:https://blog.csdn.net/weixin_40805686/article/details/99221539 在线演示地址:http://www.weichufeng.cn/csdn/shopCar/shopCar.html
- [http://www.codeceo.com/article/10-java-array-method.html](http://www.codeceo.com/article/10-java-array-method.html) - **知识点**:介绍了Java中数组的各种操作方法,如排序、反转等。 3. **ImportNew ...
与标题一致的描叙,你值得拥有,确实很值。...http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2013/0204/836.html http://www.iteye.com/topic/1117043 http://www.devdiv.com/thread-101586-1-1.html ...
http://www.360doc.com/content/17/0301/10/40723314_632895111.shtml http://www.360doc.com/content/11/0120/23/1964482_87982213.shtml http://www.cnblogs.com/yongren1zu/p/6274460.html ...
eclipse :配置tomcat:http://programmer.ischoolbar.com/index.php/article/article/id/10.html jdk7和jdk8都可以,其他的没试过 tomcat7 MySQL:管理工具:navicat:...
http://blog.csdn.net/xiangjianbo127/article/details/8610007 http://blog.csdn.net/xiangjianbo127/article/details/8610413 http://blog.csdn.net/xiangjianbo127/article/details/8610755 ...
官方地址:http://mhdd.com/,其他下载地址:https://hddguru.com/software/2006.02.10-Magic-Boot-Disk/,使用方法请参考我的博文:https://blog.csdn.net/sdnuwjw/article/details/90143711
参见文档:http://blog.csdn.net/dijkstar/article/details/23095407;PJ Naughter在codeproject上的网站有很多其他的MFC开源库:http://www.codeproject.com/Articles/519/PJ-Naughter-s-Freeware-Library
优优云验证码识别官方网站:http://www.uudama.com/ 相关函数说明:http://www.uudama.com/process.html 这个是DEMO下载,整个工程请去优优云验证码识别WIKI页面下载:...
eclipse :配置tomcat:http://programmer.ischoolbar.com/index.php/article/article/id/10.html jdk7和jdk8都可以,其他的没试过 tomcat7 MySQL:管理工具:navicat:...
更多Python&Echarts版的数据可视化大屏源码: ...更多Java SpringBoot&Echarts版的数据可视化大屏源码: https://yydatav.blog.csdn.net/article/details/123652970 更多《工厂订单出入库信息管理系统》案例源码: ...