# mithre20/placement_training_technical architecture

> Architecture diagram of the GitHub repository mithre20/placement_training_technical, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/mithre20/placement_training_technical
- Repository: https://github.com/mithre20/placement_training_technical

## Overview

This repository is a collection of independent Java console exercises, not a single application or shared algorithm library. A user supplies input to an individual program, which computes and prints a result. The graph groups the exercises by topic; each program owns its own input, computation, and output. The README only names placement-training practice, and sampled source confirms the standalone console pattern; unsampled files are represented by their filenames and topic, without implying calls between them.

Main entry points: [`Array.java`](https://github.com/mithre20/placement_training_technical/blob/main/Array.java) (Array palindrome), [`average_array.java`](https://github.com/mithre20/placement_training_technical/blob/main/average_array.java) (Array average), [`asc_desc.java`](https://github.com/mithre20/placement_training_technical/blob/main/asc_desc.java) (Sort order check), [`MaximumFrequency.java`](https://github.com/mithre20/placement_training_technical/blob/main/MaximumFrequency.java) (Maximum frequency)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_arrays["Array exercises"]
  node_array["Array palindrome<br/>[Array.java]"]
  node_average["Array average<br/>[average_array.java]"]
  node_sorted["Sort order check<br/>[asc_desc.java]"]
  node_frequency["Maximum frequency"]
  node_second["Second largest"]
  node_duplicate["Duplicate check<br/>[duplicate.java]"]
  node_present["Element search"]
end

subgraph group_matrices["Matrix exercises"]
  node_largest2d["Largest matrix element"]
  node_addition["Matrix addition"]
  node_multiplication["Matrix multiplication"]
  node_transpose["Matrix transpose"]
  node_spiral["Spiral traversal<br/>[spiral_matrix.java]"]
  node_diagonals["Diagonal sums"]
  node_identity["Identity check"]
  node_triangular["Triangular check"]
end

subgraph group_text["String exercises"]
  node_anagrams["Anagram check<br/>[anagrams.java]"]
  node_palindrome["String palindrome"]
  node_reverse["String reverse"]
  node_longest["Longest word<br/>[longest_word.java]"]
end

subgraph group_numbers["Number exercises"]
  node_armstrong["Armstrong check"]
  node_prime["Prime check<br/>[prime_number.java]"]
end

subgraph group_patterns["Patterns and sequences"]
  node_fibonacci["Fibonacci series"]
  node_floyd["Floyd triangle"]
  node_diamond["Diamond pattern<br/>[Diamond.java]"]
end

node_user(("Console user"))

node_user -->|"enters values"| node_array
node_array -->|"prints result"| node_user
node_user -->|"enters values"| node_average
node_average -->|"prints result"| node_user
node_user -->|"enters values"| node_sorted
node_sorted -->|"prints result"| node_user
node_user -->|"enters values"| node_frequency
node_frequency -->|"prints result"| node_user
node_user -->|"enters values"| node_second
node_second -->|"prints result"| node_user
node_user -->|"enters values"| node_duplicate
node_duplicate -->|"prints result"| node_user
node_user -->|"enters values"| node_present
node_present -->|"prints result"| node_user
node_user -->|"enters values"| node_largest2d
node_largest2d -->|"prints result"| node_user
node_user -->|"enters matrices"| node_addition
node_addition -->|"prints result"| node_user
node_user -->|"enters matrices"| node_multiplication
node_multiplication -->|"prints result"| node_user
node_user -->|"enters matrix"| node_transpose
node_transpose -->|"prints result"| node_user
node_user -->|"enters matrix"| node_spiral
node_spiral -->|"prints result"| node_user
node_user -->|"enters matrix"| node_diagonals
node_diagonals -->|"prints sums"| node_user
node_user -->|"enters matrix"| node_identity
node_identity -->|"prints result"| node_user
node_user -->|"enters matrix"| node_triangular
node_triangular -->|"prints result"| node_user
node_user -->|"enters strings"| node_anagrams
node_anagrams -->|"prints result"| node_user
node_user -->|"enters string"| node_palindrome
node_palindrome -->|"prints result"| node_user
node_user -->|"enters string"| node_reverse
node_reverse -->|"prints result"| node_user
node_user -->|"enters text"| node_longest
node_longest -->|"prints result"| node_user
node_user -->|"enters number"| node_armstrong
node_armstrong -->|"prints result"| node_user
node_user -->|"enters number"| node_prime
node_prime -->|"prints result"| node_user
node_user -->|"enters count"| node_fibonacci
node_fibonacci -->|"prints series"| node_user
node_user -->|"enters size"| node_floyd
node_floyd -->|"prints pattern"| node_user
node_user -->|"enters size"| node_diamond
node_diamond -->|"prints pattern"| node_user

click node_array "https://github.com/mithre20/placement_training_technical/blob/main/Array.java"
click node_average "https://github.com/mithre20/placement_training_technical/blob/main/average_array.java"
click node_sorted "https://github.com/mithre20/placement_training_technical/blob/main/asc_desc.java"
click node_frequency "https://github.com/mithre20/placement_training_technical/blob/main/MaximumFrequency.java"
click node_second "https://github.com/mithre20/placement_training_technical/blob/main/second_largest.java"
click node_duplicate "https://github.com/mithre20/placement_training_technical/blob/main/duplicate.java"
click node_present "https://github.com/mithre20/placement_training_technical/blob/main/element_present.java"
click node_largest2d "https://github.com/mithre20/placement_training_technical/blob/main/Largest_element_2d.java"
click node_addition "https://github.com/mithre20/placement_training_technical/blob/main/Matrix_Addition.java"
click node_multiplication "https://github.com/mithre20/placement_training_technical/blob/main/Matrix_Multiplication.java"
click node_transpose "https://github.com/mithre20/placement_training_technical/blob/main/transpose_matrix.java"
click node_spiral "https://github.com/mithre20/placement_training_technical/blob/main/spiral_matrix.java"
click node_diagonals "https://github.com/mithre20/placement_training_technical/blob/main/sum_diagonals_2d_array.java"
click node_identity "https://github.com/mithre20/placement_training_technical/blob/main/identity_matrix.java"
click node_triangular "https://github.com/mithre20/placement_training_technical/blob/main/upper_triangular_matrix.java"
click node_anagrams "https://github.com/mithre20/placement_training_technical/blob/main/anagrams.java"
click node_palindrome "https://github.com/mithre20/placement_training_technical/blob/main/palindrome_string.java"
click node_reverse "https://github.com/mithre20/placement_training_technical/blob/main/reverse_string.java"
click node_longest "https://github.com/mithre20/placement_training_technical/blob/main/longest_word.java"
click node_armstrong "https://github.com/mithre20/placement_training_technical/blob/main/armstrong_number.java"
click node_prime "https://github.com/mithre20/placement_training_technical/blob/main/prime_number.java"
click node_fibonacci "https://github.com/mithre20/placement_training_technical/blob/main/Fibonacci_Series.java"
click node_floyd "https://github.com/mithre20/placement_training_technical/blob/main/floyd_triangle.java"
click node_diamond "https://github.com/mithre20/placement_training_technical/blob/main/Diamond.java"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_array,node_average,node_sorted,node_frequency,node_second,node_duplicate,node_present,node_user toneBlue
class node_largest2d,node_addition,node_multiplication,node_transpose,node_spiral,node_diagonals,node_identity,node_triangular toneAmber
class node_anagrams,node_palindrome,node_reverse,node_longest toneMint
class node_armstrong,node_prime toneRose
class node_fibonacci,node_floyd,node_diamond toneIndigo
```

## Components

### Array exercises

- [Array palindrome](https://github.com/mithre20/placement_training_technical/blob/main/Array.java): `Array.java`
- [Array average](https://github.com/mithre20/placement_training_technical/blob/main/average_array.java): `average_array.java`
- [Sort order check](https://github.com/mithre20/placement_training_technical/blob/main/asc_desc.java): `asc_desc.java`
- [Maximum frequency](https://github.com/mithre20/placement_training_technical/blob/main/MaximumFrequency.java): `MaximumFrequency.java`
- [Second largest](https://github.com/mithre20/placement_training_technical/blob/main/second_largest.java): `second_largest.java`
- [Duplicate check](https://github.com/mithre20/placement_training_technical/blob/main/duplicate.java): `duplicate.java`
- [Element search](https://github.com/mithre20/placement_training_technical/blob/main/element_present.java): `element_present.java`

### Matrix exercises

- [Largest matrix element](https://github.com/mithre20/placement_training_technical/blob/main/Largest_element_2d.java): `Largest_element_2d.java`
- [Matrix addition](https://github.com/mithre20/placement_training_technical/blob/main/Matrix_Addition.java): `Matrix_Addition.java`
- [Matrix multiplication](https://github.com/mithre20/placement_training_technical/blob/main/Matrix_Multiplication.java): `Matrix_Multiplication.java`
- [Matrix transpose](https://github.com/mithre20/placement_training_technical/blob/main/transpose_matrix.java): `transpose_matrix.java`
- [Spiral traversal](https://github.com/mithre20/placement_training_technical/blob/main/spiral_matrix.java): `spiral_matrix.java`
- [Diagonal sums](https://github.com/mithre20/placement_training_technical/blob/main/sum_diagonals_2d_array.java): `sum_diagonals_2d_array.java`
- [Identity check](https://github.com/mithre20/placement_training_technical/blob/main/identity_matrix.java): `identity_matrix.java`
- [Triangular check](https://github.com/mithre20/placement_training_technical/blob/main/upper_triangular_matrix.java): `upper_triangular_matrix.java`

### String exercises

- [Anagram check](https://github.com/mithre20/placement_training_technical/blob/main/anagrams.java): `anagrams.java`
- [String palindrome](https://github.com/mithre20/placement_training_technical/blob/main/palindrome_string.java): `palindrome_string.java`
- [String reverse](https://github.com/mithre20/placement_training_technical/blob/main/reverse_string.java): `reverse_string.java`
- [Longest word](https://github.com/mithre20/placement_training_technical/blob/main/longest_word.java): `longest_word.java`

### Number exercises

- [Armstrong check](https://github.com/mithre20/placement_training_technical/blob/main/armstrong_number.java): `armstrong_number.java`
- [Prime check](https://github.com/mithre20/placement_training_technical/blob/main/prime_number.java): `prime_number.java`

### Patterns and sequences

- [Fibonacci series](https://github.com/mithre20/placement_training_technical/blob/main/Fibonacci_Series.java): `Fibonacci_Series.java`
- [Floyd triangle](https://github.com/mithre20/placement_training_technical/blob/main/floyd_triangle.java): `floyd_triangle.java`
- [Diamond pattern](https://github.com/mithre20/placement_training_technical/blob/main/Diamond.java): `Diamond.java`

### Other components

- **Console user**

## Connections

- Console user → Array palindrome: enters values
- Array palindrome → Console user: prints result
- Console user → Array average: enters values
- Array average → Console user: prints result
- Console user → Sort order check: enters values
- Sort order check → Console user: prints result
- Console user → Maximum frequency: enters values
- Maximum frequency → Console user: prints result
- Console user → Second largest: enters values
- Second largest → Console user: prints result
- Console user → Duplicate check: enters values
- Duplicate check → Console user: prints result
- Console user → Element search: enters values
- Element search → Console user: prints result
- Console user → Largest matrix element: enters values
- Largest matrix element → Console user: prints result
- Console user → Matrix addition: enters matrices
- Matrix addition → Console user: prints result
- Console user → Matrix multiplication: enters matrices
- Matrix multiplication → Console user: prints result
- Console user → Matrix transpose: enters matrix
- Matrix transpose → Console user: prints result
- Console user → Spiral traversal: enters matrix
- Spiral traversal → Console user: prints result
- Console user → Diagonal sums: enters matrix
- Diagonal sums → Console user: prints sums
- Console user → Identity check: enters matrix
- Identity check → Console user: prints result
- Console user → Triangular check: enters matrix
- Triangular check → Console user: prints result
- Console user → Anagram check: enters strings
- Anagram check → Console user: prints result
- Console user → String palindrome: enters string
- String palindrome → Console user: prints result
- Console user → String reverse: enters string
- String reverse → Console user: prints result
- Console user → Longest word: enters text
- Longest word → Console user: prints result
- Console user → Armstrong check: enters number
- Armstrong check → Console user: prints result
- Console user → Prime check: enters number
- Prime check → Console user: prints result
- Console user → Fibonacci series: enters count
- Fibonacci series → Console user: prints series
- Console user → Floyd triangle: enters size
- Floyd triangle → Console user: prints pattern
- Console user → Diamond pattern: enters size
- Diamond pattern → Console user: prints pattern
