数组的倒置引发对数据结构以及算法的一点点小想法

前端之家收集整理的这篇文章主要介绍了数组的倒置引发对数据结构以及算法的一点点小想法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

经典的面试题,将数组里面的字符进行倒置。

契合数据结构的栈的结构,先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。

所以数据结构跟算法分析是得有合理的运用。深入理解,才能将其威力发挥到极致。

原文链接:https://www.f2er.com/javaschema/284200.html

猜你在找的设计模式相关文章