Bibliography

[1] H. Abelson, G. J. Sussman, and J. Sussman, Structure and Interpretation of Computer Programs. Cambridge, MA: MIT Press, 2nd ed., 1996.

[2] G. M. Adel'son-Vel'skii and Y. M. Landis, “An algorithm for the organization of information,” Doklady Akademii Nauk SSSR, vol. 146, pp. 263–266, 1962. English translation in Soviet Math. Doklady, vol. 3, pp. 1259–1262.

[3] A. Aggarwal and J. S. Vitter, “The input/output complexity of sorting and related problems,” Commun. ACM, vol. 31, pp. 1116–1127, 1988.

[4] A. V. Aho, “Algorithms for finding patterns in strings,” in Handbook of Theoretical Computer Science (J. van Leeuwen, ed.), vol. A. Algorithms and Complexity, pp. 255–300, Amsterdam: Elsevier, 1990.

[5] A. V. Aho, J. E. Hopcroft, and J. D. Ullman, The Design and Analysis of Computer Algorithms. Reading, MA: Addison-Wesley, 1974.

[6] A. V. Aho, J. E. Hopcroft, and J. D. Ullman, Data Structures and Algorithms. Reading, MA: Addison-Wesley, 1983.

[7] R. K. Ahuja, T. L. Magnanti, and J. B. Orlin, Network Flows: Theory, Algorithms, and Applications. Englewood Cliffs, NJ: Prentice Hall, 1993.

[8] K. Arnold, J. Gosling, and D. Holmes, The Java Programming Language. The Java Series, Upper Saddle River, NJ: Prentice Hall, 4th ed., 2006.

[9] O. images, “O jistem problemu minimalnim,” Praca Moravske Prirodovedecke Spolecnosti, vol. 3, pp. 37–58, 1926. (in Czech).

[10] R. Bayer, “Symmetric binary B-trees: Data structure and maintenance,” Acta Informatica, vol. 1, no. 4, pp. 290–306, 1972.

[11] R. Bayer and McCreight, “Organization of large ordered indexes,” Acta Inform., vol. 1, pp. 173–189, 1972.

[12] R. E. Bellman, Dynamic Programming. Princeton, NJ: Princeton University Press, 1957.

[13] J. L. Bentley, “Programming pearls: Writing correct programs,” Communications of the ACM, vol. 26, pp. 1040–1045, 1983.

[14] J. L. Bentley, “Programming pearls: Thanks, heaps,” Communications of the ACM, vol. 28, pp. 245–250, 1985.

[15] J. L. Bentley and M. D. McIlroy, “Engineering a sort function,” Software—Practice and Experience, vol. 23, no. 11, pp. 1249–1265, 1993.

[16] G. Booch, Object-Oriented Analysis and Design with Applications. Redwood City, CA: Benjamin/Cummings, 1994.

[17] R. S. Boyer and J. S. Moore, “A fast string searching algorithm,” Communications of the ACM, vol. 20, no. 10, pp. 762–772, 1977.

[18] G. Brassard, “Crusade for a better notation,” SIGACT News, vol. 17, no. 1, pp. 60–64, 1985.

[19] T. Budd, An Introduction to Object-Oriented Programming. Reading, MA: Addison-Wesley, 1991.

[20] D. Burger, J. R. Goodman, and G. S. Sohi, “Memory systems,” in The Computer Science and Engineering Handbook (A. B. Tucker, Jr., ed.), ch. 18, pp. 447–461, CRC Press, 1997.

[21] S. Carlsson, “Average case results on heapsort,” BIT, vol. 27, pp. 2–17, 1987.

[22] K. L. Clarkson, “Linear programming in O(n3d2) time,” Inform. Process. Lett., vol. 22, pp. 21–24, 1986.

[23] R. Cole, “Tight bounds on the complexity of the Boyer-Moore pattern matching algorithm,” SIAM J. Comput., vol. 23, no. 5, pp. 1075–1091, 1994.

[24] D. Comer, “The ubiquitous B-tree,” ACM Comput. Surv., vol. 11, pp. 121–137, 1979.

[25] T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to Algorithms. Cambridge, MA: MIT Press, 3rd ed., 2009.

