带你彻底了解到底什么是算法复杂度(未完成持续写作中...)

带你彻底了解到底什么是算法复杂度

在工作中,当我们在项目中用到一个算法的时候,总会有一个问题绕不开,那就是算法复杂度。当数据量小的时候,程序中基本用不到算法,即使用到了也是直接使用现成的API或者SDK中的工具即可,比如排序的话,Java语言中就是Array.sort(T[] array)。一行代码就可以搞定。直到有一次当我想对一个数据量很大的问题排序的时候,我发现api中的方法明显不行了。就连微软的excel软件当数据量很大的时候,vlookup函数都会失灵,当被匹配的数据量达到几百,几千甚至几万的时候,20万的数据量匹配一个上午,电脑绝对卡得要命,你还不能碰一下,否则绝对死翘翘,得重启电脑。一个运营的同事问我为什么会这样,我经过测试以后,发现果然是这样的。经过思考以后才知道原因了。至少肯定不是因为那些开发office的人傻或者水平低。因为office需要满足各类电脑的配置,哪怕是256M内存的电脑,1Ghz单核的电脑。所以才会涉及成为每次遍历所有的单元格,并把数据取出来,然后再进行比较,这样就可以满足各类电脑的需求了。如果是我们程序员会对这个问题就会设置设置一个被匹配的hashmap,然后一个个进行比对,我相信20万的数据不会超过分钟就能匹配完成。加上在单元格中设置数值不会超过5分钟即可轻松完成完成。

  • Markdown和扩展Markdown简洁的语法
  • 代码块高亮
  • 图片链接和图片上传
  • LaTex数学公式
  • UML序列图和流程图
  • 离线写博客
  • 导入导出Markdown文件
  • 丰富的快捷键

快捷键

猜你喜欢

转载自blog.csdn.net/bian_h_f612701198412/article/details/80130300