范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

揭秘你处理数据的底层逻辑,详解公式引擎计算(二)

  上篇中我们介绍了计算公式引擎的计算原理,本期我们继续带着大家了解在Excel表格中公式引擎的实现原理。背景
  在上节中解决了基本运算的逻辑之后,在一些实际业务场景中,公式计算并不是单一公式进行的独立运算。我们经常需要将一个很大的运算分解成前后依赖的小运算;同时这些单元格之间的计算会出现很多相互依赖,计算顺序也是要考虑的一个关键问题,我们需要将一系列具有先后顺序的同类运算管理起来依次执行。
  为了实现这种计算关系之间的管理,出现了计算链,用以对公式之间的依赖和先后顺序进行管理,处理在电子表单中错综复杂的依赖。涉及到图的处理,脏值计算等内容。接下来我们将从图计算出发,介绍不同图的计算、按需计算和脏值处理的问题,更加深层次的了解Excel表格计算中计算链相关问题。计算链
  让我们先从两个表格计算问题出发。第一种简单情况:
  在这一串计算公式之中,当C1赋值为1时,A1的结果为3。但此时如果修改C1的值,C1=10,此时B1的内容还没有修改,A1依旧是3,然后B1=10+1=11,这里就会发现A1内容计算出错。第二种更加复杂一些的情况:
  我们用图的结点表示单元格的计算内容,箭头代表依赖关系。入度为零的节点,完全不依赖其他节点内容,所以计算的顺序应该是从不依赖其他节点的节点内容开始。单元格A依赖F、E,D依赖C、B,C、B又分别依赖F、E,唯二不依赖其他节点的内容是E、F。
  这样就得到了一个稳定正确的计算顺序,这个顺序被称之为计算链。在这个例子中计算链是:F,C,E,A,D,B。有向无环图和有向有环图的计算
  在一张图中,如果从一个节点出发,最后能回到这个节点,我们称之为有向有环图,反之被称作有向无环图。
  左图中不论从任意一个节点出发都不能再回到该节点,所以左图是有向无环图。
  右图中A点可以出发后回到A节点,所以右图是有向有环图。
  我们将计算节点和计算节点之间的关系拆解成有向图后,就可以使用计算有向图的标准方法得到一个可靠的计算链。
  1、有向无环图的计算
  对于每一个节点存在入度和初度的概念,入度:多少箭头指向当前节点,例如对于A节点,入度为1;出度:当前箭头有多箭头指出,例如对于B节点,入度为2。
  在对有向无环图进行计算的时候,就利用了图中入度作为优先级排序,每次运算入度为0的节点,然后移除。
  以上图为例,完整的计算过程如下:
  1.初始化,统计入度: A:1 B:2 C:1 D:2 E:0 F:0
  2. 计算 E 节点,更新入度: A:1 B:2 C:0 D:2 F:0
  3. 计算 F 节点,更新入度: A:1 B:2 C:0 D:1
  4. 计算 C 节点,更新入度: A:1 B:1 D:0
  5. 计算 D 节点,更新入度: A:1 B:0
  6. 计算 B 节点,更新入度: A:0
  7. 计算 A 节点,计算结束有向有环图的计算
  2、有向有环图的计算
  解决了有向无环图的计算问题,如果此时把上图中B-C之间的箭头反向调换,情况就会变的截然不同起来。此时B-C-D之间组成了一个环。
  这时候依旧进行计算:
  1.  初始化,统计入度: A:1 B:1 C:2 D:2 E:0 F:0
  2.  计算 E 节点,更新入度: A:1 B:1 C:1 D:2 F:0
  3.  计算 F 节点,更新入度: A:1 B:1 C:1 D:1
  4.  没有入度为0的节点,开始迭代计算
  (迭代计算:把上一步的计算结果代入这一步的运算中去,经过多步这样的计算,可以得出一个更为接近的结果。)按需计算
  解决这种互相依赖的复杂单元格的运算时,除了图计算还可以采用按需计算的方法。在这里使用到的是calcOnDemand这个函数。这个函数的核心工作原理是:压栈并且计算所需要的节点内容,该节点可以是任意内容。
  以该图内容来说明这一计算的过程:这里选择A作为我们需要的节点压栈并计算A,需要计算B的结果压栈并计算B ,需要计算C的结果压栈并计算C ,需要计算E的结果压栈并计算E, E 计算完毕后出栈计算C,C计算完毕后出栈计算B,还需要计算D的结果压栈并计算D ,拿到C的结果,还需要F的结果压栈并计算F, F计算完毕后出栈计算D,D计算完毕后出栈计算B,B计算完毕后出栈计算A,A计算完毕后出栈栈空,计算完毕
  这个例子取了最复杂的A作为需求节点,如果需要D节点,变为D节点入栈,C节点入栈,E节点入栈,计算后出栈,C节点计算后出栈,F节点入栈计算后出栈,D节点入栈,这样就得到了正确的D的值,这种运算方式只计算需要的内容。图计算VS按需计算
  在这里对图计算和按需计算做一个对别,这两种算法在不同情况下效率不同。
  左图中是一个从上到下的累加,使用按需计算计算的很顺畅,从上向下按顺序计算即可,堆栈中存在的待计算元素不超过两个,按需计算比图的计算更加快。
  右图中是是一个逆向计算,上一行单元格的内容依赖下一行单元格的内容,按需计算需要计算1000步,这时按需计算会比图计算慢很多。
  总体来说,图计算比按需计算更加稳定,而按需计算在不同情况下会有不同的表现,实际使用中我们可以根据具体的使用场景采用不同的计算策略。脏值计算
  回到我们刚刚讲过的图中:
  在这个图中,如果此时修改了某节点的值,这个时候就需要根据传播途径,标记所有需要重算的节点。
  举例:修改了E的内容根据传播依次将E C B D A标记删去未标记的节点开始计算剩余的节点
  标记完成之后,我们就不再需要关注未标记节点,计算完成。
  整个过程如下图所示:
  拓展:关于运算内容几个问题
  已经介绍完计算链的全部内容,为了帮助大家更好地理解,这里有几个思考问题:示例中的图计算,可否可改用按需计算?可不可以先计算E的值,再标记并重算C B D A?根据传播途径标记需要重算节点的优势?
  解答部分:该图可以进行按需计算,因为按需计算和图计算都可以对图内容进行正确计算。该图中不可以先算E,然后重标CBDA,因为一旦我们一但先计算E,此时C依旧依赖E的内容,而C又不能先于E计算,这时ABCD节点数值都会变得不可靠,这个计算引用链就会被完全破坏。脏数据的处理中只对传播路径上的节点进行处理,在实际应用场景下,几百个单元格数据处理使,可以大大减少运算的内容。总结
  所有的单元格计算内容就全部为大家介绍完毕了,我们一起回顾一下本章节内容:计算链就是将一个个单元格计算串联起来,分为普通计算和迭代计算。而这里我们介绍了两种不同的计算方式——图计算和按需计算,在面对不同情需要选择采用不同的计算策略。计算链在整个计算过程中不像单元格的计算那么明显,但是却比单元格的计算更加复杂。
  在了解了计算公式如何进行词法、语法分析对公式进行快速运算,计算链是如何进行多单元格大数据量的处理,接下来将继续为大家介绍异步函数在前后算计算中的花式用法。
  看到这里了点个关注吧~后续本葡萄也会为大家带来更多严肃或有趣的内容。
  如果想了解更多相关内容,欢迎关注微信号"葡萄城社区"。

