fix: Remove defensive checks in bipartite graph functions - #15126
Closed
tanishqraikwar83-eng wants to merge 1 commit into
Closed
fix: Remove defensive checks in bipartite graph functions#15126tanishqraikwar83-eng wants to merge 1 commit into
tanishqraikwar83-eng wants to merge 1 commit into
Conversation
…tural KeyError/TypeError exceptions The is_bipartite_dfs and is_bipartite_bfs functions contained defensive checks that prevented natural exceptions from occurring when given invalid graph inputs. According to FIXME comments in the docstrings, these functions should allow KeyError to be raised when a graph contains neighbors that are not keys in the graph dictionary, and TypeError when non-integer keys are used where integers are expected. This commit removes the defensive checks: - Removed 'if node not in graph: return True' from depth_first_search - Removed 'if curr_node not in graph: continue' from the BFS loop This allows the functions to raise KeyError when accessing graph[node] for a node that is not a key in the graph, which is the expected behavior for invalid inputs as documented in the FIXME comments.
Closing this pull request as invalid@tanishqraikwar83-eng, this pull request is being closed as none of the checkboxes have been marked. It is important that you go through the checklist and mark the ones relevant to this pull request. Please read the Contributing guidelines. If you're facing any problem on how to mark a checkbox, please read the following instructions:
NOTE: Only |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This commit removes defensive checks in is_bipartite_dfs and is_bipartite_bfs functions that were preventing natural KeyError and TypeError exceptions from occurring for invalid graph inputs.
The functions contained checks like 'if node not in graph: return True' and 'if curr_node not in graph: continue' which would return early or skip processing when encountering invalid graph structures, instead of allowing the natural exceptions to occur.
According to FIXME comments in the docstrings, the expected behavior is:
By removing these defensive checks, the functions now properly raise KeyError when accessing graph[node] for a node that is not a key in the graph, which aligns with the documented expected behavior.