[26] M. Crochemore and T. Lecroq, “Pattern matching and text compression algorithms,” in The Computer Science and Engineering Handbook (A. B. Tucker, Jr., ed.), ch. 8, pp. 162–202, CRC Press, 1997.

[27] S. Crosby and D.Wallach, “Denial of service via algorithmic complexity attacks,” in Proc. 12th Usenix Security Symp., pp. 29–44, 2003.

[28] S. A. Demurjian, Sr., “Software design,” in The Computer Science and Engineering Handbook (A. B. Tucker, Jr., ed.), ch. 108, pp. 2323–2351, CRC Press, 1997.

[29] G. Di Battista, P. Eades, R. Tamassia, and I. G. Tollis, Graph Drawing. Upper Saddle River, NJ: Prentice Hall, 1999.

[30] E. W. Dijkstra, “A note on two problems in connexion with graphs,” Numerische Mathematik, vol. 1, pp. 269–271, 1959.

[31] E. W. Dijkstra, “Recursive programming,” Numerische Mathematik, vol. 2, no. 1, pp. 312–318, 1960.

[32] J. R. Driscoll, H. N. Gabow, R. Shrairaman, and R. E. Tarjan, “Relaxed heaps: An alternative to Fibonacci heaps with applications to parallel computation,” Commun. ACM, vol. 31, pp. 1343–1354, 1988.

[33] D. Flanagan, Java in a Nutshell. O'Reilly, 5th ed., 2005.

[34] R. W. Floyd, “Algorithm 97: Shortest path,” Communications of the ACM, vol. 5, no. 6, p. 345, 1962.

[35] R. W. Floyd, “Algorithm 245: Treesort 3,” Communications of the ACM, vol. 7, no. 12, p. 701, 1964.

[36] M. L. Fredman and R. E. Tarjan, “Fibonacci heaps and their uses in improved network optimization algorithms,” J. ACM, vol. 34, pp. 596–615, 1987.

[37] E. Gamma, R. Helm, R. Johnson, and J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software. Reading, MA: Addison-Wesley, 1995.

[38] G. H. Gonnet and R. Baeza-Yates, Handbook of Algorithms and Data Structures. Addison-Wesley, 1991.

[39] G. H. Gonnet and J. I. Munro, “Heaps on heaps,” SIAM J. Comput., vol. 15, no. 4, pp. 964–971, 1986.

[40] M. T. Goodrich, J.-J. Tsay, D. E. Vengroff, and J. S. Vitter, “External-memory computational geometry,” in Proc. 34th Annu. IEEE Sympos. Found. Comput. Sci., pp. 714–723, 1993.

[41] R. L. Graham and P. Hell, “On the history of the minimum spanning tree problem,” Annals of the History of Computing, vol. 7, no. 1, pp. 43–57, 1985.

[42] L. J. Guibas and R. Sedgewick, “A dichromatic framework for balanced trees,” in Proc. 19th Annu. IEEE Sympos. Found. Comput. Sci., Lecture Notes Comput. Sci., pp. 8–21, Springer-Verlag, 1978.

[43] Y. Gurevich, “What does O(n) mean?,” SIGACT News, vol. 17, no. 4, pp. 61–63, 1986.

[44] J. Hennessy and D. Patterson, Computer Architecture: A Quantitative Approach. San Francisco: Morgan Kaufmann, 2nd ed., 1996.

[45] C. A. R. Hoare, “Quicksort,” The Computer Journal, vol. 5, pp. 10–15, 1962.

[46] J. E. Hopcroft and R. E. Tarjan, “Efficient algorithms for graph manipulation,” Communications of the ACM, vol. 16, no. 6, pp. 372–378, 1973.

[47] C. S. Horstmann and G. Cornell, Core Java, vol. I–Fundamentals. Upper Saddle River, NJ: Prentice Hall, 8th ed., 2008.

[48] C. S. Horstmann and G. Cornell, Core Java, vol. II–Advanced Features. Upper Saddle River, NJ: Prentice Hall, 8th ed., 2008.

[49] B.-C. Huang and M. Langston, “Practical in-place merging,” Communications of the ACM, vol. 31, no. 3, pp. 348–352, 1988.