移远通信正式推出天线产品提供模组天线综合物联网解决方案上海2021年5月18日美通社物联网终端要想实现高效工作,天线是其中非常关键的一环。一直以来,移远通信(上交所股票代码603236)致力于为行业提供更完善更高效的物联网解决方案。目理想ONE新款曝光,尺寸和智能系统升级,价格或提升经常听到网友在一轮造车新势力时,喜欢用低调来形容理想,尤其是每次车展其他品牌纷纷亮剑时,理想都只是默默地不做声。其实并非理想不愿意高调,而是旗下仅有的一款车,虽然销量还不错,但是多中国制造战斗机的一哥,沈飞究竟有多厉害?相信很多人都知道我国有沈飞和成飞两家研发制造歼击机的厂家,最早成立的沈飞可是研发了我国第一款战机歼5战机,不光填补了我国在先进战机的自主研发领域巨大空白,更重要的是沈飞通过研发歼5为什么感觉现在有很多二手iPhone手机呢?现在市面上的二手手机已经非常多,除了苹果,包括华为小米等都非常多。只是苹果手机的市场一直比较稳,在二手市场的份额比较大罢了。那市面上为什么有那么多的二手机苹果手机?为何对苹果二手机拥护撤销买卖的无广告版微信QQ,就要来了有的网友可以一天不打电话,但是不能一天不看微信,微信占有了我们使用手机的大部分的时间,微信已经成为了我们生活的一部分了。关闭所有广告的微信客户端相对于QQ来说,微信的设计逻辑颇为讨腾讯音乐与索尼音乐续签长期版权合作协议腾讯音乐与索尼音乐续签长期版权合作协议中证网讯(记者曹帅)5月18日,腾讯音乐(NYSETME)与索尼音乐共同宣布双方续签长期版权合作授权协议。根据协议,腾讯音乐将继续在其旗下QQ杠上拼多多?腾讯上线自营电商App小鹅拼拼店小鱼本文字数1721字阅读时间约5分钟腾讯再次以自营身份杀入社交电商赛道。在距离腾讯小鹅拼拼周年庆的前几天,腾讯低调上线社交电商App小鹅拼拼,Slogan为享受每一分。这是小鹅拼拼首让IP从批发到零售,区块链降低文创版权交易成本您用越王勾践纹样所设计的环保袋,将在3天后寄送。5月17日,在阿里设计周上,游客设计制作了一个纹样布袋。与普通文创周边不同,这个布袋从生产源头即纹样到制作商家的流程销售数据全程在链重磅,新能源车国家换电标准出台,能彻底解决续航焦虑掐指一算,换电模式作为电池材料未获得巨大进展前的关键技术之一,已经在风口上吹了有5年之久,在这段时间内,换电只能存在于个别车企以及公共交通层级,大规模应用遥遥无期。不过,近日在国家乐视手机高调复活,但背后的生态才是真正大招?点击右上方关注,第一时间获取科技资讯技能攻略产品体验,私信我回复01,送你一份玩机技能大礼包。不久前,乐视在预热新品发布会时卖了一个关子在邀请函上写上我回来了四个大字,同时出现的还声色合和,非凡之境爱普生新一代激光3LCD旗舰智能投影机正式发布近日,爱普生在主题为声色合和投号玩家的新品发布会上,与腾讯视频极光TV跨界联合推出了爱普生新一代EF12EF10激光智能投影机。此次爱普生最新打造的3LCD旗舰智能投影产品,搭载了
中国经济一季报亮点丨绿色转型稳步推进今年一季度,我国绿色低碳产品消费增长较快,新能源汽车太阳能电池产量分别增长140。8和24。3。清洁能源消费占比继续提升,天然气水核风光电等清洁能源消费比重上升,单位GDP能耗继续论未来中低速电动汽车含二手中低速电动汽车的继续生存空间我在网络小视频平台曾看到有别人的视频作品说过这样一句话未来淘汰手动档汽车的不是自动档汽车,而是新能源汽车。这句话是有一定正确性和预见性的,而且现在也的确听说有燃油车企业将在以后正式全球首个月壤数字藏品发布(来源北京日报)昨天(4月24日),2022年中国航天日线上启动,以一首AI编曲版东方红致敬中国航天历史。在航天日期间,探月工程重磅发布了全球首个月壤数字藏品,通过前沿科技与航天技分享5款windows必装的黑科技软件,款款都很实用,错过就太可惜啦哈喽大家好呀,我是分享科技小达人。我们的电脑上有非常多的好用软件,只是很少被人们发现,今天给大家分享5款电脑必装的windows软件,黑科技十足,一起来看看吧。第一款AIRPLAY电商还有出路吗现在的电商已经开始走下坡路。这是行业发展的必然趋势,电商虽然快捷,发展迅速,但是电商破坏了整体商业流程。商业如同一个人营养的摄取过程,先经过口腔咀嚼,在经过胃的分解吸收,然后肠道的京东生鲜果蔬肉禽蛋可满足45天周转APP刷不出菜怎么办?莫慌!北京日报客户端记者获悉,由于订单持续高涨,京东生鲜已紧急成立应急小组,继续协调支援提升产能清理生鲜订单,同时启用智慧排产控单。据了解,截至目前,其重点民苹果AppStore将下架长期不更新的应用程序,此举背后都有哪些原因月24日消息,据TechWeb报道,苹果似乎将要开始逐渐下架长期不更新的App。在发送给受影响开发者的电子邮件中,苹果警告称,它将从应用程序商店中删除长时间内没有更新的应用程序,并华为的鸿蒙产品设计师,请不要堆砌功能乔布斯的苹果出来之前,是手机比拼功能的时代,而华强北的山寨,那速度和灵感,跑马灯大喇叭保时捷等各式外形把一众品牌踩在地上蹂躏,手机变成庸俗的玩具。直到乔布斯出来,拿把刀大砍,方方正在手机严重的内卷之下看各家手机厂商是如何破防的现在手机已经发展到了一个瓶颈各家的硬件水平都差不多在靠着推料出来更高的新颖的东西已经不太可能所以今年我们会看到很多手机厂家都在纷纷找别的出路。首先我们看到去年华为在美国的打压之下硬苹果商店或将下架长期不更新App4月24日消息,苹果正在开始打击长期不更新的App。苹果在发送给受影响开发者的电子邮件中警告称,它将从应用程序商店中删除长时间内没有更新的应用程序,并给开发者30天的时间进行更新,消息称苹果拟明年发布iMacPro和iMac鞭牛士4月25日消息,据新浪科技消息,消息称苹果有可能在2023年发布iMacPro和搭载M3芯片的iMac。预计苹果将在今年推出使用了M2芯片的新款Mac电脑产品,然而有消息称,