Lokasi ngalangkungan proxy:   [ UP ]  
[Ngawartoskeun bug]   [Panyetelan cookie]                
Skip to content

FizzWizZleDazzle/notesheet

Repository files navigation

Java 17 Competitive Programming Reference

Build LaTeX License: MIT

Comprehensive algorithm and data structure reference for competitive programming in Java 17.

Download

Latest Release includes:

  • cheatsheet.pdf - Minimal version (core algorithms and API)
  • notesheet.pdf - Full version (all algorithms and advanced topics)

Both PDFs are automatically built on every commit via GitHub Actions.

Build Locally

Two versions available:

  • Minimal: Core algorithms and API
  • Full: All algorithms and advanced topics
make build-minimal  # Default - builds minimal version
make build-full     # Builds full version

Or manually:

python3 build.py minimal  # or 'full'
pdflatex notesheet.tex

Requirements: Python 3 with PyYAML (pip install pyyaml)

What's Included

Java API (4 sections)

  • Java 17 Features: var, records, switch expressions, pattern matching
  • Core API: String, Arrays, Collections (ArrayList, HashMap, TreeMap, etc.)
  • Streams API: Complete guide to functional-style collection processing
  • BitSet: Space-efficient bit vectors for large boolean arrays

Algorithms (12 sections)

  • Graphs: BFS, DFS, Dijkstra, Union-Find, MST, SCC, LCA, topological sort
  • Dynamic Programming: Knapsack, LCS, LIS, bitmask DP, grid DP
  • Trees: Diameter, LCA with binary lifting, Euler tour
  • Data Structures: Segment tree, Fenwick tree
  • Geometry: Convex hull, 2D/3D primitives
  • Number Theory: GCD, modular arithmetic, sieve
  • Plus: string algorithms, combinatorial search, and competitive programming tips

All algorithms include O() complexity analysis.

See CONTENTS.md for the complete list.

Project Structure

├── notesheet.tex              # Main document
├── sections/                  # Modular topic files (17 sections)
├── Makefile                   # Build automation
├── .github/workflows/         # GitHub Actions for auto-build
├── README.md
├── CONTENTS.md                # Detailed table of contents
└── CONTRIBUTING.md            # How to add new algorithms

Contributing

See CONTRIBUTING.md for guidelines on adding new algorithms.

License

MIT License - Free for educational and competitive programming use.

About

Java 17 API and Algorithm notesheet for competitive programming

Resources

License

Contributing

Stars

Watchers

Forks

Contributors