数组的倒置引发对数据结构以及算法的一点点小想法
发布时间:2020-12-13 21:59:11 所属栏目:百科 来源:网络整理
导读:经典的面试题,将数组里面的字符进行倒置。 契合数据结构的栈的结构,先push进去,再pop出来,就是得到一个倒序数组。这样的话,长度为n的字符串,应该是消耗2n。 但是那样的效率或许有点不高,划算的算法应该是利用数学,以中间的数字作为基准,两边的字符
经典的面试题,将数组里面的字符进行倒置。 契合数据结构的栈的结构,先push进去,再pop出来,就是得到一个倒序数组。这样的话,长度为n的字符串,应该是消耗2n。 但是那样的效率或许有点不高,划算的算法应该是利用数学,以中间的数字作为基准,两边的字符进行交互。效率或许会提高倍。至少这样的时间消耗率是n/2. 跟之前小学就遇到过一个数学题一样,1+2+3.....+n 单纯的f(n)=f(n-1)+n 知道n=1的时候,f(1)=1;进行依次循环调用,最后时间消耗是n; 如果利用最简单的数学表达式:f(n) = (n+1)*n/2; 这样的时间消耗是3。 所以数据结构跟算法分析是得有合理的运用。深入理解,才能将其威力发挥到极致。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |