Acta Informatica

, Volume 11, Issue 4, pp 363–372

# The average number of registers needed to evaluate a binary tree optimally

Article

## Summary

In this paper we determine the number of binary trees with n leaves which can be evaluated optimally with less than or equal to k registers. Furthermore we obtain the result that this number is equal to the number of the binary trees with n leaves, using for traversal a maximum size of stack less than or equal to 2k+1−1. This fact is only a connection between the numbers of the trees and not between the sets of the trees. We compute also the average number ¯R(n) of registers needed to evaluate a binary tree optimally. We get for all ɛ>0: $$\bar R(n + 1) = 1d(\sqrt {n)} + C + F(n) + O(n^{ - 0.5 + \varepsilon } )$$where C = 0.82574... is a constant and F(n) is a function with F(n) = F(4n) for all n>0 and −0.574<F(n)< −0.492.

## Keywords

Information System Operating System Data Structure Communication Network Information Theory
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

## References

1. 1.
Chandrasekharan, K.: Arithmetical Functions, Band 167. Springer-Verlag 1970Google Scholar
2. 2.
deBruijn, N.G., Knuth, D.E., Rice, S.O.: The average height of planted plane trees. In: Graph Theory and Computing, (R.C. Read, Ed.), pp. 15–22. New York-London: Ac. Press 1972Google Scholar
3. 3.
deBruijn, N.G.: On Mahler's partition problem. Koninklijke Nederlandsche Akademie van Wetenschappen, Proceedings Vol. LI, No. 6, 659–669 (1948)Google Scholar
4. 4.
Kemp, R.: The average number of registers needed to evaluate a binary tree optimally. Technical Report A77/04, Universität des Saarlandes, Saarbrücken, 1977Google Scholar
5. 5.
Nakata, I.: On compiling algorithms for arithmetic expressions. Comm. ACM 10, 492–494 (1967)Google Scholar
6. 6.
Sethi, R., Ullman, J.D.: The generation of optimal code for arithmetic expressions. JACM 17, 715–728 (1970)Google Scholar