Bluefsh
2021-07-21T09:01:33+00:00
最近在学算法,比较了一下顺序和二分查找速度确实天壤之别,但是排序本身的时间复杂度应该高于顺序查找吧?
这种算法实际工作中用的上么
查找基本都用map
其他的,反正都是调用库函数,没区别
Reply to [pid=536944545,27842284,1]Reply[/pid] Post by [uid=61223588]nathandu[/uid] (2021-07-30 17:11)
一点都用不上么?....
只要不是算法岗,不用考虑这种底层算法
很多自以为很快的奇技淫巧都干不过库里千锤百炼的函数,没有那个必要
算法是让你加深理解逻辑的,实际都是调用类库了,xx.sort就把排序排好了,怎么排是sort里面的
二分查找快。至于你说的排序问题,有突破了天极的快排这种算法存在
算法本身了解即可,但是这个算法的思想非常重要
目前很多主流的算法提速,都有这个分而治之的理念,这个非常重要
[quote][pid=536946565,27842284,1]Reply[/pid] Post by [uid=39164496]不读aa[/uid] (2021-07-30 17:17):
一点都用不上么?....[/quote]看你的业务场景,二分法第一个要求就是要集合在查询字段上有序。其实我觉得算法学的是一种思维,还是得多看,目的是让自己写出来的代码复杂度低,可读性高
都是调用别人已经写好的库函数吧[s:ac:呆]
也就是楼上说的api player
二分查找的思维,在日常排查问题过程中很有用。
但是写代码的话,有api为啥不用?这些库函数就是为了提高工作效率而存在的
其实二分查找在实际工程中还是很常用的。
最常见的一个应用场景就是注释掉一半的代码/屏蔽掉一半的模块,来定位bug。
别觉得这好笑。bug定位不到是家常便饭,不用二分查找工作量能翻十倍。。。
现在可以说基本不会有人在代码中手写排序 所以没人用
[quote][pid=536947869,27842284,1]Reply[/pid] Post by [uid=62458590]Salvere017[/uid] (2021-07-30 17:21):
只要不是算法岗,不用考虑这种底层算法
很多自以为很快的奇技淫巧都干不过库里千锤百炼的函数,没有那个必要[/quote]算法一般指的是机器学习算法,主要负责猜你喜欢,大数据杀熟这一类业务的模型