ACM,信息学中的算法在工程项目中的使用有哪些学以致用的感觉会更踏实吧

DFS很常用啊,比如说一个神经网络计算图,本来有两个输出节点的,现在你只需要其中一个,那一部分节点就没必要算了,哪些需要计算呢?从输出节点出发逆向做深度优先遍历就很容易找出来了。如果是要排列出计算顺序则是一个拓扑排序问题。

■网友
我觉得最有用就是强联通子图的识别和偏序排序,做GacUI的时候用了无数遍,为了美化错误信息的内容。

■网友
总的来说用得很少,但也有部分情况会用到,按我觉得遇到的概率来说吧。
最有可能遇到的是跟字符串相关的算法,因为字符串操作实在太常见了。具体来说,基于字符串的数据存取最最常见的,例如把字符串以某种形式编码后存在树里或者 hash table 里。具体什么树,还是 hash table,就要看你要按什么方式来读取字符串了。具体例子是按字符串搜索和匹配,例如写个 autocomplete 组件。
其次是字符串内的搜索和编辑,但很多时候大家不一定用算法解决,因为有正则表达式……正则表达式不能处理的情况,你通常也不会自己手写算法的啦,更多是用第三方的 parser 来处理。例外情况是,有些人就是懒得去学正则表达式这样一门新语言,那就自己写个算法弄几个指针便利字符串上的字符吧。
接下来是树,例如说你要对文件系统里的某个目录下的所有子目录和文件进行某种操作。对文件系统操作时,往往是遍历而不是搜索,所以没什么可以显著优化的地方。
最后是成图状的东西。有时候你的程度要处理一堆互相之间存在关联关系的数据,例如社交网络图谱,这时候你要看具体你要做什么来选择一个树或图的算法。尽管你处理的数据是呈图结构的,但有可能你的视觉总是从一个点出发往外观察且不处理环路,那其实你就在处理树。

■网友
【ACM,信息学中的算法在工程项目中的使用有哪些学以致用的感觉会更踏实吧】 最大的用处是保送,然后面试的时候做算法题,最后招人的时候出题给别人,这样一直都能拿工资,不知道算不算学以致用。

■网友
Dijkstra算法在导航中的应用http://wk.baidu.com/view/7f1fb426b4daa58da0114a43?pcf=2来自百度
■网友
好像深度学习做人体姿态检测部分就有用图匹配的内容。

■网友
谢邀介绍一个常用又简单的:矩阵中的广度优先搜索:GitHub - ice1000/FindLine: A JVM App used to distinguish lines in a png/jpg file求star求follow
■网友
在工程中具体用过,并查集进行判环和企业曾用名替换;trie树做多模匹配;最短路径挖掘企业投资关系;剩下的就是各种搜索活用了。

■网友

spotify/annoyk-d树?,划分高维空间的二叉树,可以用于快速查找向量K近邻。Spotify将用户、歌曲信息矩阵分解成向量,用它做歌曲推荐。

■网友
用01背包在统计课上算power(势)算么?
题意大概就是选择n列,每一列第一行都有一个正确的概率,第二行是TypeII错误的几率,问在typeII错误之和不超过x%的情况下怎么才能让对应列第一行的正确的概率之和达到最大。
有趣的是这道题给了20多组数据,3道小题,每组,数据又给得奇葩,手算的话肯定累死。同学无奈一个个开始手动计算。
于是上演了一幕,笨一点的逐个小题的x进行计算,聪明一点的把所有的组合列出来开始一步一步选,用手算,这怎么能允许呢?范大不允许有这么牛逼的题存在!然后在众人一脸懵逼中上机写码出答案一气呵成。
后来发现这老师可能也知道这是算法题,怀疑他在国内的oi教练来着,后面又给我们出了些素数表和最短路问题.......
btw,应用挺多的,ac自动机可以做搜索匹配,rmq可以在数据库进行应用。.


    推荐阅读