ro私服 ro私服网每天为您提供更多的ro私服相关咨询,让您及时准备的找到ro私服下载信息,本站最新推出找ro私服一条龙,届时更多的ro私服信息将一览无余,敬请关注ro私服网。 设为主页|收藏本站|网站帮助
奇迹sf 整理记录一下DevExpress中更换Form窗体皮肤的操作过程 - Darren - 博客频道 - CSDN.NET海量数据处理
文章作者:ro私服 文章来源:ro私服,新开ro私服 更新时间:2012-02-23 00:54:29  

将bit-map扩展一下,用2bit表示一个数即可,0表示未出现,1表示出现一次,2表示出现2次及以上,在遍历这些数的时候,如果对应位置的值是0,则将其置为1;如果是1,将其置为2;如果是2,则保持不变。或者我们不用2bit来进行表示,我们用两个bit-map即可模拟实现这个2bit-map,都是一样的道理。

如果说了这么多还没明白什么是Bit-map,那么我们来看一个具体的例子,假设我们要对0-7内的5个元素(4,7,2,5,3)排序(这里假设这些元素没有重复),网通传奇私服发布网。那么我们就可以采用Bit-map的方法来达到排序的目的。要表示8个数,我们就只需要8个Bit(1Bytes),首先我们开辟1Byte的空间,将这些空间的所有Bit位都置为0(如下图:)

(2) 请给出主要的处理流程,算法,以及算法的复杂度。

方案2:可以采用与最大子序列类似的思想来解决。如果我们确定了选择第i列和第j列之间的元素,那么在这个范围内,其实就是一个最大子序列问题。如何确定第i列和第j列可以词用暴搜的方法进行。

基本原理及要点

前言

11. 一个文本文件,找出前10个经常出现的词,但这次文件比较长,说是上亿行或十亿行,总之无法一次读入内存,问最优解。