[50] J. JáJá, An Introduction to Parallel Algorithms. Reading, MA: Addison-Wesley, 1992.

[51] V. Jarník, “O jistem problemu minimalnim,” Praca Moravske Prirodovedecke Spolecnosti, vol. 6, pp. 57–63, 1930. (in Czech).

[52] R. Jones and R. Lins, Garbage Collection: Algorithms for Automatic Dynamic Memory Management. John Wiley and Sons, 1996.

[53] D. R. Karger, P. Klein, and R. E. Tarjan, “A randomized linear-time algorithm to find minimum spanning trees,” Journal of the ACM, vol. 42, pp. 321–328, 1995.

[54] R. M. Karp and M. O. Rabin, “Efficient randomized pattern-matching algorithms,” IBM J. Res. Develop., vol. 31, no. 2, pp. 249–260, 1987.

[55] R.M. Karp and V. Ramachandran, “Parallel algorithms for shared memory machines,” in Handbook of Theoretical Computer Science (J. van Leeuwen, ed.), pp. 869–941, Amsterdam: Elsevier/The MIT Press, 1990.

[56] P. Kirschenhofer and H. Prodinger, “The path length of random skip lists,” Acta Informatica, vol. 31, pp. 775–792, 1994.

[57] J. Kleinberg and É. Tardos, Algorithm Design. Reading, MA: Addison-Wesley, 2006.

[58] A. Klink and J. Wälde, “Efficient denial of service attacks on web application platforms.” 2011.

[59] D. E. Knuth, “Big omicron and big omega and big theta,” in SIGACT News, vol. 8, pp. 18–24, 1976.

[60] D. E. Knuth, Fundamental Algorithms, vol. 1 of The Art of Computer Programming. Reading, MA: Addison-Wesley, 3rd ed., 1997.

[61] D. E. Knuth, Sorting and Searching, vol. 3 of The Art of Computer Programming. Reading, MA: Addison-Wesley, 2nd ed., 1998.

[62] D. E. Knuth, J. H. Morris, Jr., and V. R. Pratt, “Fast pattern matching in strings,” SIAM J. Comput., vol. 6, no. 1, pp. 323–350, 1977.

[63] J. B. Kruskal, Jr., “On the shortest spanning subtree of a graph and the traveling salesman problem,” Proc. Amer. Math. Soc., vol. 7, pp. 48–50, 1956.

[64] R. Lesuisse, “Some lessons drawn from the history of the binary search algorithm,” The Computer Journal, vol. 26, pp. 154–163, 1983.

[65] N. G. Leveson and C. S. Turner, “An investigation of the Therac-25 accidents,” IEEE Computer, vol. 26, no. 7, pp. 18–41, 1993.

[66] A. Levitin, “Do we teach the right algorithm design techniques?,” in 30th ACM SIGCSE Symp. on Computer Science Education, pp. 179–183, 1999.

[67] B. Liskov and J. Guttag, Abstraction and Specification in Program Development. Cambridge, MA/New York: The MIT Press/McGraw-Hill, 1986.

[68] E. M. McCreight, “A space-economical suffix tree construction algorithm,” Journal of Algorithms, vol. 23, no. 2, pp. 262–272, 1976.

[69] C. J. H. McDiarmid and B. A. Reed, “Building heaps fast,” Journal of Algorithms, vol. 10, no. 3, pp. 352–365, 1989.

[70] N.Megiddo, “Linear programming in linear time when the dimension is fixed,” J. ACM, vol. 31, pp. 114–127, 1984.

[71] K. Mehlhorn, Data Structures and Algorithms 1: Sorting and Searching, vol. 1 of EATCS Monographs on Theoretical Computer Science. Heidelberg, Germany: Springer-Verlag, 1984.

[72] K. Mehlhorn, Data Structures and Algorithms 2: Graph Algorithms and NP-Completeness, vol. 2 of EATCS Monographs on Theoretical Computer Science. Heidelberg, Germany: Springer-Verlag, 1984.

