This repository was archived by the owner on Jun 18, 2026. It is now read-only.
Commit cb0f626
committed
feat: add PageRank analyzer with power-iteration algorithm
Add PageRankAnalyzer implementing Google's PageRank algorithm for
computing recursive node importance in graphs:
- Power-iteration method with configurable damping factor (default 0.85),
convergence tolerance, and max iterations
- Dangling node handling (distributes rank uniformly)
- PageRankResult with raw rank, normalized rank (relative to average),
and human-readable importance labels
- Gini coefficient for rank inequality measurement
- Shannon entropy ratio for rank distribution uniformity
- Rank distribution tiers (Very Low to Very High)
- Hidden influencer detection (nodes with disproportionate importance
relative to their degree)
- Degree centrality comparison with position shift tracking
- Top-N and bottom-N node queries
Also:
- Add JUnit 4.13.2 test dependency to pom.xml
- Add testSourceDirectory config pointing to Gvisual/test
77 new tests covering: constructors, empty/single/two-node graphs,
star/triangle/chain/complete/barbell/disconnected topologies,
convergence, rank-sum-to-1 invariant, damping factor effects,
Gini/entropy metrics, hidden influencers, degree comparison,
result immutability, and all result type methods.
Total tests: 271 -> 348 (all passing)1 parent 14038ad commit cb0f626
3 files changed
Lines changed: 1801 additions & 0 deletions
0 commit comments