Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

bellmanFord: runs in O(V²·E) rather than the O(V·E) / O(E) stated in README

Ouverte
#2,236 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

@Shubham-Padkonde y travaille déjà.

Depuis le 23/10/2026.

  • #2245 par @Shubham-Padkonde — ouverte

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
35/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
À l'abandon
Stack technique
javascript

Piste de recherche

Start with bellmanFord.js lines 21–39 and inspect how it finds edges and handles each relaxation pass. The issue proposes iterating vertex.getEdges() and stopping when a pass makes no changes; check the linked pull request #2245 for work already underway. Done means the algorithm avoids repeated edge searches and exits early when a pass makes no changes, while preserving correct results.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

bellmanFord.js (lines 21–39) finds each edge again via graph.findEdge, which is a linear scan of the vertex's edge list, and has no early exit when a pass relaxes nothing. On complete digraphs with unit weights (a best-case input):

V node visits visits / (V·E) time
20 79,420 10.4 3 ms
40 1.28M 20.5 10 ms
80 20.5M 40.5 136 ms
160 327.6M 80.5 1.8 s

Fix: iterate vertex.getEdges() directly (this also fixes #2230) and stop when an iteration changes nothing.


Found during an independent property-based audit of this repo (full report and reproducible harness: https://github.com/devladpopov/algorithm-autopsy/tree/main/autopsy-02).

Langage dominant
JavaScript
Étoiles
197k
Forks
31k
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de trekhleb/javascript-algorithms

Toutes les issues de trekhleb/javascript-algorithms

Issues similaires

Plus d'issues JavaScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.