From 3866cc4467bcb71956986b0bb6c10effca2a4089 Mon Sep 17 00:00:00 2001 From: Dilrose Reji Date: Thu, 14 Oct 2021 16:33:53 +0530 Subject: [PATCH 1/3] added PageRank.java --- Others/PageRank.java | 93 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 Others/PageRank.java diff --git a/Others/PageRank.java b/Others/PageRank.java new file mode 100644 index 000000000000..de48c35e7c87 --- /dev/null +++ b/Others/PageRank.java @@ -0,0 +1,93 @@ +import java.util.*; +import java.io.*; +class PageRank { +public static void main(String args[]) { + int nodes, i, j, cost; + Scanner in = new Scanner(System.in); + System.out.print("Enter the Number of WebPages: "); + nodes = in .nextInt(); + PageRank p = new PageRank(); + System.out.println("Enter the Adjacency Matrix with 1->PATH & 0->NO PATH Between two WebPages: "); + for (i = 1; i <= nodes; i++) + for (j = 1; j <= nodes; j++) { + p.path[i][j] = in .nextInt(); + if (j == i) + p.path[i][j] = 0; + } + p.calc(nodes); + +} + + public int path[][] = new int[10][10]; + public double pagerank[] = new double[10]; + + public void calc(double totalNodes) { + + double InitialPageRank; + double OutgoingLinks = 0; + double DampingFactor = 0.85; + double TempPageRank[] = new double[10]; + int ExternalNodeNumber; + int InternalNodeNumber; + int k = 1; // For Traversing + int ITERATION_STEP = 1; + InitialPageRank = 1 / totalNodes; + System.out.printf(" Total Number of Nodes :" + totalNodes + "\t Initial PageRank of All Nodes :" + InitialPageRank + "\n"); + + // 0th ITERATION _ OR _ INITIALIZATION PHASE // + + for (k = 1; k <= totalNodes; k++) { + this.pagerank[k] = InitialPageRank; + } + + System.out.printf("\n Initial PageRank Values , 0th Step \n"); + for (k = 1; k <= totalNodes; k++) { + System.out.printf(" Page Rank of " + k + " is :\t" + this.pagerank[k] + "\n"); + } + + while (ITERATION_STEP <= 2) // Iterations + { + // Store the PageRank for All Nodes in Temporary Array + for (k = 1; k <= totalNodes; k++) { + TempPageRank[k] = this.pagerank[k]; + this.pagerank[k] = 0; + } + + for (InternalNodeNumber = 1; InternalNodeNumber <= totalNodes; InternalNodeNumber++) { + for (ExternalNodeNumber = 1; ExternalNodeNumber <= totalNodes; ExternalNodeNumber++) { + if (this.path[ExternalNodeNumber][InternalNodeNumber] == 1) { + k = 1; + OutgoingLinks = 0; // Count the Number of Outgoing Links for each ExternalNodeNumber + while (k <= totalNodes) { + if (this.path[ExternalNodeNumber][k] == 1) { + OutgoingLinks = OutgoingLinks + 1; // Counter for Outgoing Links + } + k = k + 1; + } + // Calculate PageRank + this.pagerank[InternalNodeNumber] += TempPageRank[ExternalNodeNumber] * (1 / OutgoingLinks); + } + } +System.out.printf("\n After " + ITERATION_STEP + "th Step \n"); + + for (k = 1; k <= totalNodes; k++) + System.out.printf(" Page Rank of " + k + " is :\t" + this.pagerank[k] + "\n"); + + ITERATION_STEP = ITERATION_STEP + 1; + } + // Add the Damping Factor to PageRank + for (k = 1; k <= totalNodes; k++) { + this.pagerank[k] = (1 - DampingFactor) + DampingFactor * this.pagerank[k]; + } + + // Display PageRank + System.out.printf("\n Final Page Rank : \n"); + for (k = 1; k <= totalNodes; k++) { + System.out.printf(" Page Rank of " + k + " is :\t" + this.pagerank[k] + "\n"); + } + + } + } + +} + From 271ef379f4501af5acd8ee0da439cfd63beadb67 Mon Sep 17 00:00:00 2001 From: Dilrose Reji Date: Tue, 19 Oct 2021 11:29:39 +0530 Subject: [PATCH 2/3] formatting done --- Others/PageRank.java | 155 +++++++++++++++++++++---------------------- 1 file changed, 77 insertions(+), 78 deletions(-) diff --git a/Others/PageRank.java b/Others/PageRank.java index de48c35e7c87..93ea82864612 100644 --- a/Others/PageRank.java +++ b/Others/PageRank.java @@ -1,93 +1,92 @@ -import java.util.*; -import java.io.*; -class PageRank { -public static void main(String args[]) { - int nodes, i, j, cost; - Scanner in = new Scanner(System.in); - System.out.print("Enter the Number of WebPages: "); - nodes = in .nextInt(); - PageRank p = new PageRank(); - System.out.println("Enter the Adjacency Matrix with 1->PATH & 0->NO PATH Between two WebPages: "); - for (i = 1; i <= nodes; i++) - for (j = 1; j <= nodes; j++) { - p.path[i][j] = in .nextInt(); - if (j == i) - p.path[i][j] = 0; - } - p.calc(nodes); +import java.util.*; // package declaration -} +class PageRank { + public static void main(String args[]) { + int nodes, i, j; + Scanner in = new Scanner(System.in); + System.out.print("Enter the Number of WebPages: "); + nodes = in.nextInt(); + PageRank p = new PageRank(); + System.out.println("Enter the Adjacency Matrix with 1->PATH & 0->NO PATH Between two WebPages: "); + for (i = 1; i <= nodes; i++) + for (j = 1; j <= nodes; j++) { + p.path[i][j] = in.nextInt(); + if (j == i) + p.path[i][j] = 0; + } + p.calc(nodes); + } - public int path[][] = new int[10][10]; - public double pagerank[] = new double[10]; + public int path[][] = new int[10][10]; + public double pagerank[] = new double[10]; - public void calc(double totalNodes) { + public void calc(double totalNodes) { - double InitialPageRank; - double OutgoingLinks = 0; - double DampingFactor = 0.85; - double TempPageRank[] = new double[10]; - int ExternalNodeNumber; - int InternalNodeNumber; - int k = 1; // For Traversing - int ITERATION_STEP = 1; - InitialPageRank = 1 / totalNodes; - System.out.printf(" Total Number of Nodes :" + totalNodes + "\t Initial PageRank of All Nodes :" + InitialPageRank + "\n"); + double InitialPageRank; + double OutgoingLinks = 0; + double DampingFactor = 0.85; + double TempPageRank[] = new double[10]; + int ExternalNodeNumber; + int InternalNodeNumber; + int k = 1; // For Traversing + int ITERATION_STEP = 1; + InitialPageRank = 1 / totalNodes; + System.out.printf( + " Total Number of Nodes :" + totalNodes + "\t Initial PageRank of All Nodes :" + InitialPageRank + "\n"); - // 0th ITERATION _ OR _ INITIALIZATION PHASE // - - for (k = 1; k <= totalNodes; k++) { - this.pagerank[k] = InitialPageRank; - } + // 0th ITERATION _ OR _ INITIALIZATION PHASE // - System.out.printf("\n Initial PageRank Values , 0th Step \n"); - for (k = 1; k <= totalNodes; k++) { - System.out.printf(" Page Rank of " + k + " is :\t" + this.pagerank[k] + "\n"); - } + for (k = 1; k <= totalNodes; k++) { + this.pagerank[k] = InitialPageRank; + } + System.out.printf("\n Initial PageRank Values , 0th Step \n"); - while (ITERATION_STEP <= 2) // Iterations - { - // Store the PageRank for All Nodes in Temporary Array - for (k = 1; k <= totalNodes; k++) { - TempPageRank[k] = this.pagerank[k]; - this.pagerank[k] = 0; - } + for (k = 1; k <= totalNodes; k++) { + System.out.printf(" Page Rank of " + k + " is :\t" + this.pagerank[k] + "\n"); + } - for (InternalNodeNumber = 1; InternalNodeNumber <= totalNodes; InternalNodeNumber++) { - for (ExternalNodeNumber = 1; ExternalNodeNumber <= totalNodes; ExternalNodeNumber++) { - if (this.path[ExternalNodeNumber][InternalNodeNumber] == 1) { - k = 1; - OutgoingLinks = 0; // Count the Number of Outgoing Links for each ExternalNodeNumber - while (k <= totalNodes) { - if (this.path[ExternalNodeNumber][k] == 1) { - OutgoingLinks = OutgoingLinks + 1; // Counter for Outgoing Links - } - k = k + 1; + while (ITERATION_STEP <= 2) // Iterations + { + // Store the PageRank for All Nodes in Temporary Array + for (k = 1; k <= totalNodes; k++) { + TempPageRank[k] = this.pagerank[k]; + this.pagerank[k] = 0; } - // Calculate PageRank - this.pagerank[InternalNodeNumber] += TempPageRank[ExternalNodeNumber] * (1 / OutgoingLinks); - } - } -System.out.printf("\n After " + ITERATION_STEP + "th Step \n"); - for (k = 1; k <= totalNodes; k++) - System.out.printf(" Page Rank of " + k + " is :\t" + this.pagerank[k] + "\n"); + for (InternalNodeNumber = 1; InternalNodeNumber <= totalNodes; InternalNodeNumber++) { + for (ExternalNodeNumber = 1; ExternalNodeNumber <= totalNodes; ExternalNodeNumber++) { + if (this.path[ExternalNodeNumber][InternalNodeNumber] == 1) { + k = 1; + OutgoingLinks = 0; // Count the Number of Outgoing Links for each ExternalNodeNumber + while (k <= totalNodes) { + if (this.path[ExternalNodeNumber][k] == 1) { + OutgoingLinks = OutgoingLinks + 1; // Counter for Outgoing Links + } + k = k + 1; + } + // Calculate PageRank + this.pagerank[InternalNodeNumber] += TempPageRank[ExternalNodeNumber] * (1 / OutgoingLinks); + } + } + System.out.printf("\n After " + ITERATION_STEP + "th Step \n"); - ITERATION_STEP = ITERATION_STEP + 1; - } - // Add the Damping Factor to PageRank - for (k = 1; k <= totalNodes; k++) { - this.pagerank[k] = (1 - DampingFactor) + DampingFactor * this.pagerank[k]; - } + for (k = 1; k <= totalNodes; k++) + System.out.printf(" Page Rank of " + k + " is :\t" + this.pagerank[k] + "\n"); - // Display PageRank - System.out.printf("\n Final Page Rank : \n"); - for (k = 1; k <= totalNodes; k++) { - System.out.printf(" Page Rank of " + k + " is :\t" + this.pagerank[k] + "\n"); - } + ITERATION_STEP = ITERATION_STEP + 1; + } + + // Add the Damping Factor to PageRank + for (k = 1; k <= totalNodes; k++) { + this.pagerank[k] = (1 - DampingFactor) + DampingFactor * this.pagerank[k]; + } + + // Display PageRank + System.out.printf("\n Final Page Rank : \n"); + for (k = 1; k <= totalNodes; k++) { + System.out.printf(" Page Rank of " + k + " is :\t" + this.pagerank[k] + "\n"); + } - } + } } - } - From d2b82d54487ef2a722af25beed13545637fba242 Mon Sep 17 00:00:00 2001 From: Dilrose Reji Date: Thu, 21 Oct 2021 23:57:14 +0530 Subject: [PATCH 3/3] declaration added --- Others/PageRank.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Others/PageRank.java b/Others/PageRank.java index 93ea82864612..fc4fed0fcae3 100644 --- a/Others/PageRank.java +++ b/Others/PageRank.java @@ -1,4 +1,6 @@ -import java.util.*; // package declaration +package Others; + +import java.util.*; class PageRank { public static void main(String args[]) {