Useful knowledge

  • Basic data structures: stacks, queues, arrays, and lists.
  • Basic algorithms: sorting and searching.
  • Binary trees.
  • Brute-force search.
  • Backtracking search.
  • Generating all permutations or combinations of a set.
  • Recursion.
  • Dynamic programming.
  • Graphs and their algorithms, including breadth-first search, depth-first search, minimum spanning trees, shortest paths, topological sort, and transitive closure.
  • Basic parsing techniques such as recursive descent, operator precedence, or infix-to-postfix conversion.

Useful Java Classes

  • String, StringBuffer classes from java.lang.
  • The wrapper classes Boolean, Character, Double, and Integer.
  • The java.util Java Collection Framework classes.
  • The java.util classes Scanner, StringTokenizer.
  • The java.util.regex classes Matcher and Pattern.
  • The java.math class BigInteger.
  • The Comparable and Comparator interfaces.
  • The Math class.

Useful resources:

Back to Top ↑