[73] K. Mehlhorn and A. Tsakalidis, “Data structures,” in Algorithms and Complexity (J. van Leeuwen, ed.), vol. A of Handbook of Theoretical Computer Science, pp. 303–334, Amsterdam: Elsevier, 1990.

[74] D. R. Morrison, “PATRICIA—practical algorithm to retrieve information coded in alphanumeric,” Journal of the ACM, vol. 15, no. 4, pp. 514–534, 1968.

[75] R. Motwani and P. Raghavan, Randomized Algorithms. New York, NY: Cambridge University Press, 1995.

[76] Oracle Corporation, “Collections framework enhancements in Java SE 7.” http://docs.oracle.com/javase/7/docs/technotes/guides/collections/changes7.html. Accessed online, December 2013.

[77] T. Papadakis, J. I. Munro, and P. V. Poblete, “Average search and update costs in skip lists,” BIT, vol. 32, pp. 316–332, 1992.

[78] P. V. Poblete, J. I. Munro, and T. Papadakis, “The binomial transform and its application to the analysis of skip lists,” in Proceedings of the European Symposium on Algorithms (ESA), pp. 554–569, 1995.

[79] R. C. Prim, “Shortest connection networks and some generalizations,” Bell Syst. Tech. J., vol. 36, pp. 1389–1401, 1957.

[80] W. Pugh, “Skip lists: a probabilistic alternative to balanced trees,” Commun. ACM, vol. 33, no. 6, pp. 668–676, 1990.

[81] H. Samet, The Design and Analysis of Spatial Data Structures. Reading, MA: Addison-Wesley, 1990.

[82] R. Schaffer and R. Sedgewick, “The analysis of heapsort,” Journal of Algorithms, vol. 15, no. 1, pp. 76–100, 1993.

[83] D. D. Sleator and R. E. Tarjan, “Self-adjusting binary search trees,” J. ACM, vol. 32, no. 3, pp. 652–686, 1985.

[84] G. A. Stephen, String Searching Algorithms. World Scientific Press, 1994.

[85] R. Tamassia and G. Liotta, “Graph drawing,” in Handbook of Discrete and Computational Geometry (J. E. Goodman and J. O'Rourke, eds.), ch. 52, pp. 1163–1186, CRC Press LLC, 2nd ed., 2004.

[86] R. Tarjan and U. Vishkin, “An efficient parallel biconnectivity algorithm,” SIAM J. Comput., vol. 14, pp. 862–874, 1985.

[87] R. E. Tarjan, “Depth first search and linear graph algorithms,” SIAM J. Comput., vol. 1, no. 2, pp. 146–160, 1972.

[88] R. E. Tarjan, Data Structures and Network Algorithms, vol. 44 of CBMS-NSF Regional Conference Series in Applied Mathematics. Philadelphia, PA: Society for Industrial and Applied Mathematics, 1983.

[89] A. B. Tucker, Jr., The Computer Science and Engineering Handbook. CRC Press, 1997.

[90] J. van Leeuwen, “Graph algorithms,” in Handbook of Theoretical Computer Science (J. van Leeuwen, ed.), vol. A. Algorithms and Complexity, pp. 525–632, Amsterdam: Elsevier, 1990.

[91] J. S. Vitter, “Efficient memory access in large-scale computation,” in Proc. 8th Sympos. Theoret. Aspects Comput. Sci., Lecture Notes Comput. Sci., Springer-Verlag, 1991.

[92] J. S. Vitter and W. C. Chen, Design and Analysis of Coalesced Hashing. New York: Oxford University Press, 1987.

[93] J. S. Vitter and P. Flajolet, “Average-case analysis of algorithms and data structures,” in Algorithms and Complexity (J. van Leeuwen, ed.), vol. A of Handbook of Theoretical Computer Science, pp. 431–524, Amsterdam: Elsevier, 1990.

[94] S. Warshall, “A theorem on boolean matrices,” Journal of the ACM, vol. 9, no. 1, pp. 11–12, 1962.

[95] J. W. J. Williams, “Algorithm 232: Heapsort,” Communications of the ACM, vol. 7, no. 6, pp. 347–348, 1964.

[96] D. Wood, Data Structures, Algorithms, and Performance. Addison-Wesley, 1993.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset