From 279d679ae0ac92e9175b439ff84657d4f0abbd1e Mon Sep 17 00:00:00 2001 From: pascal Date: Tue, 6 Oct 2020 19:41:43 +0200 Subject: [PATCH 001/108] fix array heap test --- src/test/java/datastructures/heap/MaxArrayHeapTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/datastructures/heap/MaxArrayHeapTest.java b/src/test/java/datastructures/heap/MaxArrayHeapTest.java index 86c4b60..10212f8 100644 --- a/src/test/java/datastructures/heap/MaxArrayHeapTest.java +++ b/src/test/java/datastructures/heap/MaxArrayHeapTest.java @@ -84,7 +84,7 @@ public void testRightChild() { int result = maxArrayHeap.rightChild(0); - assertEquals(2, result); + assertEquals(6, result); result = maxArrayHeap.rightChild(1); assertEquals(4, result); From 8141036860cbf0ca0d28031b7d44819af93929d8 Mon Sep 17 00:00:00 2001 From: pascal Date: Tue, 6 Oct 2020 19:42:53 +0200 Subject: [PATCH 002/108] complete missing javadoc --- docs/problems/coinsamount/CoinsAmount.html | 256 +++++++++++++++ .../problems/coinsamount/impl/BruteForce.html | 310 ++++++++++++++++++ .../coinsamount/impl/DynamicProgramming.html | 295 +++++++++++++++++ .../coinsamount/impl/package-frame.html | 20 ++ .../coinsamount/impl/package-summary.html | 143 ++++++++ .../coinsamount/impl/package-tree.html | 135 ++++++++ docs/problems/coinsamount/package-frame.html | 19 ++ .../problems/coinsamount/package-summary.html | 139 ++++++++ docs/problems/coinsamount/package-tree.html | 130 ++++++++ 9 files changed, 1447 insertions(+) create mode 100644 docs/problems/coinsamount/CoinsAmount.html create mode 100644 docs/problems/coinsamount/impl/BruteForce.html create mode 100644 docs/problems/coinsamount/impl/DynamicProgramming.html create mode 100644 docs/problems/coinsamount/impl/package-frame.html create mode 100644 docs/problems/coinsamount/impl/package-summary.html create mode 100644 docs/problems/coinsamount/impl/package-tree.html create mode 100644 docs/problems/coinsamount/package-frame.html create mode 100644 docs/problems/coinsamount/package-summary.html create mode 100644 docs/problems/coinsamount/package-tree.html diff --git a/docs/problems/coinsamount/CoinsAmount.html b/docs/problems/coinsamount/CoinsAmount.html new file mode 100644 index 0000000..c65533e --- /dev/null +++ b/docs/problems/coinsamount/CoinsAmount.html @@ -0,0 +1,256 @@ + + + + + +CoinsAmount (java-fundamentals documentation) + + + + + + + + + + + +
+
problems.coinsamount
+

Interface CoinsAmount

+
+
+
+ +
+
+
    +
  • + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + +
      All Methods Instance Methods Abstract Methods Default Methods 
      Modifier and TypeMethod and Description
      intcalculateAmount(int number, + java.util.List<java.lang.Integer> coinTypes) +
      Calculate the minimal amount of coins needed to depict number using the given coin types.
      +
      default java.util.List<java.lang.Integer>filterLargeCoinTypes(int value, + java.util.List<java.lang.Integer> coinTypes) +
      Filters the coin types that are greater than our value and removes them from the list
      +
      +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        calculateAmount

        +
        int calculateAmount(int number,
        +                    java.util.List<java.lang.Integer> coinTypes)
        +
        Calculate the minimal amount of coins needed to depict number using the given coin types.
        +
        +
        Parameters:
        +
        number - - The number we want to depict using the coins. Must be greater than zero.
        +
        coinTypes - - List of given coin types. Must be sorted ascending
        +
        Returns:
        +
        amount of coins needed
        +
        +
      • +
      + + + +
        +
      • +

        filterLargeCoinTypes

        +
        default java.util.List<java.lang.Integer> filterLargeCoinTypes(int value,
        +                                                               java.util.List<java.lang.Integer> coinTypes)
        +
        Filters the coin types that are greater than our value and removes them from the list
        +
        +
        Returns:
        +
        a copy of our coin types list
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + + + + + + diff --git a/docs/problems/coinsamount/impl/BruteForce.html b/docs/problems/coinsamount/impl/BruteForce.html new file mode 100644 index 0000000..c4256dd --- /dev/null +++ b/docs/problems/coinsamount/impl/BruteForce.html @@ -0,0 +1,310 @@ + + + + + +BruteForce (java-fundamentals documentation) + + + + + + + + + + + +
+
problems.coinsamount.impl
+

Class BruteForce

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • problems.coinsamount.impl.BruteForce
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    CoinsAmount
    +
    +
    +
    +
    public class BruteForce
    +extends java.lang.Object
    +implements CoinsAmount
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      BruteForce() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + + + + + +
      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      intcalculateAmount(int number, + java.util.List<java.lang.Integer> coinTypesOriginal) +
      Calculate the minimal amount of coins needed to depict number using the given coin types.
      +
      static <T> java.util.List<java.util.List<T>>combination(java.util.List<T> values, + int size) 
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      + +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        BruteForce

        +
        public BruteForce()
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        combination

        +
        public static <T> java.util.List<java.util.List<T>> combination(java.util.List<T> values,
        +                                                                int size)
        +
      • +
      + + + +
        +
      • +

        calculateAmount

        +
        public int calculateAmount(int number,
        +                           java.util.List<java.lang.Integer> coinTypesOriginal)
        +
        Description copied from interface: CoinsAmount
        +
        Calculate the minimal amount of coins needed to depict number using the given coin types.
        +
        +
        Specified by:
        +
        calculateAmount in interface CoinsAmount
        +
        Parameters:
        +
        number - - The number we want to depict using the coins. Must be greater than zero.
        +
        coinTypesOriginal - - List of given coin types. Must be sorted ascending
        +
        Returns:
        +
        amount of coins needed
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + + + + + + diff --git a/docs/problems/coinsamount/impl/DynamicProgramming.html b/docs/problems/coinsamount/impl/DynamicProgramming.html new file mode 100644 index 0000000..b8f1dc4 --- /dev/null +++ b/docs/problems/coinsamount/impl/DynamicProgramming.html @@ -0,0 +1,295 @@ + + + + + +DynamicProgramming (java-fundamentals documentation) + + + + + + + + + + + +
+
problems.coinsamount.impl
+

Class DynamicProgramming

+
+
+
    +
  • java.lang.Object
  • +
  • +
      +
    • problems.coinsamount.impl.DynamicProgramming
    • +
    +
  • +
+
+
    +
  • +
    +
    All Implemented Interfaces:
    +
    CoinsAmount
    +
    +
    +
    +
    public class DynamicProgramming
    +extends java.lang.Object
    +implements CoinsAmount
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Summary

      + + + + + + + + +
      Constructors 
      Constructor and Description
      DynamicProgramming() 
      +
    • +
    + +
      +
    • + + +

      Method Summary

      + + + + + + + + + + +
      All Methods Instance Methods Concrete Methods 
      Modifier and TypeMethod and Description
      intcalculateAmount(int number, + java.util.List<java.lang.Integer> coinTypesOriginal) +
      Calculate the minimal amount of coins needed to depict number using the given coin types.
      +
      +
        +
      • + + +

        Methods inherited from class java.lang.Object

        +clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • +
      + +
    • +
    +
  • +
+
+
+
    +
  • + +
      +
    • + + +

      Constructor Detail

      + + + +
        +
      • +

        DynamicProgramming

        +
        public DynamicProgramming()
        +
      • +
      +
    • +
    + +
      +
    • + + +

      Method Detail

      + + + +
        +
      • +

        calculateAmount

        +
        public int calculateAmount(int number,
        +                           java.util.List<java.lang.Integer> coinTypesOriginal)
        +
        Description copied from interface: CoinsAmount
        +
        Calculate the minimal amount of coins needed to depict number using the given coin types.
        +
        +
        Specified by:
        +
        calculateAmount in interface CoinsAmount
        +
        Parameters:
        +
        number - - The number we want to depict using the coins. Must be greater than zero.
        +
        coinTypesOriginal - - List of given coin types. Must be sorted ascending
        +
        Returns:
        +
        amount of coins needed
        +
        +
      • +
      +
    • +
    +
  • +
+
+
+ + + + + + + diff --git a/docs/problems/coinsamount/impl/package-frame.html b/docs/problems/coinsamount/impl/package-frame.html new file mode 100644 index 0000000..afa85be --- /dev/null +++ b/docs/problems/coinsamount/impl/package-frame.html @@ -0,0 +1,20 @@ + + + + + +problems.coinsamount.impl (java-fundamentals documentation) + + + + +

problems.coinsamount.impl

+
+

Classes

+ +
+ + diff --git a/docs/problems/coinsamount/impl/package-summary.html b/docs/problems/coinsamount/impl/package-summary.html new file mode 100644 index 0000000..26f8259 --- /dev/null +++ b/docs/problems/coinsamount/impl/package-summary.html @@ -0,0 +1,143 @@ + + + + + +problems.coinsamount.impl (java-fundamentals documentation) + + + + + + + + + + +
+

Package problems.coinsamount.impl

+
+
+ +
+ + + + + + diff --git a/docs/problems/coinsamount/impl/package-tree.html b/docs/problems/coinsamount/impl/package-tree.html new file mode 100644 index 0000000..f402fac --- /dev/null +++ b/docs/problems/coinsamount/impl/package-tree.html @@ -0,0 +1,135 @@ + + + + + +problems.coinsamount.impl Class Hierarchy (java-fundamentals documentation) + + + + + + + + + + +
+

Hierarchy For Package problems.coinsamount.impl

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+ + + + + + diff --git a/docs/problems/coinsamount/package-frame.html b/docs/problems/coinsamount/package-frame.html new file mode 100644 index 0000000..ea7aee1 --- /dev/null +++ b/docs/problems/coinsamount/package-frame.html @@ -0,0 +1,19 @@ + + + + + +problems.coinsamount (java-fundamentals documentation) + + + + +

problems.coinsamount

+
+

Interfaces

+ +
+ + diff --git a/docs/problems/coinsamount/package-summary.html b/docs/problems/coinsamount/package-summary.html new file mode 100644 index 0000000..4b0c7ad --- /dev/null +++ b/docs/problems/coinsamount/package-summary.html @@ -0,0 +1,139 @@ + + + + + +problems.coinsamount (java-fundamentals documentation) + + + + + + + + + + +
+

Package problems.coinsamount

+
+
+
    +
  • + + + + + + + + + + + + +
    Interface Summary 
    InterfaceDescription
    CoinsAmount 
    +
  • +
+
+ + + + + + diff --git a/docs/problems/coinsamount/package-tree.html b/docs/problems/coinsamount/package-tree.html new file mode 100644 index 0000000..b9ba0e6 --- /dev/null +++ b/docs/problems/coinsamount/package-tree.html @@ -0,0 +1,130 @@ + + + + + +problems.coinsamount Class Hierarchy (java-fundamentals documentation) + + + + + + + + + + +
+

Hierarchy For Package problems.coinsamount

+Package Hierarchies: + +
+
+

Interface Hierarchy

+ +
+ + + + + + From e4383ddbd0277a6caaf65efd6594d3981fb7ff26 Mon Sep 17 00:00:00 2001 From: Lorenz Nickel Date: Tue, 6 Oct 2020 22:07:59 +0200 Subject: [PATCH 003/108] Mergify: configuration update --- .mergify.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.mergify.yml b/.mergify.yml index 3471e90..32dda48 100644 --- a/.mergify.yml +++ b/.mergify.yml @@ -1,10 +1,10 @@ pull_request_rules: - - name: automatic merge for master when reviewed and CI passes and has label + - name: automatic merge for master when reviewed by owner conditions: - status-success=continuous-integration/travis-ci/pr - - "#approved-reviews-by>=1" + - "status-success=ci/circleci: test" + - approved-reviews-by=LorenzNickel - base=master - - label=ready-to-merge actions: merge: method: rebase @@ -21,9 +21,10 @@ pull_request_rules: message: This pull request is now in conflicts. Could you fix it? 🙏 - name: automatic merge for Dependabot pull requests with label conditions: - - label=ready-to-merge + - approved-reviews-by=LorenzNickel - author~=^dependabot(|-preview)\[bot\]$ - status-success=continuous-integration/travis-ci/pr + - "status-success=ci/circleci: test" actions: merge: method: rebase From 32e69c657bc66dfc6dd915134b2dc23fc84605af Mon Sep 17 00:00:00 2001 From: Lorenz Nickel Date: Tue, 6 Oct 2020 21:59:35 +0200 Subject: [PATCH 004/108] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index c4cdd38..35a9115 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # java-fundamentals -[![Build Status](https://travis-ci.org/LorenzNickel/java-fundamentals.svg?branch=master)](https://travis-ci.org/LorenzNickel/java-fundamentals) +[![Travis Build Status](https://travis-ci.org/LorenzNickel/java-fundamentals.svg?branch=master)](https://travis-ci.org/LorenzNickel/java-fundamentals) +[![Circle Build Status](https://circleci.com/gh/LorenzNickel/java-fundamentals.svg?style=shield)](https://circleci.com/gh/LorenzNickel/java-fundamentals/) [![codecov](https://codecov.io/gh/LorenzNickel/java-fundamentals/branch/master/graph/badge.svg)](https://codecov.io/gh/LorenzNickel/java-fundamentals) Common algorithms, data structures and design pattern implemented in Java. From 97ad1b21d0c7553827020dcaa9ced0e0aa37f2c3 Mon Sep 17 00:00:00 2001 From: Lorenz Nickel Date: Wed, 7 Oct 2020 17:28:38 +0200 Subject: [PATCH 005/108] Add CONTRIBUTING.md --- docs/CONTRIBUTING.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 docs/CONTRIBUTING.md diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md new file mode 100644 index 0000000..a989015 --- /dev/null +++ b/docs/CONTRIBUTING.md @@ -0,0 +1,20 @@ +# Contributing to LorenzNickel/java-fundamentals + +:tada: First off, thanks for taking the time to contribute! :tada: + +The following is a set of guidelines for contributing to [LorenzNickel/java-fundamentals](https://github.com/LorenzNickel/java-fundamentals) on GitHub. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request. + +## Pull Requests + +Feel free to create pull requests covering additional (common) algorithms, datastructures, design pattern and problems (including a textual description) to this repository. + +### Content + +Please make sure to not violate any copyright rules when contributing to this repository. +In general, we are happy to receive any contributions covering new implementations or problem statements. +Regarding the structuring of your files it might be useful to check similar implementations in this repository first and adapt their style. + +### Style Guide + +This repository follows the [Google Java Style Guide](https://google.github.io/styleguide/javaguide.html). Feel free to download formatting presets for your IDE from [Google's GitHub repository](https://github.com/google/styleguide). +We have set up [checkstyle](https://github.com/LorenzNickel/java-fundamentals/blob/master/checkstyle.xml) to enforce them throughout this project. You can check locally if your changes comply with these guidelines by executing the maven goal `compile`. If the build of your Pull Request fails make sure to checkout the logs in the checks of your Pull Request to see what exactly does not comply with our guidelines. If you think that you are still complying with the guidelines, feel free to make corresponding changes to our [checkstyle file](https://github.com/LorenzNickel/java-fundamentals/blob/master/checkstyle.xml). \ No newline at end of file From 35ed5e0c2ca33b0f0305f697984903cb18645eb2 Mon Sep 17 00:00:00 2001 From: Lorenz Nickel Date: Wed, 7 Oct 2020 17:30:54 +0200 Subject: [PATCH 006/108] Add link to contribution guidelines --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 35a9115..ad8bb3f 100644 --- a/README.md +++ b/README.md @@ -4,3 +4,5 @@ [![codecov](https://codecov.io/gh/LorenzNickel/java-fundamentals/branch/master/graph/badge.svg)](https://codecov.io/gh/LorenzNickel/java-fundamentals) Common algorithms, data structures and design pattern implemented in Java. + +Please have a look at our [contribution guidelines](https://github.com/LorenzNickel/java-fundamentals/blob/master/docs/CONTRIBUTING.md) if you want to improve this repository. From e00d07d38fd5d2c2876b7089aa142b6df1a7d44d Mon Sep 17 00:00:00 2001 From: Richard Vierhaus Date: Wed, 7 Oct 2020 22:11:38 +0200 Subject: [PATCH 007/108] add gnomesort (#14) * add gnomesort * added gnome sort test --- src/main/java/algorithms/sort/GnomeSort.java | 37 ++++++++++++++++++ .../java/algorithms/sort/GnomeSortTest.java | 38 +++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 src/main/java/algorithms/sort/GnomeSort.java create mode 100644 src/test/java/algorithms/sort/GnomeSortTest.java diff --git a/src/main/java/algorithms/sort/GnomeSort.java b/src/main/java/algorithms/sort/GnomeSort.java new file mode 100644 index 0000000..7dc8c55 --- /dev/null +++ b/src/main/java/algorithms/sort/GnomeSort.java @@ -0,0 +1,37 @@ +package algorithms.sort; + +/** + * @author Ninju + */ +public class GnomeSort { + + /** + * Sorts the array using gnome sort algorithm + * + * @param array + * @param + */ + public static > void gnomeSort(T[] array) { + int index = 0; + + if (array.length <= 1) { + return; + } + + while (index < array.length) { + if (index == 0) { + index++; + } + if (array[index].compareTo(array[index - 1]) >= 0) { + index++; + } else { + T temp; + temp = array[index]; + array[index] = array[index - 1]; + array[index - 1] = temp; + index--; + } + } + } + +} diff --git a/src/test/java/algorithms/sort/GnomeSortTest.java b/src/test/java/algorithms/sort/GnomeSortTest.java new file mode 100644 index 0000000..4b79776 --- /dev/null +++ b/src/test/java/algorithms/sort/GnomeSortTest.java @@ -0,0 +1,38 @@ +package algorithms.sort; + +import static org.junit.Assert.assertArrayEquals; + +import java.util.Arrays; +import junit.framework.TestCase; + + +/** + * @author Ninju + */ +public class GnomeSortTest extends TestCase { + + public void testGnomeSort(){ + final Short[] array = new Short[]{3, 2, 5, 4, 1}; + GnomeSort.gnomeSort(array); + for (int i = 0; i < 5; i++) { + assertEquals(i + 1, (short) array[i]); + } + } + + public void testSameResultAsInsertion(){ + final Short[] arrayA = new Short[]{1, 3, 5, 3, 5, 3, 2, 3, 8, -1, -12}; + final Short[] arrayB = Arrays.copyOf(arrayA, arrayA.length); + GnomeSort.gnomeSort(arrayA); + InsertionSort.insertionSort(arrayB); + assertArrayEquals(arrayA, arrayB); + } + + public void testGnomeSortEdgeCases() { + final String[] arrayA = new String[0]; + GnomeSort.gnomeSort(arrayA); + + final Float[] arrayB = new Float[]{1.0f}; + GnomeSort.gnomeSort(arrayB); + } + +} From b5d476aeaf81d3985eba5fa4cd27eb6eb86a6576 Mon Sep 17 00:00:00 2001 From: Richard Vierhaus Date: Wed, 7 Oct 2020 22:16:48 +0200 Subject: [PATCH 008/108] removed circleci from merging condition --- .mergify.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.mergify.yml b/.mergify.yml index 32dda48..04da9d4 100644 --- a/.mergify.yml +++ b/.mergify.yml @@ -2,7 +2,6 @@ pull_request_rules: - name: automatic merge for master when reviewed by owner conditions: - status-success=continuous-integration/travis-ci/pr - - "status-success=ci/circleci: test" - approved-reviews-by=LorenzNickel - base=master actions: From cc1adc8700e2003bece7e0b1e539bc11a8617dd0 Mon Sep 17 00:00:00 2001 From: Richard Vierhaus Date: Wed, 7 Oct 2020 22:32:26 +0200 Subject: [PATCH 009/108] Added gnomesort documentation (#16) --- docs/algorithms/sort/BubbleSortTest.html | 4 +- docs/algorithms/sort/GnomeSort.html | 279 +++++++++++++++++++ docs/algorithms/sort/GnomeSortTest.html | 322 ++++++++++++++++++++++ docs/algorithms/sort/InsertionSort.html | 4 +- docs/algorithms/sort/package-frame.html | 2 + docs/algorithms/sort/package-summary.html | 8 + docs/algorithms/sort/package-tree.html | 2 + docs/allclasses-frame.html | 2 + docs/allclasses-noframe.html | 2 + docs/index-files/index-16.html | 6 + docs/index-files/index-7.html | 12 + docs/overview-tree.html | 4 +- 12 files changed, 642 insertions(+), 5 deletions(-) create mode 100644 docs/algorithms/sort/GnomeSort.html create mode 100644 docs/algorithms/sort/GnomeSortTest.html diff --git a/docs/algorithms/sort/BubbleSortTest.html b/docs/algorithms/sort/BubbleSortTest.html index 7906fa2..c64109c 100644 --- a/docs/algorithms/sort/BubbleSortTest.html +++ b/docs/algorithms/sort/BubbleSortTest.html @@ -48,7 +48,7 @@ diff --git a/docs/pattern/composite/Leaf.html b/docs/pattern/composite/Leaf.html index 0891967..3822e22 100644 --- a/docs/pattern/composite/Leaf.html +++ b/docs/pattern/composite/Leaf.html @@ -1,6 +1,6 @@ - + Leaf (java-fundamentals documentation) @@ -41,7 +41,7 @@
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -228,7 +228,7 @@

    list

  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/pattern/composite/package-frame.html b/docs/pattern/composite/package-frame.html index 55af317..59e0b6d 100644 --- a/docs/pattern/composite/package-frame.html +++ b/docs/pattern/composite/package-frame.html @@ -1,6 +1,6 @@ - + pattern.composite (java-fundamentals documentation) diff --git a/docs/pattern/composite/package-summary.html b/docs/pattern/composite/package-summary.html index d2a9e6e..6742f29 100644 --- a/docs/pattern/composite/package-summary.html +++ b/docs/pattern/composite/package-summary.html @@ -1,6 +1,6 @@ - + pattern.composite (java-fundamentals documentation) @@ -35,7 +35,7 @@
  • Class
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -111,7 +111,7 @@

    Package pattern.composite

  • Class
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/pattern/composite/package-tree.html b/docs/pattern/composite/package-tree.html index 1a1b2b2..f54e2ff 100644 --- a/docs/pattern/composite/package-tree.html +++ b/docs/pattern/composite/package-tree.html @@ -1,6 +1,6 @@ - + pattern.composite Class Hierarchy (java-fundamentals documentation) @@ -35,7 +35,7 @@
  • Class
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -103,7 +103,7 @@

    Class Hierarchy

  • Class
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/pattern/singleton/ClassBasedEagerSingleton.html b/docs/pattern/singleton/ClassBasedEagerSingleton.html index adca47a..4b47434 100644 --- a/docs/pattern/singleton/ClassBasedEagerSingleton.html +++ b/docs/pattern/singleton/ClassBasedEagerSingleton.html @@ -1,6 +1,6 @@ - + ClassBasedEagerSingleton (java-fundamentals documentation) @@ -35,7 +35,7 @@
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -187,7 +187,7 @@

    INSTANCE

  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/pattern/singleton/ClassBasedLazySingleton.html b/docs/pattern/singleton/ClassBasedLazySingleton.html index 1e9fc78..388ce02 100644 --- a/docs/pattern/singleton/ClassBasedLazySingleton.html +++ b/docs/pattern/singleton/ClassBasedLazySingleton.html @@ -1,6 +1,6 @@ - + ClassBasedLazySingleton (java-fundamentals documentation) @@ -41,7 +41,7 @@
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -187,7 +187,7 @@

    getInstance

  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/pattern/singleton/package-frame.html b/docs/pattern/singleton/package-frame.html index 43ec849..e158c4c 100644 --- a/docs/pattern/singleton/package-frame.html +++ b/docs/pattern/singleton/package-frame.html @@ -1,6 +1,6 @@ - + pattern.singleton (java-fundamentals documentation) diff --git a/docs/pattern/singleton/package-summary.html b/docs/pattern/singleton/package-summary.html index 46f4b52..e9d5608 100644 --- a/docs/pattern/singleton/package-summary.html +++ b/docs/pattern/singleton/package-summary.html @@ -1,6 +1,6 @@ - + pattern.singleton (java-fundamentals documentation) @@ -35,14 +35,14 @@
  • Class
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -173,7 +173,7 @@

    isAnagram

  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/anagram/impl/ExternalMap.html b/docs/problems/anagram/impl/ExternalMap.html index e9fb01d..d68bec9 100644 --- a/docs/problems/anagram/impl/ExternalMap.html +++ b/docs/problems/anagram/impl/ExternalMap.html @@ -1,6 +1,6 @@ - + ExternalMap (java-fundamentals documentation) @@ -41,7 +41,7 @@
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -228,7 +228,7 @@

    isAnagram

  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/anagram/impl/Sorting.html b/docs/problems/anagram/impl/Sorting.html index cca63a1..8fb7098 100644 --- a/docs/problems/anagram/impl/Sorting.html +++ b/docs/problems/anagram/impl/Sorting.html @@ -1,6 +1,6 @@ - + Sorting (java-fundamentals documentation) @@ -41,7 +41,7 @@
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -228,7 +228,7 @@

    isAnagram

  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/anagram/impl/package-frame.html b/docs/problems/anagram/impl/package-frame.html index 3789f91..62794f0 100644 --- a/docs/problems/anagram/impl/package-frame.html +++ b/docs/problems/anagram/impl/package-frame.html @@ -1,6 +1,6 @@ - + problems.anagram.impl (java-fundamentals documentation) diff --git a/docs/problems/anagram/impl/package-summary.html b/docs/problems/anagram/impl/package-summary.html index 3109997..1d8dd7d 100644 --- a/docs/problems/anagram/impl/package-summary.html +++ b/docs/problems/anagram/impl/package-summary.html @@ -1,6 +1,6 @@ - + problems.anagram.impl (java-fundamentals documentation) @@ -35,7 +35,7 @@
  • Class
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -107,7 +107,7 @@

    Package problems.anagram.impl

  • Class
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/anagram/impl/package-tree.html b/docs/problems/anagram/impl/package-tree.html index 38af348..627490c 100644 --- a/docs/problems/anagram/impl/package-tree.html +++ b/docs/problems/anagram/impl/package-tree.html @@ -1,6 +1,6 @@ - + problems.anagram.impl Class Hierarchy (java-fundamentals documentation) @@ -35,7 +35,7 @@
  • Class
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -99,7 +99,7 @@

    Class Hierarchy

  • Class
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/anagram/package-frame.html b/docs/problems/anagram/package-frame.html index f03c77b..5c414cc 100644 --- a/docs/problems/anagram/package-frame.html +++ b/docs/problems/anagram/package-frame.html @@ -1,6 +1,6 @@ - + problems.anagram (java-fundamentals documentation) diff --git a/docs/problems/anagram/package-summary.html b/docs/problems/anagram/package-summary.html index 37d72d5..5e48860 100644 --- a/docs/problems/anagram/package-summary.html +++ b/docs/problems/anagram/package-summary.html @@ -1,6 +1,6 @@ - + problems.anagram (java-fundamentals documentation) @@ -35,13 +35,13 @@
  • Class
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -173,7 +173,7 @@

    isSubTree

  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/checksubtree/impl/Recursive.html b/docs/problems/checksubtree/impl/Recursive.html index 0595053..cfbfd12 100644 --- a/docs/problems/checksubtree/impl/Recursive.html +++ b/docs/problems/checksubtree/impl/Recursive.html @@ -1,6 +1,6 @@ - + Recursive (java-fundamentals documentation) @@ -41,7 +41,7 @@
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -228,7 +228,7 @@

    isSubTree

  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/checksubtree/impl/package-frame.html b/docs/problems/checksubtree/impl/package-frame.html index 8bd5b4a..b80fcec 100644 --- a/docs/problems/checksubtree/impl/package-frame.html +++ b/docs/problems/checksubtree/impl/package-frame.html @@ -1,6 +1,6 @@ - + problems.checksubtree.impl (java-fundamentals documentation) diff --git a/docs/problems/checksubtree/impl/package-summary.html b/docs/problems/checksubtree/impl/package-summary.html index 50bc7af..aff4025 100644 --- a/docs/problems/checksubtree/impl/package-summary.html +++ b/docs/problems/checksubtree/impl/package-summary.html @@ -1,6 +1,6 @@ - + problems.checksubtree.impl (java-fundamentals documentation) @@ -35,7 +35,7 @@
  • Class
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -103,7 +103,7 @@

    Package problems.checksubtree.impl

  • Class
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/checksubtree/impl/package-tree.html b/docs/problems/checksubtree/impl/package-tree.html index c653dd8..a9b4b17 100644 --- a/docs/problems/checksubtree/impl/package-tree.html +++ b/docs/problems/checksubtree/impl/package-tree.html @@ -1,6 +1,6 @@ - + problems.checksubtree.impl Class Hierarchy (java-fundamentals documentation) @@ -35,7 +35,7 @@
  • Class
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -98,7 +98,7 @@

    Class Hierarchy

  • Class
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/checksubtree/package-frame.html b/docs/problems/checksubtree/package-frame.html index cd09a0b..5bc7633 100644 --- a/docs/problems/checksubtree/package-frame.html +++ b/docs/problems/checksubtree/package-frame.html @@ -1,6 +1,6 @@ - + problems.checksubtree (java-fundamentals documentation) diff --git a/docs/problems/checksubtree/package-summary.html b/docs/problems/checksubtree/package-summary.html index 3fa7567..47341bc 100644 --- a/docs/problems/checksubtree/package-summary.html +++ b/docs/problems/checksubtree/package-summary.html @@ -1,6 +1,6 @@ - + problems.checksubtree (java-fundamentals documentation) @@ -35,7 +35,7 @@
  • Class
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -103,7 +103,7 @@

    Package problems.checksubtree

  • Class
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/checksubtree/package-tree.html b/docs/problems/checksubtree/package-tree.html index c7a624c..cde7226 100644 --- a/docs/problems/checksubtree/package-tree.html +++ b/docs/problems/checksubtree/package-tree.html @@ -1,6 +1,6 @@ - + problems.checksubtree Class Hierarchy (java-fundamentals documentation) @@ -35,7 +35,7 @@
  • Class
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -94,7 +94,7 @@

    Interface Hierarchy

  • Class
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/checksubtree/resources/TreeNode.html b/docs/problems/checksubtree/resources/TreeNode.html index 894ed6d..1c852fd 100644 --- a/docs/problems/checksubtree/resources/TreeNode.html +++ b/docs/problems/checksubtree/resources/TreeNode.html @@ -1,6 +1,6 @@ - + TreeNode (java-fundamentals documentation) @@ -35,7 +35,7 @@
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -273,7 +273,7 @@

    TreeNode

  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/checksubtree/resources/package-frame.html b/docs/problems/checksubtree/resources/package-frame.html index 23f2edf..1a3cd98 100644 --- a/docs/problems/checksubtree/resources/package-frame.html +++ b/docs/problems/checksubtree/resources/package-frame.html @@ -1,6 +1,6 @@ - + problems.checksubtree.resources (java-fundamentals documentation) diff --git a/docs/problems/checksubtree/resources/package-summary.html b/docs/problems/checksubtree/resources/package-summary.html index 4930180..4d53ac1 100644 --- a/docs/problems/checksubtree/resources/package-summary.html +++ b/docs/problems/checksubtree/resources/package-summary.html @@ -1,6 +1,6 @@ - + problems.checksubtree.resources (java-fundamentals documentation) @@ -35,7 +35,7 @@
  • Class
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -103,7 +103,7 @@

    Package problems.checksubtree.resourcesClass
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/checksubtree/resources/package-tree.html b/docs/problems/checksubtree/resources/package-tree.html index e8a42cb..0d06a0d 100644 --- a/docs/problems/checksubtree/resources/package-tree.html +++ b/docs/problems/checksubtree/resources/package-tree.html @@ -1,6 +1,6 @@ - + problems.checksubtree.resources Class Hierarchy (java-fundamentals documentation) @@ -35,7 +35,7 @@
  • Class
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -98,7 +98,7 @@

    Class Hierarchy

  • Class
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/coinsamount/CoinsAmount.html b/docs/problems/coinsamount/CoinsAmount.html index c65533e..ef00045 100644 --- a/docs/problems/coinsamount/CoinsAmount.html +++ b/docs/problems/coinsamount/CoinsAmount.html @@ -1,6 +1,6 @@ - + CoinsAmount (java-fundamentals documentation) @@ -41,7 +41,7 @@
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -205,7 +205,7 @@

    filterLargeCoinTypes

  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/coinsamount/impl/BruteForce.html b/docs/problems/coinsamount/impl/BruteForce.html index c4256dd..3f4a44e 100644 --- a/docs/problems/coinsamount/impl/BruteForce.html +++ b/docs/problems/coinsamount/impl/BruteForce.html @@ -1,6 +1,6 @@ - + BruteForce (java-fundamentals documentation) @@ -41,7 +41,7 @@
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -259,7 +259,7 @@

    calculateAmount

  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/coinsamount/impl/DynamicProgramming.html b/docs/problems/coinsamount/impl/DynamicProgramming.html index b8f1dc4..955ba44 100644 --- a/docs/problems/coinsamount/impl/DynamicProgramming.html +++ b/docs/problems/coinsamount/impl/DynamicProgramming.html @@ -1,6 +1,6 @@ - + DynamicProgramming (java-fundamentals documentation) @@ -41,7 +41,7 @@
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -244,7 +244,7 @@

    calculateAmount

  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/coinsamount/impl/package-frame.html b/docs/problems/coinsamount/impl/package-frame.html index afa85be..8ce602b 100644 --- a/docs/problems/coinsamount/impl/package-frame.html +++ b/docs/problems/coinsamount/impl/package-frame.html @@ -1,6 +1,6 @@ - + problems.coinsamount.impl (java-fundamentals documentation) diff --git a/docs/problems/coinsamount/impl/package-summary.html b/docs/problems/coinsamount/impl/package-summary.html index 26f8259..de5c76e 100644 --- a/docs/problems/coinsamount/impl/package-summary.html +++ b/docs/problems/coinsamount/impl/package-summary.html @@ -1,6 +1,6 @@ - + problems.coinsamount.impl (java-fundamentals documentation) @@ -35,7 +35,7 @@
  • Class
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -107,7 +107,7 @@

    Package problems.coinsamount.impl

  • Class
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/coinsamount/impl/package-tree.html b/docs/problems/coinsamount/impl/package-tree.html index f402fac..15b26f6 100644 --- a/docs/problems/coinsamount/impl/package-tree.html +++ b/docs/problems/coinsamount/impl/package-tree.html @@ -1,6 +1,6 @@ - + problems.coinsamount.impl Class Hierarchy (java-fundamentals documentation) @@ -35,7 +35,7 @@
  • Class
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -99,7 +99,7 @@

    Class Hierarchy

  • Class
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/coinsamount/package-frame.html b/docs/problems/coinsamount/package-frame.html index ea7aee1..8504300 100644 --- a/docs/problems/coinsamount/package-frame.html +++ b/docs/problems/coinsamount/package-frame.html @@ -1,6 +1,6 @@ - + problems.coinsamount (java-fundamentals documentation) diff --git a/docs/problems/coinsamount/package-summary.html b/docs/problems/coinsamount/package-summary.html index c7871a7..32b74a6 100644 --- a/docs/problems/coinsamount/package-summary.html +++ b/docs/problems/coinsamount/package-summary.html @@ -1,6 +1,6 @@ - + problems.coinsamount (java-fundamentals documentation) @@ -35,7 +35,7 @@
  • Class
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -103,7 +103,7 @@

    Package problems.coinsamount

  • Class
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/coinsamount/package-tree.html b/docs/problems/coinsamount/package-tree.html index a676347..de457cd 100644 --- a/docs/problems/coinsamount/package-tree.html +++ b/docs/problems/coinsamount/package-tree.html @@ -1,6 +1,6 @@ - + problems.coinsamount Class Hierarchy (java-fundamentals documentation) @@ -35,7 +35,7 @@
  • Class
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -94,7 +94,7 @@

    Interface Hierarchy

  • Class
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/distinctString/DistinctString.html b/docs/problems/distinctString/DistinctString.html index 155f35e..a3fdba8 100644 --- a/docs/problems/distinctString/DistinctString.html +++ b/docs/problems/distinctString/DistinctString.html @@ -1,6 +1,6 @@ - + DistinctString (java-fundamentals documentation) @@ -41,7 +41,7 @@
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -171,7 +171,7 @@

    isDistinct

  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/distinctString/impl/BruteForce.html b/docs/problems/distinctString/impl/BruteForce.html index 9816626..756bdd9 100644 --- a/docs/problems/distinctString/impl/BruteForce.html +++ b/docs/problems/distinctString/impl/BruteForce.html @@ -1,6 +1,6 @@ - + BruteForce (java-fundamentals documentation) @@ -41,7 +41,7 @@
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -226,7 +226,7 @@

    isDistinct

  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/distinctString/impl/ExternalArray.html b/docs/problems/distinctString/impl/ExternalArray.html index eb3ba0f..66e4055 100644 --- a/docs/problems/distinctString/impl/ExternalArray.html +++ b/docs/problems/distinctString/impl/ExternalArray.html @@ -1,6 +1,6 @@ - + ExternalArray (java-fundamentals documentation) @@ -41,7 +41,7 @@
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -226,7 +226,7 @@

    isDistinct

  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/distinctString/impl/Sorting.html b/docs/problems/distinctString/impl/Sorting.html index c2d312b..cf548fa 100644 --- a/docs/problems/distinctString/impl/Sorting.html +++ b/docs/problems/distinctString/impl/Sorting.html @@ -1,6 +1,6 @@ - + Sorting (java-fundamentals documentation) @@ -41,7 +41,7 @@
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -226,7 +226,7 @@

    isDistinct

  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/distinctString/impl/package-frame.html b/docs/problems/distinctString/impl/package-frame.html index 5de5587..64d2803 100644 --- a/docs/problems/distinctString/impl/package-frame.html +++ b/docs/problems/distinctString/impl/package-frame.html @@ -1,6 +1,6 @@ - + problems.distinctString.impl (java-fundamentals documentation) diff --git a/docs/problems/distinctString/impl/package-summary.html b/docs/problems/distinctString/impl/package-summary.html index ad7f9a5..579533f 100644 --- a/docs/problems/distinctString/impl/package-summary.html +++ b/docs/problems/distinctString/impl/package-summary.html @@ -1,6 +1,6 @@ - + problems.distinctString.impl (java-fundamentals documentation) @@ -35,7 +35,7 @@
  • Class
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -111,7 +111,7 @@

    Package problems.distinctString.impl

  • Class
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/distinctString/impl/package-tree.html b/docs/problems/distinctString/impl/package-tree.html index 9ac44b2..f4fad8b 100644 --- a/docs/problems/distinctString/impl/package-tree.html +++ b/docs/problems/distinctString/impl/package-tree.html @@ -1,6 +1,6 @@ - + problems.distinctString.impl Class Hierarchy (java-fundamentals documentation) @@ -35,7 +35,7 @@
  • Class
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -100,7 +100,7 @@

    Class Hierarchy

  • Class
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/distinctString/package-frame.html b/docs/problems/distinctString/package-frame.html index b8c5ff1..99efbf8 100644 --- a/docs/problems/distinctString/package-frame.html +++ b/docs/problems/distinctString/package-frame.html @@ -1,6 +1,6 @@ - + problems.distinctString (java-fundamentals documentation) diff --git a/docs/problems/distinctString/package-summary.html b/docs/problems/distinctString/package-summary.html index 932ad42..d1fdb8f 100644 --- a/docs/problems/distinctString/package-summary.html +++ b/docs/problems/distinctString/package-summary.html @@ -1,6 +1,6 @@ - + problems.distinctString (java-fundamentals documentation) @@ -35,7 +35,7 @@
  • Class
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -103,7 +103,7 @@

    Package problems.distinctString

  • Class
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/distinctString/package-tree.html b/docs/problems/distinctString/package-tree.html index 05e14de..348b96c 100644 --- a/docs/problems/distinctString/package-tree.html +++ b/docs/problems/distinctString/package-tree.html @@ -1,6 +1,6 @@ - + problems.distinctString Class Hierarchy (java-fundamentals documentation) @@ -35,7 +35,7 @@
  • Class
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -94,7 +94,7 @@

    Interface Hierarchy

  • Class
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/romannumeralconverter/RomanNumeralConverter.html b/docs/problems/romannumeralconverter/RomanNumeralConverter.html index c5facd5..49be9a4 100644 --- a/docs/problems/romannumeralconverter/RomanNumeralConverter.html +++ b/docs/problems/romannumeralconverter/RomanNumeralConverter.html @@ -1,6 +1,6 @@ - + RomanNumeralConverter (java-fundamentals documentation) @@ -41,7 +41,7 @@
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -171,7 +171,7 @@

    convert

  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/romannumeralconverter/impl/Converter.html b/docs/problems/romannumeralconverter/impl/Converter.html index 09b8b1b..8897f39 100644 --- a/docs/problems/romannumeralconverter/impl/Converter.html +++ b/docs/problems/romannumeralconverter/impl/Converter.html @@ -1,6 +1,6 @@ - + Converter (java-fundamentals documentation) @@ -41,7 +41,7 @@
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -226,7 +226,7 @@

    convert

  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/romannumeralconverter/impl/package-frame.html b/docs/problems/romannumeralconverter/impl/package-frame.html index fa77d34..3711293 100644 --- a/docs/problems/romannumeralconverter/impl/package-frame.html +++ b/docs/problems/romannumeralconverter/impl/package-frame.html @@ -1,6 +1,6 @@ - + problems.romannumeralconverter.impl (java-fundamentals documentation) diff --git a/docs/problems/romannumeralconverter/impl/package-summary.html b/docs/problems/romannumeralconverter/impl/package-summary.html index b34c4af..de4c0a0 100644 --- a/docs/problems/romannumeralconverter/impl/package-summary.html +++ b/docs/problems/romannumeralconverter/impl/package-summary.html @@ -1,6 +1,6 @@ - + problems.romannumeralconverter.impl (java-fundamentals documentation) @@ -35,7 +35,7 @@
  • Class
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -103,7 +103,7 @@

    Package problems.romannumeralconverter.im
  • Class
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/romannumeralconverter/impl/package-tree.html b/docs/problems/romannumeralconverter/impl/package-tree.html index bd48d75..ff100ca 100644 --- a/docs/problems/romannumeralconverter/impl/package-tree.html +++ b/docs/problems/romannumeralconverter/impl/package-tree.html @@ -1,6 +1,6 @@ - + problems.romannumeralconverter.impl Class Hierarchy (java-fundamentals documentation) @@ -35,7 +35,7 @@
  • Class
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -98,7 +98,7 @@

    Class Hierarchy

  • Class
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/romannumeralconverter/package-frame.html b/docs/problems/romannumeralconverter/package-frame.html index 502969c..85a75cd 100644 --- a/docs/problems/romannumeralconverter/package-frame.html +++ b/docs/problems/romannumeralconverter/package-frame.html @@ -1,6 +1,6 @@ - + problems.romannumeralconverter (java-fundamentals documentation) diff --git a/docs/problems/romannumeralconverter/package-summary.html b/docs/problems/romannumeralconverter/package-summary.html index 22dd882..937d409 100644 --- a/docs/problems/romannumeralconverter/package-summary.html +++ b/docs/problems/romannumeralconverter/package-summary.html @@ -1,6 +1,6 @@ - + problems.romannumeralconverter (java-fundamentals documentation) @@ -35,7 +35,7 @@
  • Class
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -103,7 +103,7 @@

    Package problems.romannumeralconverterClass
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/problems/romannumeralconverter/package-tree.html b/docs/problems/romannumeralconverter/package-tree.html index cb9b1ff..7483a54 100644 --- a/docs/problems/romannumeralconverter/package-tree.html +++ b/docs/problems/romannumeralconverter/package-tree.html @@ -1,6 +1,6 @@ - + problems.romannumeralconverter Class Hierarchy (java-fundamentals documentation) @@ -35,7 +35,7 @@
  • Class
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -94,7 +94,7 @@

    Interface Hierarchy

  • Class
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • diff --git a/docs/serialized-form.html b/docs/serialized-form.html index b4717e8..0bab4df 100644 --- a/docs/serialized-form.html +++ b/docs/serialized-form.html @@ -1,6 +1,6 @@ - + Serialized Form (java-fundamentals documentation) @@ -35,7 +35,7 @@
  • Class
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • @@ -121,7 +121,7 @@

    value

  • Class
  • Tree
  • Deprecated
  • -
  • Index
  • +
  • Index
  • Help
  • From 84a3f66ffa587d88f9a0db046450353df2fa315e Mon Sep 17 00:00:00 2001 From: Lorenz Nickel Date: Sun, 10 Oct 2021 04:38:09 +0200 Subject: [PATCH 075/108] Fix link to Javadoc-Action in CONTRIBUTING.md --- CONTRIBUTING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9b9ea76..1f42f34 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -25,9 +25,9 @@ Please add JUnit tests to cover your changes within the [test package](https://g ### Documentation -Please make sure to document your code using javadoc if it's not instantly clear what some part does. From time to time we will also upload a "documentation" for the project based on the javadoc to . Creating the javadoc within the [docs folder](https://github.com/LorenzNickel/java-fundamentals/tree/master/docs) is a process we automated using a [GitHub-Action](https://github.com/LorenzNickel/java-fundamentals/blob/main/.github/workflows/javadoc-generator.yml), so you don't need to do that manually.
    +Please make sure to document your code using javadoc if it's not instantly clear what some part does. From time to time we will also upload a "documentation" for the project based on the javadoc to . Creating the javadoc within the [docs folder](https://github.com/LorenzNickel/java-fundamentals/tree/master/docs) is a process we automated using a [GitHub-Action](https://github.com/LorenzNickel/java-fundamentals/blob/master/.github/workflows/javadoc-generator.yml), so you don't need to do that manually.
    Consider also adding some markdown files to cover more complicated concepts which can not be expressed easily within javadoc (e.g. the description of a problem statement or a efficency analysis). ### Status checks -Requesting changes to this repository will trigger some automated checks. These checks test for example if your change decreases the test coverage of this project or if the project compiles and follows the [style guide](https://github.com/LorenzNickel/java-fundamentals/blob/master/docs/CONTRIBUTING.md#style-guide). Passing the continous integration check is mandatory, everything else is optional and will be considered by the maintainers on a case-by-case basis. \ No newline at end of file +Requesting changes to this repository will trigger some automated checks. These checks test for example if your change decreases the test coverage of this project or if the project compiles and follows the [style guide](https://github.com/LorenzNickel/java-fundamentals/blob/master/docs/CONTRIBUTING.md#style-guide). Passing the continous integration check is mandatory, everything else is optional and will be considered by the maintainers on a case-by-case basis. From 34aa57ae287c367e7a16c941f5648870b61b476c Mon Sep 17 00:00:00 2001 From: Lorenz Nickel Date: Sun, 10 Oct 2021 04:43:56 +0200 Subject: [PATCH 076/108] Skip CI for javadoc-builds [skip ci] --- .github/workflows/javadoc-generator.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/javadoc-generator.yml b/.github/workflows/javadoc-generator.yml index 14c0db9..3538980 100644 --- a/.github/workflows/javadoc-generator.yml +++ b/.github/workflows/javadoc-generator.yml @@ -22,4 +22,4 @@ jobs: run: | git config --global user.name 'Javadoc-Generator' git config --global user.email 'LorenzNickel@users.noreply.github.com' - if [[ `git status --porcelain` ]]; then echo "Uploading changes" && git add . && git commit -am "Re-generate javadoc for ${{ github.sha }}" -m "run-id: ${{ github.run_id }}" -m "run-number ${{ github.run_number }}" -m "run-attempt ${{ github.run_attempt }}" && git push; else echo "No changes to docs detected";fi + if [[ `git status --porcelain` ]]; then echo "Uploading changes" && git add . && git commit -am "Re-generate javadoc for ${{ github.sha }}" -m "[skip ci]" -m "run-id: ${{ github.run_id }}" -m "run-number ${{ github.run_number }}" -m "run-attempt ${{ github.run_attempt }}" && git push; else echo "No changes to docs detected";fi From 67e6423b8ce50eee66ffee14cb8354331ec84fd8 Mon Sep 17 00:00:00 2001 From: Lorenz Nickel Date: Sun, 10 Oct 2021 04:51:33 +0200 Subject: [PATCH 077/108] Only skip testing-cis for javadoc-generator only skip travis-ci and circle-ci (once supported) https://discuss.circleci.com/t/adding-circle-skip-to-commit-message-to-skip/2778 [skip-travis] --- .github/workflows/javadoc-generator.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/javadoc-generator.yml b/.github/workflows/javadoc-generator.yml index 3538980..97e0a01 100644 --- a/.github/workflows/javadoc-generator.yml +++ b/.github/workflows/javadoc-generator.yml @@ -22,4 +22,4 @@ jobs: run: | git config --global user.name 'Javadoc-Generator' git config --global user.email 'LorenzNickel@users.noreply.github.com' - if [[ `git status --porcelain` ]]; then echo "Uploading changes" && git add . && git commit -am "Re-generate javadoc for ${{ github.sha }}" -m "[skip ci]" -m "run-id: ${{ github.run_id }}" -m "run-number ${{ github.run_number }}" -m "run-attempt ${{ github.run_attempt }}" && git push; else echo "No changes to docs detected";fi + if [[ `git status --porcelain` ]]; then echo "Uploading changes" && git add . && git commit -am "Re-generate javadoc for ${{ github.sha }}" -m "[skip travis] [skip circle]" -m "run-id: ${{ github.run_id }}" -m "run-number ${{ github.run_number }}" -m "run-attempt ${{ github.run_attempt }}" && git push; else echo "No changes to docs detected";fi From 6990003cc7c38ad96bf98898be8081de8ab32220 Mon Sep 17 00:00:00 2001 From: Lorenz Nickel Date: Sun, 10 Oct 2021 04:58:48 +0200 Subject: [PATCH 078/108] Fix some javadoc warnings --- src/main/java/algorithms/random/ListShuffle.java | 8 ++++---- src/main/java/algorithms/search/JumpSearch.java | 2 +- src/main/java/algorithms/string/PalindromeCheck.java | 2 +- src/main/java/datastructures/heap/MaxArrayHeap.java | 2 +- src/main/java/datastructures/list/SinglyLinkedList.java | 6 +++--- src/main/java/datastructures/tree/BinaryTree.java | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/main/java/algorithms/random/ListShuffle.java b/src/main/java/algorithms/random/ListShuffle.java index ebeec89..23d3020 100644 --- a/src/main/java/algorithms/random/ListShuffle.java +++ b/src/main/java/algorithms/random/ListShuffle.java @@ -15,8 +15,8 @@ private ListShuffle() { /** * Using the fisher yates algorithm to shuffle a list * - * @param - * @param list + * @param The type of the list + * @param list The list that should be shuffled */ public static void fisherYatesShuffle(final List list) { final Random random = new Random(); @@ -36,8 +36,8 @@ public static void fisherYatesShuffle(final List list) { /** * Using the fisher yates algorithm to shuffle a list * - * @param - * @param list + * @param The type of the list + * @param list The array that should be shuffled */ public static void fisherYatesShuffle(T[] list) { final Random random = new Random(); diff --git a/src/main/java/algorithms/search/JumpSearch.java b/src/main/java/algorithms/search/JumpSearch.java index 30456fb..50adbcc 100644 --- a/src/main/java/algorithms/search/JumpSearch.java +++ b/src/main/java/algorithms/search/JumpSearch.java @@ -11,7 +11,7 @@ * than the element to be found, we perform m-1 comparisons more for linear search. * Therefore the total number of comparisons worst case will be ((n/m) + m-1) * - * @param + * @param The type of the array */ public class JumpSearch > { diff --git a/src/main/java/algorithms/string/PalindromeCheck.java b/src/main/java/algorithms/string/PalindromeCheck.java index 9f9c4e6..6cfbb44 100644 --- a/src/main/java/algorithms/string/PalindromeCheck.java +++ b/src/main/java/algorithms/string/PalindromeCheck.java @@ -11,7 +11,7 @@ public class PalindromeCheck { /** * Checks if a string is a palindrome. The algorithm runs in O(n). - * @param input + * @param input The input that should be checked * @return true if input string is a palindrome */ public boolean isPalindrome(String input) { diff --git a/src/main/java/datastructures/heap/MaxArrayHeap.java b/src/main/java/datastructures/heap/MaxArrayHeap.java index 0189acc..521254e 100644 --- a/src/main/java/datastructures/heap/MaxArrayHeap.java +++ b/src/main/java/datastructures/heap/MaxArrayHeap.java @@ -197,7 +197,7 @@ public E pop() { /** * Removes an element from the heap and rebuilds the max heap. * - * @param element + * @param element The element that should be removed from the heap * @return true if this heap contained the specified element */ public boolean remove(E element) { diff --git a/src/main/java/datastructures/list/SinglyLinkedList.java b/src/main/java/datastructures/list/SinglyLinkedList.java index 5fec795..8692491 100644 --- a/src/main/java/datastructures/list/SinglyLinkedList.java +++ b/src/main/java/datastructures/list/SinglyLinkedList.java @@ -35,7 +35,7 @@ public String toString() { /** * Add an element to the list. * - * @param element + * @param element The element that should be appended to the list */ public void add(E element) { Node node = new Node(element); @@ -46,7 +46,7 @@ public void add(E element) { /** * Remove an element from the list. * - * @param element + * @param element The element that should be removed from the list * @return if the element was found within the list */ public boolean remove(E element) { @@ -87,7 +87,7 @@ public boolean isEmpty() { } /** - * @param element + * @param element The element that should be checked * @return if the list contains the element at least once */ public boolean contains(E element) { diff --git a/src/main/java/datastructures/tree/BinaryTree.java b/src/main/java/datastructures/tree/BinaryTree.java index a0c7df0..0ab0daf 100644 --- a/src/main/java/datastructures/tree/BinaryTree.java +++ b/src/main/java/datastructures/tree/BinaryTree.java @@ -35,7 +35,7 @@ public BinaryTree(T value) { /** * Inserts an element in the proper subtree. Duplicates will not be inserted. * - * @param value + * @param value The value that should be inserted into the tree * @return true if an element was inserted. */ public boolean insert(T value) { @@ -86,7 +86,7 @@ public final boolean insertAll(T... values) { /** * Removes the element value from the tree * - * @param value + * @param value The value that should be removed from the tree * @return the deleted element */ public T remove(T value) { From 156357f9a95522357d825eea3b771374994a6047 Mon Sep 17 00:00:00 2001 From: Lorenz Nickel Date: Sun, 10 Oct 2021 05:01:28 +0200 Subject: [PATCH 079/108] Fix javadoc error --- src/main/java/algorithms/random/ListShuffle.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/algorithms/random/ListShuffle.java b/src/main/java/algorithms/random/ListShuffle.java index 23d3020..7d8b9bb 100644 --- a/src/main/java/algorithms/random/ListShuffle.java +++ b/src/main/java/algorithms/random/ListShuffle.java @@ -36,7 +36,7 @@ public static void fisherYatesShuffle(final List list) { /** * Using the fisher yates algorithm to shuffle a list * - * @param The type of the list + * @param The type of the list * @param list The array that should be shuffled */ public static void fisherYatesShuffle(T[] list) { From be282fb0dc91b69c215edf82627647a0ebd5fdc4 Mon Sep 17 00:00:00 2001 From: Javadoc-Generator Date: Sun, 10 Oct 2021 03:01:52 +0000 Subject: [PATCH 080/108] Re-generate javadoc for 156357f9a95522357d825eea3b771374994a6047 [skip travis] [skip circle] run-id: 1324903041 run-number 5 run-attempt 1 --- docs/algorithms/random/ListShuffle.html | 8 ++++---- docs/algorithms/search/JumpSearch.html | 2 +- docs/algorithms/string/PalindromeCheck.html | 2 +- docs/datastructures/heap/MaxArrayHeap.html | 2 +- docs/datastructures/list/SinglyLinkedList.html | 6 +++--- docs/datastructures/tree/BinaryTree.html | 4 ++-- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/algorithms/random/ListShuffle.html b/docs/algorithms/random/ListShuffle.html index de6057b..9381e0d 100644 --- a/docs/algorithms/random/ListShuffle.html +++ b/docs/algorithms/random/ListShuffle.html @@ -171,9 +171,9 @@

    fisherYatesShuffle

    Using the fisher yates algorithm to shuffle a list
    Type Parameters:
    -
    T -
    +
    T - The type of the list
    Parameters:
    -
    list -
    +
    list - The list that should be shuffled
    @@ -189,9 +189,9 @@

    fisherYatesShuffle

    Using the fisher yates algorithm to shuffle a list
    Type Parameters:
    -
    T -
    +
    T - The type of the list
    Parameters:
    -
    list -
    +
    list - The array that should be shuffled
    diff --git a/docs/algorithms/search/JumpSearch.html b/docs/algorithms/search/JumpSearch.html index 3ef3198..dc1d557 100644 --- a/docs/algorithms/search/JumpSearch.html +++ b/docs/algorithms/search/JumpSearch.html @@ -107,7 +107,7 @@

    Class JumpSearch<E extends java.la
  • Type Parameters:
    -
    E -
    +
    E - The type of the array


    diff --git a/docs/algorithms/string/PalindromeCheck.html b/docs/algorithms/string/PalindromeCheck.html index 4f90007..afd0ad6 100644 --- a/docs/algorithms/string/PalindromeCheck.html +++ b/docs/algorithms/string/PalindromeCheck.html @@ -199,7 +199,7 @@

    isPalindrome

    Checks if a string is a palindrome. The algorithm runs in O(n).
    Parameters:
    -
    input -
    +
    input - The input that should be checked
    Returns:
    true if input string is a palindrome
    diff --git a/docs/datastructures/heap/MaxArrayHeap.html b/docs/datastructures/heap/MaxArrayHeap.html index baf4b31..01eec03 100644 --- a/docs/datastructures/heap/MaxArrayHeap.html +++ b/docs/datastructures/heap/MaxArrayHeap.html @@ -467,7 +467,7 @@

    remove

    Removes an element from the heap and rebuilds the max heap.
    Parameters:
    -
    element -
    +
    element - The element that should be removed from the heap
    Returns:
    true if this heap contained the specified element
    diff --git a/docs/datastructures/list/SinglyLinkedList.html b/docs/datastructures/list/SinglyLinkedList.html index 43b429e..4e3c617 100644 --- a/docs/datastructures/list/SinglyLinkedList.html +++ b/docs/datastructures/list/SinglyLinkedList.html @@ -224,7 +224,7 @@

    add

    Add an element to the list.
    Parameters:
    -
    element -
    +
    element - The element that should be appended to the list
  • @@ -240,7 +240,7 @@

    remove

    Remove an element from the list.
    Parameters:
    -
    element -
    +
    element - The element that should be removed from the list
    Returns:
    if the element was found within the list
    @@ -283,7 +283,7 @@

    contains

    public boolean contains(E element)
    Parameters:
    -
    element -
    +
    element - The element that should be checked
    Returns:
    if the list contains the element at least once
    diff --git a/docs/datastructures/tree/BinaryTree.html b/docs/datastructures/tree/BinaryTree.html index 8a97ba4..c38ec98 100644 --- a/docs/datastructures/tree/BinaryTree.html +++ b/docs/datastructures/tree/BinaryTree.html @@ -263,7 +263,7 @@

    insert

    Inserts an element in the proper subtree. Duplicates will not be inserted.
    Parameters:
    -
    value -
    +
    value - The value that should be inserted into the tree
    Returns:
    true if an element was inserted.
    @@ -301,7 +301,7 @@

    remove

    Removes the element value from the tree
    Parameters:
    -
    value -
    +
    value - The value that should be removed from the tree
    Returns:
    the deleted element
    From 71b910f8c052c577cb08c00ad875e8a857663f81 Mon Sep 17 00:00:00 2001 From: Lorenz Nickel Date: Sun, 10 Oct 2021 05:04:01 +0200 Subject: [PATCH 081/108] Add badge for javadoc-status to README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1f8e7d5..ee5fc0a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ # java-fundamentals +[![Javadoc Generator](https://github.com/LorenzNickel/java-fundamentals/actions/workflows/javadoc-generator.yml/badge.svg)](https://github.com/LorenzNickel/java-fundamentals/actions/workflows/javadoc-generator.yml) [![Travis Build Status](https://api.travis-ci.com/LorenzNickel/java-fundamentals.svg?branch=master)](https://app.travis-ci.com/github/LorenzNickel/java-fundamentals) [![Circle Build Status](https://circleci.com/gh/LorenzNickel/java-fundamentals.svg?style=shield)](https://circleci.com/gh/LorenzNickel/java-fundamentals/) From 34adeb2c44cad0852d578312ec0775002e206d33 Mon Sep 17 00:00:00 2001 From: Labnan Date: Thu, 14 Oct 2021 18:32:46 +0600 Subject: [PATCH 082/108] Create Classes For Observer Pattern --- src/main/java/pattern/observer/Observer.java | 71 ++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 src/main/java/pattern/observer/Observer.java diff --git a/src/main/java/pattern/observer/Observer.java b/src/main/java/pattern/observer/Observer.java new file mode 100644 index 0000000..8e6b3ca --- /dev/null +++ b/src/main/java/pattern/observer/Observer.java @@ -0,0 +1,71 @@ +package pattern.observer; + + +import java.util.ArrayList; +import java.util.List; + +interface Observer { + void update(SubjectDataFormat data); +} + + +class Subject { + + int data; + + List observers = new ArrayList<>(); + + void addObserver(Observer observer) { + observers.add(observer); + } + + + void removeObserver(Observer observer) { + observers.remove(observer); + } + + + void setData(int data) { + this.data = data; + notifyObserver(); + } + + + private void notifyObserver() { + observers.forEach(observer -> observer.update(new SubjectDataFormat(data))); + } + +} + + +class SubjectDataFormat { + int data; + + SubjectDataFormat(int data){ + this.data = data; + } + + public int getData() { + return data; + } +} + + +class ConcreteObserver implements Observer { + + String description = "observer 1: "; + int observerData; + + @Override + public void update(SubjectDataFormat data) { + this.observerData = data.getData(); + } + + public int getObserverData() { + return observerData; + } +} + + + + From 287df5c7506e6372da41e79858dd7883d30e3e5c Mon Sep 17 00:00:00 2001 From: Labnan Date: Thu, 14 Oct 2021 19:08:04 +0600 Subject: [PATCH 083/108] Write Tests for Observer Pattern --- src/main/java/pattern/observer/Observer.java | 28 +++++++------ .../java/pattern/observer/ObserverTest.java | 40 +++++++++++++++++++ 2 files changed, 56 insertions(+), 12 deletions(-) create mode 100644 src/test/java/pattern/observer/ObserverTest.java diff --git a/src/main/java/pattern/observer/Observer.java b/src/main/java/pattern/observer/Observer.java index 8e6b3ca..973d177 100644 --- a/src/main/java/pattern/observer/Observer.java +++ b/src/main/java/pattern/observer/Observer.java @@ -5,13 +5,16 @@ import java.util.List; interface Observer { - void update(SubjectDataFormat data); + + void update(Data data); + + Data getData(); } class Subject { - int data; + Data data; List observers = new ArrayList<>(); @@ -25,23 +28,24 @@ void removeObserver(Observer observer) { } - void setData(int data) { + void setData(Data data) { this.data = data; notifyObserver(); } private void notifyObserver() { - observers.forEach(observer -> observer.update(new SubjectDataFormat(data))); + observers.forEach(observer -> observer.update(data)); } } -class SubjectDataFormat { +class Data { + int data; - SubjectDataFormat(int data){ + Data(int data) { this.data = data; } @@ -53,16 +57,16 @@ public int getData() { class ConcreteObserver implements Observer { - String description = "observer 1: "; - int observerData; + + Data observerData = null; @Override - public void update(SubjectDataFormat data) { - this.observerData = data.getData(); + public void update(Data data) { + this.observerData = data; } - public int getObserverData() { - return observerData; + public Data getData() { + return this.observerData; } } diff --git a/src/test/java/pattern/observer/ObserverTest.java b/src/test/java/pattern/observer/ObserverTest.java new file mode 100644 index 0000000..00ca5d6 --- /dev/null +++ b/src/test/java/pattern/observer/ObserverTest.java @@ -0,0 +1,40 @@ +package pattern.observer; + +import junit.framework.TestCase; + + +public class ObserverTest extends TestCase { + + Observer observer1 = new ConcreteObserver(); + Observer observer2 = new ConcreteObserver(); + + Subject subject = new Subject(); + Data data1 = new Data(10); + Data data2 = new Data(20); + Data data3 = new Data(30); + + public void test() { + + subject.addObserver(observer1); + subject.setData(data1); + + assertEquals(data1, observer1.getData()); + assertNull(observer2.getData()); + + subject.addObserver(observer2); + assertEquals(data1, observer1.getData()); + assertNull(observer2.getData()); + + subject.setData(data2); + assertEquals(data2, observer1.getData()); + assertEquals(data2, observer2.getData()); + + subject.removeObserver(observer1); + + subject.setData(data3); + assertEquals(data3, observer2.getData()); + assertEquals(data2, observer1.getData()); + + + } +} From b3129404364aedfd74af83ec60d119e818bd50af Mon Sep 17 00:00:00 2001 From: Labnan Date: Thu, 14 Oct 2021 19:11:49 +0600 Subject: [PATCH 084/108] Move Classes of Observer Pattern to Different Files --- .../pattern/observer/ConcreteObserver.java | 16 +++++ src/main/java/pattern/observer/Data.java | 14 ++++ src/main/java/pattern/observer/Observer.java | 64 +------------------ src/main/java/pattern/observer/Subject.java | 32 ++++++++++ 4 files changed, 63 insertions(+), 63 deletions(-) create mode 100644 src/main/java/pattern/observer/ConcreteObserver.java create mode 100644 src/main/java/pattern/observer/Data.java create mode 100644 src/main/java/pattern/observer/Subject.java diff --git a/src/main/java/pattern/observer/ConcreteObserver.java b/src/main/java/pattern/observer/ConcreteObserver.java new file mode 100644 index 0000000..46f79b7 --- /dev/null +++ b/src/main/java/pattern/observer/ConcreteObserver.java @@ -0,0 +1,16 @@ +package pattern.observer; + +public class ConcreteObserver implements Observer { + + + Data observerData = null; + + @Override + public void update(Data data) { + this.observerData = data; + } + + public Data getData() { + return this.observerData; + } +} diff --git a/src/main/java/pattern/observer/Data.java b/src/main/java/pattern/observer/Data.java new file mode 100644 index 0000000..13da945 --- /dev/null +++ b/src/main/java/pattern/observer/Data.java @@ -0,0 +1,14 @@ +package pattern.observer; + +public class Data { + + int data; + + Data(int data) { + this.data = data; + } + + public int getData() { + return data; + } +} diff --git a/src/main/java/pattern/observer/Observer.java b/src/main/java/pattern/observer/Observer.java index 973d177..45bb713 100644 --- a/src/main/java/pattern/observer/Observer.java +++ b/src/main/java/pattern/observer/Observer.java @@ -1,10 +1,7 @@ package pattern.observer; -import java.util.ArrayList; -import java.util.List; - -interface Observer { +public interface Observer { void update(Data data); @@ -12,64 +9,5 @@ interface Observer { } -class Subject { - - Data data; - - List observers = new ArrayList<>(); - - void addObserver(Observer observer) { - observers.add(observer); - } - - - void removeObserver(Observer observer) { - observers.remove(observer); - } - - - void setData(Data data) { - this.data = data; - notifyObserver(); - } - - - private void notifyObserver() { - observers.forEach(observer -> observer.update(data)); - } - -} - - -class Data { - - int data; - - Data(int data) { - this.data = data; - } - - public int getData() { - return data; - } -} - - -class ConcreteObserver implements Observer { - - - Data observerData = null; - - @Override - public void update(Data data) { - this.observerData = data; - } - - public Data getData() { - return this.observerData; - } -} - - diff --git a/src/main/java/pattern/observer/Subject.java b/src/main/java/pattern/observer/Subject.java new file mode 100644 index 0000000..289078a --- /dev/null +++ b/src/main/java/pattern/observer/Subject.java @@ -0,0 +1,32 @@ +package pattern.observer; + +import java.util.ArrayList; +import java.util.List; + +public class Subject { + + Data data; + + List observers = new ArrayList<>(); + + void addObserver(Observer observer) { + observers.add(observer); + } + + + void removeObserver(Observer observer) { + observers.remove(observer); + } + + + void setData(Data data) { + this.data = data; + notifyObserver(); + } + + + private void notifyObserver() { + observers.forEach(observer -> observer.update(data)); + } + +} From 3f02f2dc75e463c5dc0682e2aa15df702dea5f23 Mon Sep 17 00:00:00 2001 From: Labnan Date: Thu, 14 Oct 2021 19:53:20 +0600 Subject: [PATCH 085/108] Add javadoc --- .../pattern/observer/ConcreteObserver.java | 6 ++++++ src/main/java/pattern/observer/Data.java | 6 ++++++ src/main/java/pattern/observer/Observer.java | 18 +++++++++++++++++ src/main/java/pattern/observer/Subject.java | 20 ++++++++++++++++++- .../java/pattern/observer/ObserverTest.java | 4 ++++ 5 files changed, 53 insertions(+), 1 deletion(-) diff --git a/src/main/java/pattern/observer/ConcreteObserver.java b/src/main/java/pattern/observer/ConcreteObserver.java index 46f79b7..3da804c 100644 --- a/src/main/java/pattern/observer/ConcreteObserver.java +++ b/src/main/java/pattern/observer/ConcreteObserver.java @@ -1,5 +1,11 @@ package pattern.observer; +/** + * An implementation of the Observer interface + * + * @author Labnann + */ + public class ConcreteObserver implements Observer { diff --git a/src/main/java/pattern/observer/Data.java b/src/main/java/pattern/observer/Data.java index 13da945..085c0e6 100644 --- a/src/main/java/pattern/observer/Data.java +++ b/src/main/java/pattern/observer/Data.java @@ -1,5 +1,11 @@ package pattern.observer; +/** + * An arbitrary class for demonstration purpose. Not strictly related to the pattern + * + * @author Labnann + */ + public class Data { int data; diff --git a/src/main/java/pattern/observer/Observer.java b/src/main/java/pattern/observer/Observer.java index 45bb713..fdf066d 100644 --- a/src/main/java/pattern/observer/Observer.java +++ b/src/main/java/pattern/observer/Observer.java @@ -1,10 +1,28 @@ package pattern.observer; +/** + * Observer Interface to create Observers + * + * @author Labnann + */ public interface Observer { + /** + * Observer implementations receives Data from Subject with this method. The implementations + * handle the data in their own way + * + * @param data Data to receive from Subject + */ + void update(Data data); + /** + * Arbitrary method to demonstrate Observer Pattern + * + * @return Data + */ + Data getData(); } diff --git a/src/main/java/pattern/observer/Subject.java b/src/main/java/pattern/observer/Subject.java index 289078a..482c8bc 100644 --- a/src/main/java/pattern/observer/Subject.java +++ b/src/main/java/pattern/observer/Subject.java @@ -3,28 +3,46 @@ import java.util.ArrayList; import java.util.List; +/** + * Subject class for Observer Pattern + * + * @author Labnann + */ + + public class Subject { Data data; List observers = new ArrayList<>(); + /** + * @param observer to add to the observers list. + */ void addObserver(Observer observer) { observers.add(observer); } + /** + * @param observer to remove from the observers list + */ void removeObserver(Observer observer) { observers.remove(observer); } + /** + * Arbitrary Data changer function to simulate change of Subject's state + */ void setData(Data data) { this.data = data; notifyObserver(); } - + /** + * Method that notifies all the listed observer By calling Observer.update() + */ private void notifyObserver() { observers.forEach(observer -> observer.update(data)); } diff --git a/src/test/java/pattern/observer/ObserverTest.java b/src/test/java/pattern/observer/ObserverTest.java index 00ca5d6..a585856 100644 --- a/src/test/java/pattern/observer/ObserverTest.java +++ b/src/test/java/pattern/observer/ObserverTest.java @@ -2,6 +2,10 @@ import junit.framework.TestCase; +/** + * @author Labnann + */ + public class ObserverTest extends TestCase { From 18a562e58d6ceaedf4ac3aa3f210aee4875eb6cb Mon Sep 17 00:00:00 2001 From: Labnan <55809005+Labnann@users.noreply.github.com> Date: Fri, 15 Oct 2021 05:59:19 +0600 Subject: [PATCH 086/108] Add Observer pattern (#70) * Create Classes For Observer Pattern * Write Tests for Observer Pattern * Move Classes of Observer Pattern to Different Files * Add javadoc --- .../pattern/observer/ConcreteObserver.java | 22 ++++++++ src/main/java/pattern/observer/Data.java | 20 ++++++++ src/main/java/pattern/observer/Observer.java | 31 ++++++++++++ src/main/java/pattern/observer/Subject.java | 50 +++++++++++++++++++ .../java/pattern/observer/ObserverTest.java | 44 ++++++++++++++++ 5 files changed, 167 insertions(+) create mode 100644 src/main/java/pattern/observer/ConcreteObserver.java create mode 100644 src/main/java/pattern/observer/Data.java create mode 100644 src/main/java/pattern/observer/Observer.java create mode 100644 src/main/java/pattern/observer/Subject.java create mode 100644 src/test/java/pattern/observer/ObserverTest.java diff --git a/src/main/java/pattern/observer/ConcreteObserver.java b/src/main/java/pattern/observer/ConcreteObserver.java new file mode 100644 index 0000000..3da804c --- /dev/null +++ b/src/main/java/pattern/observer/ConcreteObserver.java @@ -0,0 +1,22 @@ +package pattern.observer; + +/** + * An implementation of the Observer interface + * + * @author Labnann + */ + +public class ConcreteObserver implements Observer { + + + Data observerData = null; + + @Override + public void update(Data data) { + this.observerData = data; + } + + public Data getData() { + return this.observerData; + } +} diff --git a/src/main/java/pattern/observer/Data.java b/src/main/java/pattern/observer/Data.java new file mode 100644 index 0000000..085c0e6 --- /dev/null +++ b/src/main/java/pattern/observer/Data.java @@ -0,0 +1,20 @@ +package pattern.observer; + +/** + * An arbitrary class for demonstration purpose. Not strictly related to the pattern + * + * @author Labnann + */ + +public class Data { + + int data; + + Data(int data) { + this.data = data; + } + + public int getData() { + return data; + } +} diff --git a/src/main/java/pattern/observer/Observer.java b/src/main/java/pattern/observer/Observer.java new file mode 100644 index 0000000..fdf066d --- /dev/null +++ b/src/main/java/pattern/observer/Observer.java @@ -0,0 +1,31 @@ +package pattern.observer; + +/** + * Observer Interface to create Observers + * + * @author Labnann + */ + +public interface Observer { + + /** + * Observer implementations receives Data from Subject with this method. The implementations + * handle the data in their own way + * + * @param data Data to receive from Subject + */ + + void update(Data data); + + /** + * Arbitrary method to demonstrate Observer Pattern + * + * @return Data + */ + + Data getData(); +} + + + + diff --git a/src/main/java/pattern/observer/Subject.java b/src/main/java/pattern/observer/Subject.java new file mode 100644 index 0000000..482c8bc --- /dev/null +++ b/src/main/java/pattern/observer/Subject.java @@ -0,0 +1,50 @@ +package pattern.observer; + +import java.util.ArrayList; +import java.util.List; + +/** + * Subject class for Observer Pattern + * + * @author Labnann + */ + + +public class Subject { + + Data data; + + List observers = new ArrayList<>(); + + /** + * @param observer to add to the observers list. + */ + void addObserver(Observer observer) { + observers.add(observer); + } + + /** + * @param observer to remove from the observers list + */ + + void removeObserver(Observer observer) { + observers.remove(observer); + } + + /** + * Arbitrary Data changer function to simulate change of Subject's state + */ + + void setData(Data data) { + this.data = data; + notifyObserver(); + } + + /** + * Method that notifies all the listed observer By calling Observer.update() + */ + private void notifyObserver() { + observers.forEach(observer -> observer.update(data)); + } + +} diff --git a/src/test/java/pattern/observer/ObserverTest.java b/src/test/java/pattern/observer/ObserverTest.java new file mode 100644 index 0000000..a585856 --- /dev/null +++ b/src/test/java/pattern/observer/ObserverTest.java @@ -0,0 +1,44 @@ +package pattern.observer; + +import junit.framework.TestCase; + +/** + * @author Labnann + */ + + +public class ObserverTest extends TestCase { + + Observer observer1 = new ConcreteObserver(); + Observer observer2 = new ConcreteObserver(); + + Subject subject = new Subject(); + Data data1 = new Data(10); + Data data2 = new Data(20); + Data data3 = new Data(30); + + public void test() { + + subject.addObserver(observer1); + subject.setData(data1); + + assertEquals(data1, observer1.getData()); + assertNull(observer2.getData()); + + subject.addObserver(observer2); + assertEquals(data1, observer1.getData()); + assertNull(observer2.getData()); + + subject.setData(data2); + assertEquals(data2, observer1.getData()); + assertEquals(data2, observer2.getData()); + + subject.removeObserver(observer1); + + subject.setData(data3); + assertEquals(data3, observer2.getData()); + assertEquals(data2, observer1.getData()); + + + } +} From 2c3276be729d63614cddc0b75d0b4b3cc3bf9692 Mon Sep 17 00:00:00 2001 From: Javadoc-Generator Date: Thu, 14 Oct 2021 23:59:35 +0000 Subject: [PATCH 087/108] Re-generate javadoc for 18a562e58d6ceaedf4ac3aa3f210aee4875eb6cb [skip travis] [skip circle] run-id: 1343983311 run-number 7 run-attempt 1 --- docs/allclasses-frame.html | 4 + docs/allclasses-noframe.html | 4 + docs/index-all.html | 52 +++- docs/overview-frame.html | 1 + docs/overview-summary.html | 28 +- docs/overview-tree.html | 5 + docs/package-list | 1 + docs/pattern/composite/package-summary.html | 4 +- docs/pattern/composite/package-tree.html | 4 +- docs/pattern/observer/ConcreteObserver.html | 308 ++++++++++++++++++++ docs/pattern/observer/Data.html | 235 +++++++++++++++ docs/pattern/observer/Observer.html | 251 ++++++++++++++++ docs/pattern/observer/Subject.html | 235 +++++++++++++++ docs/pattern/observer/package-frame.html | 25 ++ docs/pattern/observer/package-summary.html | 170 +++++++++++ docs/pattern/observer/package-tree.html | 140 +++++++++ docs/pattern/singleton/package-summary.html | 4 +- docs/pattern/singleton/package-tree.html | 4 +- 18 files changed, 1453 insertions(+), 22 deletions(-) create mode 100644 docs/pattern/observer/ConcreteObserver.html create mode 100644 docs/pattern/observer/Data.html create mode 100644 docs/pattern/observer/Observer.html create mode 100644 docs/pattern/observer/Subject.html create mode 100644 docs/pattern/observer/package-frame.html create mode 100644 docs/pattern/observer/package-summary.html create mode 100644 docs/pattern/observer/package-tree.html diff --git a/docs/allclasses-frame.html b/docs/allclasses-frame.html index b0d3025..3ea721b 100644 --- a/docs/allclasses-frame.html +++ b/docs/allclasses-frame.html @@ -30,11 +30,13 @@

    All Classes

  • CocktailSort
  • CoinsAmount
  • CompositeElement
  • +
  • ConcreteObserver
  • ConcreteStrategy1
  • ConcreteStrategy2
  • ConcreteStrategy3
  • Context
  • Converter
  • +
  • Data
  • DistinctString
  • DynamicProgramming
  • Euclidean
  • @@ -53,6 +55,7 @@

    All Classes

  • MergeSort
  • MinArrayHeap
  • Node
  • +
  • Observer
  • Pair
  • PalindromeCheck
  • QuickSort
  • @@ -66,6 +69,7 @@

    All Classes

  • Sorting
  • Sorting
  • Strategy
  • +
  • Subject
  • Tableau
  • TableauBuilder
  • TableauImpl
  • diff --git a/docs/allclasses-noframe.html b/docs/allclasses-noframe.html index fa07c87..8787f67 100644 --- a/docs/allclasses-noframe.html +++ b/docs/allclasses-noframe.html @@ -30,11 +30,13 @@

    All Classes

  • CocktailSort
  • CoinsAmount
  • CompositeElement
  • +
  • ConcreteObserver
  • ConcreteStrategy1
  • ConcreteStrategy2
  • ConcreteStrategy3
  • Context
  • Converter
  • +
  • Data
  • DistinctString
  • DynamicProgramming
  • Euclidean
  • @@ -53,6 +55,7 @@

    All Classes

  • MergeSort
  • MinArrayHeap
  • Node
  • +
  • Observer
  • Pair
  • PalindromeCheck
  • QuickSort
  • @@ -66,6 +69,7 @@

    All Classes

  • Sorting
  • Sorting
  • Strategy
  • +
  • Subject
  • Tableau
  • TableauBuilder
  • TableauImpl
  • diff --git a/docs/index-all.html b/docs/index-all.html index a187aec..12d6d63 100644 --- a/docs/index-all.html +++ b/docs/index-all.html @@ -67,7 +67,7 @@ -
    A B C D E F G H I J L M N P Q R S T V W  +
    A B C D E F G H I J L M N O P Q R S T U V W 

    A

    @@ -309,6 +309,12 @@

    C

     
    computeObjectValue() - Method in interface algorithms.optimization.simplex.Tableau
     
    +
    ConcreteObserver - Class in pattern.observer
    +
    +
    An implementation of the Observer interface
    +
    +
    ConcreteObserver() - Constructor for class pattern.observer.ConcreteObserver
    +
     
    ConcreteStrategy1 - Class in pattern.strategy
     
    ConcreteStrategy1() - Constructor for class pattern.strategy.ConcreteStrategy1
    @@ -345,6 +351,10 @@

    C

    D

    +
    Data - Class in pattern.observer
    +
    +
    An arbitrary class for demonstration purpose.
    +
    datastructures.heap - package datastructures.heap
     
    datastructures.list - package datastructures.list
    @@ -463,6 +473,14 @@

    G

     
    getClosedSet() - Method in class algorithms.search.astar.AStar
     
    +
    getData() - Method in class pattern.observer.ConcreteObserver
    +
     
    +
    getData() - Method in class pattern.observer.Data
    +
     
    +
    getData() - Method in interface pattern.observer.Observer
    +
    +
    Arbitrary method to demonstrate Observer Pattern
    +
    getFCost() - Method in class algorithms.search.astar.model.Node
     
    getFrom() - Method in class algorithms.search.astar.AStar
    @@ -713,6 +731,16 @@

    N

    Node constructor
    + + + +

    O

    +
    +
    Observer - Interface in pattern.observer
    +
    +
    Observer Interface to create Observers
    +
    +
    @@ -734,6 +762,8 @@

    P

     
    pattern.composite - package pattern.composite
     
    +
    pattern.observer - package pattern.observer
    +
     
    pattern.singleton - package pattern.singleton
     
    pattern.strategy - package pattern.strategy
    @@ -970,6 +1000,12 @@

    S

    The interface for Strategy pattern.
    +
    Subject - Class in pattern.observer
    +
    +
    Subject class for Observer Pattern
    +
    +
    Subject() - Constructor for class pattern.observer.Subject
    +
     
    swap(int, int) - Method in class datastructures.heap.MaxArrayHeap
    Swaps the two given elements.
    @@ -1031,6 +1067,18 @@

    T

    Tuple(T, T) - Constructor for class datastructures.math.Tuple
     
    + + + +

    U

    +
    +
    update(Data) - Method in class pattern.observer.ConcreteObserver
    +
     
    +
    update(Data) - Method in interface pattern.observer.Observer
    +
    +
    Observer implementations receives Data from Subject with this method.
    +
    +
    @@ -1055,7 +1103,7 @@

    W

    withB(T) - Method in class datastructures.math.Tuple
     
    -A B C D E F G H I J L M N P Q R S T V W 
    +A B C D E F G H I J L M N O P Q R S T U V W 
    diff --git a/docs/overview-frame.html b/docs/overview-frame.html index a569443..67173ff 100644 --- a/docs/overview-frame.html +++ b/docs/overview-frame.html @@ -30,6 +30,7 @@

    Packages

  • datastructures.tree
  • pattern.adapter
  • pattern.composite
  • +
  • pattern.observer
  • pattern.singleton
  • pattern.strategy
  • problems.anagram
  • diff --git a/docs/overview-summary.html b/docs/overview-summary.html index 41f9b9f..4eae8d2 100644 --- a/docs/overview-summary.html +++ b/docs/overview-summary.html @@ -148,54 +148,58 @@   -pattern.singleton +pattern.observer   -pattern.strategy +pattern.singleton   -problems.anagram +pattern.strategy   -problems.anagram.impl +problems.anagram   -problems.checksubtree +problems.anagram.impl   -problems.checksubtree.impl +problems.checksubtree   -problems.checksubtree.resources +problems.checksubtree.impl   -problems.coinsamount +problems.checksubtree.resources   -problems.coinsamount.impl +problems.coinsamount   -problems.distinctString +problems.coinsamount.impl   -problems.distinctString.impl +problems.distinctString   -problems.romannumeralconverter +problems.distinctString.impl   +problems.romannumeralconverter +  + + problems.romannumeralconverter.impl   diff --git a/docs/overview-tree.html b/docs/overview-tree.html index 2ecf6ba..dcd3e17 100644 --- a/docs/overview-tree.html +++ b/docs/overview-tree.html @@ -89,6 +89,7 @@

    Hierarchy For All Packages

  • datastructures.tree,
  • pattern.adapter,
  • pattern.composite,
  • +
  • pattern.observer,
  • pattern.singleton,
  • pattern.strategy,
  • problems.anagram,
  • @@ -128,11 +129,13 @@

    Class Hierarchy

  • pattern.singleton.ClassBasedLazySingleton
  • pattern.adapter.Client (implements pattern.adapter.ClientInterface)
  • algorithms.sort.CocktailSort
  • +
  • pattern.observer.ConcreteObserver (implements pattern.observer.Observer)
  • pattern.strategy.ConcreteStrategy1 (implements pattern.strategy.Strategy)
  • pattern.strategy.ConcreteStrategy2 (implements pattern.strategy.Strategy)
  • pattern.strategy.ConcreteStrategy3 (implements pattern.strategy.Strategy)
  • pattern.strategy.Context
  • problems.romannumeralconverter.impl.Converter (implements problems.romannumeralconverter.RomanNumeralConverter)
  • +
  • pattern.observer.Data
  • problems.coinsamount.impl.DynamicProgramming (implements problems.coinsamount.CoinsAmount)
  • algorithms.math.Euclidean
  • problems.distinctString.impl.ExternalArray (implements problems.distinctString.DistinctString)
  • @@ -159,6 +162,7 @@

    Class Hierarchy

  • datastructures.list.SinglyLinkedList<E>
  • problems.anagram.impl.Sorting (implements problems.anagram.Anagram)
  • problems.distinctString.impl.Sorting (implements problems.distinctString.DistinctString)
  • +
  • pattern.observer.Subject
  • algorithms.optimization.simplex.TableauBuilder
  • algorithms.optimization.simplex.impl.TableauImpl (implements algorithms.optimization.simplex.Tableau)
  • problems.checksubtree.resources.TreeNode
  • @@ -174,6 +178,7 @@

    Interface Hierarchy

  • pattern.adapter.ClientInterface
  • problems.coinsamount.CoinsAmount
  • problems.distinctString.DistinctString
  • +
  • pattern.observer.Observer
  • problems.romannumeralconverter.RomanNumeralConverter
  • pattern.adapter.ServiceInterface
  • pattern.strategy.Strategy
  • diff --git a/docs/package-list b/docs/package-list index 66b008d..e304a25 100644 --- a/docs/package-list +++ b/docs/package-list @@ -16,6 +16,7 @@ datastructures.pair datastructures.tree pattern.adapter pattern.composite +pattern.observer pattern.singleton pattern.strategy problems.anagram diff --git a/docs/pattern/composite/package-summary.html b/docs/pattern/composite/package-summary.html index 6742f29..223f296 100644 --- a/docs/pattern/composite/package-summary.html +++ b/docs/pattern/composite/package-summary.html @@ -42,7 +42,7 @@