第1步:新建一个项目,vs2005会自动生成一个form1.cs的窗体,这个窗体也是程序的启动项,请注意,此时的”Form1”继承的是Windows 自带的Form,即”System.Windows.Forms”。而这个Form是不会应用DevExpress的主题样式的。那么我们怎么样才可以让Form应用这些样式呢?

    同时,程序员编程艺术系列将重新开始创作,第十一章以后的部分题目来源将取自下文中的17道海量数据处理的面试题。因为,我们觉得,下文的每一道面试题都值得重新思考,重新深究与学习。再者,编程艺术系列的前十章也是这么来的。若您有任何问题或建议,欢迎不吝指正。谢谢。

    13. 寻找热门查询:

    16. 将多个集合合并成没有交集的集合

    方案1:这个问题可以动态规划的思想解决。设b[i]表示以第i个元素a[i]结尾的最大子序列,那么显然。基于这一点可以很快用代码实现。

    方案1:最先想到的方法就是先对这n个数据进行排序,然后一遍扫描即可确定相邻的最大间隙。但该方法不能满足线性时间的要求。故采取如下方法:

    第6题的方法中,是不是不能保证每个电脑上的前十条,肯定包含最后频率最高的前十条呢?
    比如说第一个文件中:A(4), B(5), C(6), D(3)
    第二个文件中:A(4),B(5),C(3),D(6)
    第三个文件中: A(6), B(5), C(4), D(3)
    如果要选Top(1), 选出来的结果是A,但结果应该是B。

    本博客内曾经整理过有关海量数据处理的10道面试题(),此次除了重复了之前的10道面试题之后,重新多整理了7道。仅作各位参考,不作它用。

    第六步:软件往往有个设置皮肤的地方,这个地方往往是需要枚举出所有皮肤的,把皮肤全部枚举出来放到一个ComboBoxEdit中,代码如下:

    8. 上千万或上亿数据(有重复),统计其中出现次数最多的钱N个数据。

    第二部分、海量数据处理之Bti-map详解

    方案3:

    1. 给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?

    (1) 请描述你解决这个问题的思路;

    参考:

    方案1:首先根据用hash并求模,将文件分解为多个小文件,对于单个文件利用上题的方法求出每个文件件中10个最常出现的词。然后再进行归并处理,找出最终的10个最常出现的词。

      详细出处参考:

      12. 100w个数中找出最大的100个数。

      Bloom filter可以看做是对bit-map的扩展(关于Bloom filter,请参见:)。

      读者反馈@店小二:原文第二个例子中:“找一台内存在2G左右的机器,依次对用hash_map(query, query_count)来统计每个query出现的次数。”由于query会重复,作为key的话,应该使用hash_multimap 。hash_map 不允许key重复。@hywangw:店小二所述的肯定是错的,hash_map(query,query_count)是用来统计每个query的出现次数 又不是存储他们的值 出现一次 把count+1 就行了 用multimap干什么?多谢hywangw)。

      15. 最大间隙问题

      1)已知某个文件内包含一些电话号码,每个号码为8位数字,统计不同号码的个数,jjj.com

      Bloom Filter已在上一篇文章中予以详细阐述,本文接下来着重阐述Bit-map。有任何问题,欢迎不吝指正。

      作者:小桥流水,私服传奇,redfox66,July。

      方案1:顺序读文件中,对于每个词x,取,然后按照该值存到5000个小文件(记为)中。这样每个文件大概是200k左右。如果其中的有的文件超过了1M大小,还可以按照类似的方法继续往下分,直到分解得到的小文件的大小都不超过1M,1.80飞龙元素。对每个小文件,统计每个文件中出现的词以及相应的频率(可以采用trie树/hash_map等),并取出出现频率最大的100个词(可以用含100个结点的最小堆),并把100词及相应的频率存入文件,这样又得到了5000个文件。下一步就是把这5000个文件进行归并(类似与归并排序)的过程了。

        方案1:先大体估计一下这些数的范围,比如这里假设这些数都是32位无符号整数(共有2^32个)。我们把0到2^32-1的整数划分为N个范围段,每个段包含(2^32)/N个整数。比如,第一个段位0到2^32/N-1,第二段为(2^32)/N到(2^32)/N-1,…,第N个段为(2^32)(N-1)/N到2^32-1。然后,扫描每个机器上的N个数,把属于第一个区段的数放到第一个机器上,属于第二个区段的数放到第二个机器上,…,属于第N个区段的数放到第N个机器上。注意这个过程每个机器上存储的数应该是O(N)的。下面我们依次统计每个机器上数的个数,一次累加,直到找到第k个机器,在该机器上累加的数大于或等于(N^2)/2,而在第k-1个机器上的累加数小于(N^2)/2,并把这个数记为x。那么我们要找的中位数在第k个机器中,排在第(N^2)/2-x位。然后我们对第k个机器的数排序,并找出第(N^2)/2-x个数,即为所求的中位数的复杂度是O(N^2)的。

        什么是Bit-map

        方案2:如果允许有一定的错误率,可以使用Bloom filter,4G内存大概可以表示340亿bit。将其中一个文件中的url使用Bloom filter映射为这340亿bit,然后挨个读取另外一个文件的url,检查是否与Bloom filter,如果是,那么该url应该是共同的url(注意会有一定的错误率)。

        使用bit数组来表示某些元素是否存在,比如8位电话号码

        10. 一个文本文件,大约有一万行,每行一个词,要求统计出其中最频繁出现的前10个词,请给出思想,给出时间复杂度分析。

        给定n个实数,求着n个实数在实轴上向量2个数之间的最大差值,要求线性的时间算法。

        数组的最大子序列问题:给定一个数组,其中元素有正,也有负,找出其中一个连续子序列,使和最大。

        搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。假设目前有一千万个记录,这些查询串的重复读比较高,虽然总数是1千万,但是如果去除重复和,不超过3百万个。一个查询串的重复度越高,说明查询它的用户越多,也就越热门。请你统计最热门的10个查询串,要求使用的内存不能超过1G。

        14. 一共有N个机器,每个机器上有N个数。每个机器最多存O(N)个数并对它们操作。如何找到N^2个数中的中数?

        第二步:新建一个继承DevExpress窗体的Form窗体,也就是你新建项时,“Form”时,选择DevExpress Form为模板,就可以应用DevExpress的漂亮主题了。此时,From继承的是“DevExpress.XtraEditors.XtraForm”。并把你新建的这个设置为启动项,系统自动生成的那个”form1“你自己排除或删除即可!

        完。

        方案2:

        (1) 请描述你解决这个问题的思路;

        扩展

        方案1:首先是这一天,并且是访问诛仙私服的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率最大的几个)及相应的频率。然后再在这1000个最大的IP中,找出那个频率最大的IP,即为所求。

        DevExpress.UserSkins.BonusSkins.Register();
        DevExpress.UserSkins.OfficeSkins.Register();
        DevExpress.Skins.SkinManager.EnableFormSkins();
        第五步:窗口放个DefaultLookAndFeel控件!其作用是设置窗体的主题样式。

        6. 海量数据分布在100台电脑中,想个办法高效统计出这批数据的TOP10。

        然后遍历这5个元素,首先第一个元素是4,那么就把4对应的位置为1(可以这样操作 p+(i/8)(0×01<<(i%8)) 当然了这里的操作涉及到Big-ending和Little-ending的情况,这里默认为Big-ending),因为是从零开始的,所以要把第五位置为一(如下图):

        方案1:

        5. 在2.5亿个整数中找出不重复的整数,内存不足以容纳这2.5亿个整数。

        方案1:上千万或上亿的数据,现在的机器的内存应该能存下。所以考虑采用hash_map/搜索二叉树/红黑树等来进行统计次数。然后就是取出前N个出现次数最多的数据了,可以用第6题提到的堆机制完成。

        方案1:采用trie树,关键字域存该查询串出现的次数,没有出现为0。最后用10个元素的最小推来对出现频率进行排序。

        然后我们现在遍历一遍Bit区域,将该位是一的位的编号输出(2,3,4,5,7),这样就达到了排序的目的。下面的代码给出了一个BitMap的用法:排序。

        问题实例

        所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。

        方案2:先对每台机器上的数进行排序。排好序后,我们采用归并排序的思想,将这N个机器上的数归并起来得到最终的排序。找到第(N^2)/2个便是所求。复杂度是O(N^2*lgN^2)的。

        读者反馈@crowgns:

        2. 有10个文件,每个文件1G,每个文件的每一行存放的都是用户的query,每个文件的query都可能重复。要求你按照query的频度排序。

        方案1:这题是考虑时间效率。用trie树统计每个词出现的次数,时间复杂度是O(n*le)(le表示单词的平准长度)。然后是找出出现最频繁的前10个词,可以用堆来实现,前面的题中已经讲到了,时间复杂度是O(n*lg10)。所以总的时间复杂度,是O(n*le)与O(n*lg10)中较大的哪一个。

        方案1:

        8位最多99 999 999,大概需要99m个bit,大概10几m字节的内存即可。 (可以理解为从0-99 999 999的数字,每个数字对应一个Bit位,所以只需要99M个Bit==1.2MBytes,这样,就用了小小的1.2M左右的内存表示了所有的8位数的电话)

        @July:我想,这位读者可能没有明确提议。本题目中的TOP10是指最大的10个数,而不是指出现频率最多的10个数。但如果说,现在有另外一提,要你求频率最多的 10个,相当于求访问次数最多的10个IP地址那道题,即是本文中上面的第4题。特此说明。

        最大子矩阵问题:给定一个矩阵(二维数组),其中数据有大有小,请找一个子矩阵,使得子矩阵的和最大,并输出这个和。

        this.defaultLookAndFeel1.LookAndFeel.SkinName = cmbAppStyle.EditValue.ToString();
        PS:
        1、注意,我这儿用的是DevExpress 8.1,在老版本中可能不支持。如果是7.x的版本,请见DevExpress demo中的源代码。
        2、什么是启动项不用解释了吧~~
        3、当我们安装完DevExpress控件包之后,在添加新项窗口中我们会看到多出的几项:DevExpress Form v8.1、DevExpress RibbomForm v8.1和DevExpressUsercontrol v8.1,其中“v8.1”是版本号。
        4、DevExpress中的默认皮肤名的取得:DevExpress.Skins.SkinManager.DefaultSkinName

        关于此问题的详细解答,请参考此文的第3.1节:。

        3. 有一个1G大小的一个文件,里面每一行是一个词,词的大小不超过16字节,内存限制大小是1M。返回频数最高的100个词。

        (2) 给出主要的处理流程,算法,以及算法的复杂度;

        第四步:在软件的入口Program类的main函数的第一行代码前加上如下代码:

        4. 海量日志数据,提取出某日访问奇迹sf次数最多的那个IP。

        然后再处理第二个元素7,将第八位置为1,,接着再处理第三个元素,一直到最后处理完所有的元素,将相应的位置为1,这时候的内存的Bit位的状态如下:

        第一部分、十五道海量数据处理面试题

        9. 1000万字符串,其中有些是重复的,需要把重复的全部去掉,保留没有重复的字符串。请怎么设计和实现?

        方案1:采用并查集。首先所有的字符串都在单独的并查集中,www.jjj.com。然后依扫描每个集合,顺序合并将两个相邻元素合并。例如,对于,首先查看aaa和bbb是否在同一个并查集中,如果不在,那么把它们所在的并查集合并,然后再看bbb和ccc是否在同一个并查集中,如果不在,那么也把它们所在的并查集合并。接下来再扫描其他的集合,当所有的集合都扫描完了,并查集代表的集合便是所求。复杂度应该是O(NlgN)的。改进的话,首先可以记录每个节点的根结点,改进查询。合并的时候,可以把大的和小的进行合,这样也减少复杂度。

        方案1:先做hash,然后求模映射为小文件,求出每个小文件中重复次数最多的一个,并记录重复次数。然后找出上一步求出的数据中重复次数最多的一个就是所求(具体参考前面的题)。


        第三步:添加DevExpress 主题皮肤的引用,你看你的引用中是否有DevExpress.BonusSkins.v8.1 DevExpress.officeSkins.v8.1的引用,如果没有,请添加

        给定一个字符串的集合,格式如:。要求将其中交集不为空的集合合并,要求合并完成的集合之间无交集,例如上例应输出

        方案1:这题用trie树比较合适,hash_map也应该能行。

          与方案1类似,但在做完hash,分成多个文件后,可以交给多个文件来处理,采用分布式的架构来处理(比如MapReduce),最后再进行合并。

          一般query的总量是有限的,只是重复的次数比较多而已,可能对于所有的query,一次性就可以加入到内存了。这样,我们就可以采用trie树/hash_map等直接来统计每个query出现的次数,然后按出现次数做快速/堆/归并排序就可以了

            可进行数据的快速查找,判重,删除,一般来说数据范围是int的10倍以下

            十七道海量数据处理面试题与Bit-map详解

            (3) 请描述可能的改进。

              7. 怎么在海量数据中找出重复次数最多的一个?

              foreach (DevExpress.Skins.SkinContainer skin in DevExpress.Skins.SkinManager.Default.Skins)
              { cmbAppStyle.Properties.Items.Add(skin.SkinName);
              } 
              第七步:设置其他皮肤,怎样设置皮肤呢,只需设置每个窗口的DefaultLookAndFeel即可,在ComboBoxEdit的selectChang事件中,代码如下:

              方案1:采用2-Bitmap(每个数分配2bit,00表示不存在,01表示出现一次,10表示多次,11无意义)进行,共需内存2^32*2bit=1GB内存,还可以接受。然后扫描这2.5亿个整数,查看Bitmap中相对应位,如果是00变01,01变10,10保持不变。所描完事后,查看bitmap,把对应位是01的整数输出即可。

              2)2.5亿个整数中找出不重复的整数的个数,内存空间不足以容纳这2.5亿个整数。

              方案1:可以估计每个文件安的大小为50G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。

              读者反馈@QinLeopard

              (更多可以参考:,以及)

                17. 最大子序列与最大子矩阵问题

                方案2:也可采用上题类似的方法,进行划分小文件的方法。然后在小文件中找出不重复的整数,并排序。然后再进行归并,注意去除重复的元素。

                俗话说得好:”好记心不如烂笔杆儿“,这不,前些时间突然心血来潮,想用C#来写写软件,其实我的计算机中老早就装上了DevExpress的开发环境了,可是一直跟自己找借口,没有动手写过一个像样的软件,我写项目喜欢把界面做得漂亮点儿,当然并没有忽略功能,如果你还在找如何更换DevExpress中form的皮肤或者是如何使用用DevExpress Form窗体皮肤的话,本文是一篇有效解决你这个问题的!下面实录我在DevExpress 8 中更改form皮肤的过程:

                浏览次数:
                文章分类
                · ro私服信息 · ro家族乐园
                · ro游戏攻略 · ro游戏资料
                最新文章
                · 奇迹sf 整理记录一下DevExpress中
                · chuanqisifu 2010年08月存档 - t
                · 1.95皓月传奇 2007年05月存档 -
                · 蜀门sf 皮海洲:国债期货或使A股
                · 蜀门私服 c程序员的python开发总
                · 传奇私服登陆器下载 三个进步关键
                · 完美国际私服 新“瘦身案”难博欧
                · 99听战歌 领导喝酒
                · 魔兽世界私服 转华强北严打山寨机
                · 1.85传奇 五年级下册二单元c 在线
                热门文章
                · 中山火炬职业技术学院
                · 中国向世界宣布:2010年8月1日全
                · “搞笑”
                · 200wow私服bug My first job
                · 谢谢我吧 教你做空间,不比黄钻装
                · 转载:卫星天线(俗称大锅)多收
                · 永远的RO,永远的仙境传说
                · 17岁少女的第一次
                · 512au劲舞团私服 黑白颠倒
                · 兰花魔域官网 刚刚开通了空间,来
                ro私服的确是已经长的很大了,暂且不要从开始的做网站,之后就顺理成章的成了一位资深站长啦,其实我们心里头有很多很多的秘密要对ro私服讲哦,可是今天这样的气氛讲出来显得很尴尬呢,ro私服出的新东西让人真的很感动,这个让我们大陆的很多变态ro私服的玩家增加了许多激情呢?至于多少估计上秤药的话估计得有好几斤呢,在这里我们很感谢roSF给我们创造的一切,让我们找回迷失了很久的快乐。时间真的是太仓促了,让我们甚至无暇熟悉老版本,新版本就已经在更新了,这对ro私服玩家的影响真的是很大啊,你看抓眼就是一年过去了,当今天我们这些网通ro私服玩家回忆起这些的时候真的只是觉得幸福,幸福的像花儿一样,哈哈。一直到目前为止我都不知道如何形容自己的感激之情呢。这确实是因为我们太爱ro私服了。那就是我们的ro私服啊,很美很美的一款游戏,您说是不?我们从这里得到的快乐真的不想唠叨太多,文字的作用有时候显得很单薄,甚至过于浮躁,就这样吧。邋遢,你最近如何?希望你还能记得我啊?那时候你真不该走的如此彻底,你把我们折磨的很疼。一些没有你的日子里我们都不知道干什么,你可是我们的带头大哥啊,你竟然能无声的离开,太龌龊了吧?你这简直就是无耻的,我们一直都说这是上帝给我们开的一个玩笑,很多时候他们都觉得这真的是让人难过,就这样你从我们这里就走了。你说我们要在ro私服团结一致的,结果你自己最先放弃了,你会不会在晚上想想我们一起玩ro私服的日子啊?你是不是换区玩ro私服了啊?你现在还在没在百度找ro私服啊?郁闷死了,你要是在新区让我看到了,我肯定第一个冲上去把你杀了,你让我们真的是好等。你要是能看到我的文章希望你能默哀一下,让后自己给自己几个巴掌什么的,这一年里我写不了少关于ro私服的文章啊,也不知道你看到没看到。今天是你的生日啊,所以我又上来写点东西了,给ro私服网写的,在这里也希望他们的网站能越办越好,我们当初都说好的啊,要在ro里称霸的啊。你绝对不会在新区实现了吧?你要是真实现了不把我们带过去威风威风那就真是禽兽了。我真不想多说什么了,邋遢。从你走开后我们大家只有一个办法能试探着找到你,那就是疯狂的去ro私服论坛发帖,结果好像也不是很明显,而且还有点石沉大海的感觉,一点风声都没有了,我们都坚持一年了,你老也发发慈悲,不能让我们总一直这样耗着啊,这好像是在为你默哀似的,弄的跟亡人告别似的,你个冤大头。我们现在都很不错的,技术没有一个需要你带着了,都能独当一面啦,哈哈,可以说是在我的带领下吧,大家正有声有色的从ro私服中得到快乐呢,还有一个事啊,我们都变成了我们曾经曾深恶痛疾的那类人。生活嘛,逼的呢。真的是没有什么人会考虑你的感觉,他们能想到的就是你是不是有钱,是不是RMB玩家。我们在这方面确实是跟别人有落差,但区里还是没人能欺负我们的,我们团结的很哇,在ro私服里我们依然是最牛的。那种感觉太爽了。你会不会觉得我现在给你讲我们的状况对你没有意义了啊?我也不知道,反正我就是想讲讲,反正我们现在也都很少上ro私服了,我们还留着装备给你呢?你什么时候来拿吧,都是顶级的,我们一个都没舍得卖,甚至都没跟别人换过,只要是你能用的,我们都留着呢。我估计你就是石头的心肠也应该被我们深深的感动了啊。我也说不清楚这是什么动力,反正应该归结在一种爱,一种义气的范畴吧。到现在你都没上过,弄的我们都很矛盾了啊,到底是不是要给你留呢?让我在这里祈祷吧,为你,也为我们这些曾经走的兄弟能够更好。今天按道理讲应该是我最后一次写文章了,因为我以后要开始超忙了,最近又在看房,超麻烦