实例:
自动化脚本管理工具,数据存储在服务器,读到客户端后,需要建立一个数据结构,从上到下顺序为:
Folder-->Object-->Control-->Operation-->parameter
Folder-->Object-->Operation-->Parameter
Folder-->Case-->CaseProcess-->Parameter
通过每个对象的ParentID和ID来建立数据结构
数据量:Folder:350, Object:400,Control:1000,Operation:3000,Parameter:2500
常规递归:
需要执行的次数为350X400X1000X3000X2500,要完成这样一个数据结构,需要超过20分钟的时间
没有一个用户愿意等待这么长时间的,那么有没有办法让时间短一些呢?那还是有的
方法:
从底层做起,有底向上,将350X400X1000X3000X2500的乘变成+,就能有效节省时间了
循环次数3000X2500
循环次数1000X3000
递归:350X400X1000X3000X2500 = 1050000000000000
不递归:1000X3000+3000X2500 + 400X1000+ 350X400 = 11040000
两相比较,谁快水漫一目了然了