/Java99

Java99 problems

Primary LanguageJava

Java99 Problems done right [With JUnit tests)

Strings

Trees

  • P54 Tree representation.
  • P55 Construct completely balanced binary trees. [Tree.cBalanced()]
  • P56 Symmetric binary trees. [tree.hasSymmetricStructure()]
  • P57 Binary search trees (dictionaries). [BinarySearchTree]
  • P58 Generate-and-test paradigm. [Tree.allSymmetricBalancedTrees()]
  • P59 Construct height-balanced binary trees. [Tree.allHeightBalanced()]]
  • P60 Construct height-balanced binary trees with a given number of nodes. [Tree.minHbalNodes(), Tree.maxHbalHeight(), Tree.allHeightBalancedWithNodes()]
  • P61 Count the leaves of a binary tree. [tree.leavesCount()]
  • P61A Collect the leaves of a binary tree in a list. [tree.leavesList(), tree.leavesKeysList()]
  • P62A Collect the internal nodes of a binary tree in a list. [tree.internalNodesList(), tree.internalNodesList()]
  • P62B Collect the nodes at a given level in a list. [tree.nodesAtHeight(), tree.nodesKeysAtHeight()]

Graphs

  • P80 [graph.toString(), SimpleGraph.fromString()]
  • P81 All paths from one vertex to another one. [graph.allAcyclicPaths()]
  • P82 All cycles starting and ending on a vertex. [graph.allCycles()]
  • P83 All spanning trees. [graph.allSpanningTrees()]
  • P84 Construct the minimal spanning tree. [graph.prim()]
  • P85 Graph isomorphism. [graph.isIsomorphicTo()]
  • P86 Node degree and graph coloration. [graph.inDegree(), graph.outDegree(), graph.verticesByDegree()]
    • Welsh-Powell's algorithm. [graph.vertexColoring()]
  • P87 Depth-first order graph traversal [graph.verticesByDepthFrom()]
  • P88 Connected components. [graph.connectedComponents(), graph.stronglyConnectedComponents()]
  • P89 Bipartite graphs. [graph.isBipartite()]