Skip to content

Ahmad-Hatam/Pagerank

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This repository contains an implementation of the PageRank algorithm, a fundamental algorithm used by search engines to rank web pages in search results. The project includes functions for parsing graph data, simulating random surfers, and computing PageRank using both the random surfer and Markov chain models.

Features: Graph Parsing: Efficiently parse graph data from .dot files. Random Surfer Model: Simulate a random surfer to estimate page ranks. Markov Chain Model: Compute PageRank using iterative matrix multiplication. Statistical Analysis: Collect and analyze graph statistics such as in-degrees and out-degrees. Memory Safety: Enhanced with AddressSanitizer for detecting memory errors.

Technologies:

  1. C programming language
  2. Makefile for build automation
  3. AddressSanitizer for memory leak detection

Usage:

  1. Clone the repository.
  2. Build the project using make.
  3. Run the PageRank computation on your graph data.

Running on WSL:

  1. Ensure you have WSL installed and set up on your Windows machine.
  2. Open a WSL terminal.
  3. Navigate to the project directory.
  4. Build the project using make.
  5. Run tests from the WSL terminal for a smooth experience.

Goals:

  1. Understand and implement the core concepts of the PageRank algorithm.
  2. Provide a reliable and efficient tool for academic and educational purposes.
  3. Ensure robust memory management and performance optimization.

Feel free to explore the code, report issues, and contribute to the project!

About

This project implements the PageRank algorithm to rank web pages based on their link structure. It includes functions for parsing graph data from .dot files, simulating random surfers, and computing PageRank using both random surfer and Markov chain models.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors