当前位置: 首页 > news >正文

微网站与普通网站的区别东莞黄页顺企网

微网站与普通网站的区别,东莞黄页顺企网,天津综合网站建设商店,郑州做网站公司中看了博客园里一篇文章《一道腾讯前端试题#xff0c;谁来试试身手》#xff0c;正好以前了解过位图法#xff0c;确实不错。位图法适用于大规模数据#xff0c;但数据状态又不是很多的情况。通常是用来判断某个数据存不存在#xff0c;如可标记1为存在#xff0c;0为不存… 看了博客园里一篇文章《一道腾讯前端试题谁来试试身手》正好以前了解过位图法确实不错。位图法适用于大规模数据但数据状态又不是很多的情况。通常是用来判断某个数据存不存在如可标记1为存在0为不存在。   位图法网上资料比较少我在百度百科找到了对它的描述 位图法比较适合于如下这种情况它的做法是按照集合中最大元素max创建一个长度为max1的新数组然后再次扫描原数遇到几就给新数组的第几位置上1如遇到 5就给新数组的第六个元素置1这样下次再遇到5想置位时发现新数组的第六个元素已经是1了这说明这次的数据肯定和以前的数据存在着重复。这种给新数组初始化时置零其后置一的做法类似于位图的处理方法故称位图法。它的运算次数最坏的情况为2N。如果已知数组的最大值即能事先给新数组定长的话效率还能提高一倍。     效率测试(参考一道腾讯前端试题谁来试试身手)   传统的双重循环查找也是可取的但效率实在不敢恭维特别是处理大量数据时候    class Program{static void Main(string[] args){//产生随机数int[] array Enumerable.Range(1, 100000).OrderBy (n Guid.NewGuid()).Take(80000).ToArray();DateTime dt1 DateTime.Now;int max array[0];int flag;//数组无序排列查找最大值for (int i 1; i array.Length; i){if (array[i] max){max array[i];}}for (int i 1; i max; i){flag 1;for (int j 0; j array.Length; j){//相等标记Flag0,意味着不是缺少的数字if (i.Equals(array[j])){flag 0;break;}}if (flag 1){Console.Write({0},, i);}}DateTime dt2 DateTime.Now;TimeSpan ts dt2 - dt1;Console.WriteLine(\r\n 共耗时间{0}ms, ts.TotalMilliseconds);//52730.5525Console.ReadKey();}} 测试结果数据量小时还OK数据量大的情况下显示很卡很缓慢最坏的时间复杂度TnO(n*n) 以上测试总时间约为51291.2996MS 位图法测试 class Program{static void Main(string[] args){//随即产生80000个不重复数int[] array Enumerable.Range(1, 100000).OrderBy (n Guid.NewGuid()).Take(80000).ToArray();//int[] array{1,2,3,5,7,9,10,12,45,62,55,78,98,52,12,4,200,60,63,65,66,67,68,69,70,74,79,80,82,89,90,91,92,93,94,98,100,101};DateTime dt1DateTime.Now;//找出最大值int maxarray[0];for (int i 1; i array.Length; i){if (array[i]max){max array[i];}}//新数组的长度为旧数组最大数字1int[] losenew int[max1];foreach (int item in array){//若Item为2,则Lose[2]1...所以新数组的长度为旧数组最大数字1lose[item] 1;}//那么为0的就是缺少值for (int i 1; i lose.Length; i)//100{if (lose[i].Equals(0)){Console.Write({0},,i);}}DateTime dt2DateTime.Now;Console.WriteLine(\r\n(dt2-dt1).TotalMilliseconds);//6004.3379MsConsole.ReadKey();}} 位图法在确定最大数值后的时间复杂度还是挺乐观的最坏情况TnO(2n) 屏幕飞快的刷新着测试时间约是6295.3601MS 总结 判断集合中是否存在重复元素或者查找缺失元素是常见编程任务之一当集合中数据量比较大时我们通常希望少进行几次扫描这时双重循环法就不可位图法Bitmap可以考虑。。 转载于:https://www.cnblogs.com/OceanEyes/archive/2012/07/12/bitmap_test.html
http://www.pierceye.com/news/351169/

相关文章:

  • 建站网站教程视频世界网站排名
  • 做小程序的流程seo 整站优化
  • 网站前台代码国内网站主机
  • 网站后台asp源码高明顺德网站建设
  • 网站建设推广软文网络规划设计师考试全程指导(第2版) pdf
  • 备案网站多少钱支持wordpress的空间
  • 哈尔滨网页模板建站wordpress网页设定
  • 哔哩哔哩网站怎么做视频软件进入公众号会不会泄露个人信息
  • 域名过期做的网站怎么办wap网站前景
  • 网站设计公司 宁波少儿编程课
  • 建设信用卡银行积分商城网站网站关键词优化培训
  • 网站建设对电子商务的意义深圳网站设计兴田德润简介
  • 门设计的网站建设北京最大专业网站建设
  • 黄埔建网站公司长沙 网页制作
  • 网站页面海珠网站建设方案
  • 东宁网站制作公司产品彩页设计
  • 郑州大搜索网站为什么要建立网站
  • 广东网站建设公司排名网页设计模板网站免费
  • 佛山网站建设小程序注册营业执照申请
  • 网站建设文案策划鞍山兼职吧
  • 手机投资网站合肥seo优化排名公司
  • 上海网站制作公司的排名药品网站如何建设
  • 模板网站建设包括哪些wordpress怎么加关键词和描述
  • 温岭专业自适应网站建设响应式网站 模版
  • 高端包装设计优化 英语
  • 佛山新网站建设方案笔记本做网站服务器
  • c 企业网站开发杭州百度人工优化
  • 瑞安公司网站建设wordpress 主题和插件下载失败
  • 茶楼网站模板wordpress后台图
  • 做网站的流程方法wordpress 导航栏 排序