我心目中的数据结构和算法

数据这个概念,可能以前比较模糊,但是近两年来,已经越来越为人所知。为什么数据越来越重要?我们到底处在一个什么样的时代?

数据之所以重要,是因为可以对未来的趋势进行分析,为决策的准确性提供保障,避免不必要的运营战略,为不同标签用户提供最准确的服务,进行广告文章推送,提供节日祝福,对用户近期的消费状态进行匹配,制定商品排列推荐,包括现在一号店等公司的小区雷送等,都是基于数据的分析,为用户提供服务。往来,一个产品的定位和包装,往往是一个PD或运营一个个调研,一个个人去问,岂不是很麻烦且没有任何效率可言?而今利用算法去对不同地区,时段,年龄的用户进行分析,根据不同比例的权重去编写算法,快速的利用历史数据推算出下一步产品的方向,岂不是很完美?

其实就我个人而言,我觉得算法的应用可以普及到生活的方方面面,hr可以用简单的算法来对简历进行快速筛选,这对一个编程人员来说,可能只是十几行代码的事情。他可以为每一个线下零售行业提供对地段流量,房价租金的统计,最终通过用户输入的启动资金,地区规划得出准确的经营计划。

人工智能是当前的一个热门话题,它也离不开算法的支持,更需要一个稳定的结构去支持针对不同机器学习的算法分配,对内容进行过滤,针对标签进行分类,最后完成了类似于天猫精灵这种居家可爱的人工智能音响。

再来说说结构,可能算法对刚开始从事编程行业的人来说还太远,但是如果能够对结构的节点,链接,稳定性有所认知,那对代码的优化可以说是不可量记。为什么我可以这么说呢?因为我最近接触到的一个关于链路流程的项目就用到了链式结构和二叉树以及递归的结合,这本是很基础的结构,但是我发现周围居然鲜有人能想到这一点,以至于我开创了他们认知的一个先河:在数据库中设立每一条数据的上下节点,从而把数据拆分开来,遍历时通过一个个节点集合去判断,前端显示排列用递归进行节点归属,从而链接,也大大提高了后续开发的扩展性。我看到周围同事的代码,大多数都有反复对数据库连接的问题,很少有人考虑这样会为程序带来多大的负担,针对对数据库的迁移,如果反复链接,这其中对速度的折损何其之大?往往对代码的优化难点就在于,整个架构崩溃了,难道我要重新组织架构吗?

一个懂数据结构的人在项目前期的讨论中,能为公司带来的贡献是不可估量的,我相信一些拥有复杂架构的公司都能深深体会到这一点。

大到人工智能的时代趋势,中到一个大型商业公司的运营策略,产品方案,小到一个线下商店的地段,资金预估,数据结构和算法,是一切实现的基础。

更新中,回来继续写。

猜你喜欢

转载自www.cnblogs.com/xuxingping/p/11434548.html