在一個算法中,使用遞歸還是迭代是一件很頭痛的事情。總的來說,遞歸的優點很多,適合一些分治算法的實現,而缺點也很多,比如消耗很多的臨時空間,有時候還會因爲重疊子問題的存在而降低算法的性能。迭代擁有記憶的功能,不僅能夠節省一部分臨時空間,而且還可以省去很多子問題求解的麻煩。
值得注意的地方有:
1 一般在樹形結構中往下走的話,最好使用迭代,比如堆中的向下調整操作。
在一個算法中,使用遞歸還是迭代是一件很頭痛的事情。總的來說,遞歸的優點很多,適合一些分治算法的實現,而缺點也很多,比如消耗很多的臨時空間,有時候還會因爲重疊子問題的存在而降低算法的性能。迭代擁有記憶的功能,不僅能夠節省一部分臨時空間,而且還可以省去很多子問題求解的麻煩。
值得注意的地方有:
1 一般在樹形結構中往下走的話,最好使用迭代,比如堆中的向下調整操作。
表達式:主要由操作數、操作符組成。 中綴表達式:操作符在兩個操作數之間的表達式 如:a/(b-c)+d*e 前綴表達式:操作符放在兩個操作數之前的表達式 從後往前求值 如:+/a-bc*de 後綴表