SarthakKeshari / calc_for_everything

This repository aims to provide Calculators for educational, professional, scientific, health and well-being and other purposes.
https://calc-for-everything-psi.vercel.app
MIT License
113 stars 103 forks source link

Simplified Software Package Dependency Finder #533

Open WaterCubeGod opened 10 months ago

WaterCubeGod commented 10 months ago

Enter calculator name -

Simplified Software Package Dependency Finder

Describe calculator functionality -

It is used to process a package list (PL) and construct a dependency tree, ultimately saving that tree in JSON format.

Its approximate algorithm is as follows:

Input: package list PL Begin initial queue Q initial depNode root initial map noLoop for p in PL root.clidrenList.push(p) Q.push(root) While(Q is not empty) s = Q.pop() get package s record data from database use record data enrich s Intial list depList from record data for dep in depList get package dep meta data from database use semver rules clean the dep’s version if noLoop[dep.name] == 0 || noLoop[dep.name] == s.layer +1 s.clidrenList.push(dep) Q.push(dep) noLoop[dep.name] = s.layer +1 use LevelOrder save the tree to json End

Reference Link:https://ieeexplore.ieee.org/abstract/document/10104906/authors#authors

Under which category you wish to place it -