pofk_algorithm 0.0.1

A collection of efficient algorithms implemented in Rust for real-world projects.
Documentation
# Total Algorithms: 106


# v0.1.0 (2025-08-11)


## Major Additions


**Total algorithms added: 23**

### List Algorithms (16)


### Set Algorithms (7)


## Other Changes

- Added robust, dedicated test files for each new algorithm in tree, linked list, and DP modules.
- Added comprehensive documentation and doctests for all new algorithms.
- Created full example files: `examples/tree_algorithms_examples.rs`, `examples/linked_list_algorithms_examples.rs`, `examples/dp_algorithms_examples.rs` demonstrating usage of all new algorithms.

# v0.2.0 (2025-08-11)


## [Unreleased]


### Major Additions


**Total graph algorithms added: 10+**

### Graph Algorithms (10+)

- Kruskal's Minimum Spanning Tree (MST) algorithm (`graph_algorithms::kruskal`)
- Prim's Minimum Spanning Tree (MST) algorithm (`graph_algorithms::prim`)
- Kosaraju's Strongly Connected Components (SCC) algorithm (`graph_algorithms::kosaraju_scc`)
- Articulation Points (Cut Vertices) algorithm (`graph_algorithms::articulation_points`)

## Other Changes

- Added robust, dedicated test files for each new graph algorithm.
- Comprehensive documentation and doctests for all new graph algorithms.

## Major Additions


**Total string algorithms added: 10**

### String Algorithms (10)

- Reverse String
- Palindrome Check
- Anagram Check (for strings)
- Longest Palindromic Substring
- String Compression
- Substring Search (Brute Force)
- Rabin-Karp
- Longest Common Prefix
- Edit Distance
- Count Vowels/Consonants

## Tree Algorithms (11)

- Binary Tree Traversals: Inorder, Preorder, Postorder (`tree_algorithms::binary_tree_traversal`)
- Diameter of Binary Tree (`tree_algorithms::diameter_of_tree`)
- Balanced Binary Tree Check (`tree_algorithms::balanced_tree`)
- Level Order (BFS) Traversal (`tree_algorithms::level_order_traversal`)
- Lowest Common Ancestor (LCA) (`tree_algorithms::lowest_common_ancestor`)
- Invert Binary Tree (`tree_algorithms::invert_tree`)
- Zigzag Level Order Traversal (`tree_algorithms::zigzag_traversal`)
- Validate Binary Search Tree (`tree_algorithms::validate_bst`)
- Depth of Binary Tree (`tree_algorithms::tree_depth`)
- Serialize and Deserialize Binary Tree (`tree_algorithms::serialize_deserialize`)
- Robust, dedicated test files and a full example file for all tree algorithms

## Linked List Algorithms (9)

- Singly Linked List Node and Traversal (`linked_list_algorithms::singly_linked_list`)
- Insert and Delete at Position (`linked_list_algorithms::insert_delete`)
- Doubly Linked List Node and Reverse (`linked_list_algorithms::doubly_linked_list`)
- Reverse Singly Linked List (`linked_list_algorithms::reverse_list`)
- Detect Cycle (Floyd's) (`linked_list_algorithms::detect_cycle`)
- Merge Two Sorted Lists (`linked_list_algorithms::merge_sorted`)
- Remove Nth Node From End (`linked_list_algorithms::remove_nth_from_end`)
- Palindrome Linked List Check (`linked_list_algorithms::palindrome`)
- Intersection of Two Lists (`linked_list_algorithms::intersection`)
- Robust, dedicated test files and a full example file for all linked list algorithms

## Dynamic Programming Algorithms (13)

- Fibonacci (Memoization) (`dp_algorithms::fibonacci`)
- 0/1 Knapsack (`dp_algorithms::knapsack_01`)
- Longest Increasing Subsequence (`dp_algorithms::longest_increasing_subsequence`)
- Longest Common Subsequence (`dp_algorithms::longest_common_subsequence`)
- Edit Distance (`dp_algorithms::edit_distance`)
- Matrix Path Sum (`dp_algorithms::matrix_path_sum`)
- Coin Change (`dp_algorithms::coin_change`)
- Subset Sum (`dp_algorithms::subset_sum`)
- Partition Equal Subset Sum (`dp_algorithms::partition_equal_subset_sum`)
- House Robber (`dp_algorithms::house_robber`)
- Jump Game (`dp_algorithms::jump_game`)
- Palindromic Substrings (`dp_algorithms::palindromic_substrings`)
- Rod Cutting (`dp_algorithms::rod_cutting`)
- Robust, dedicated test files and a full example file for all DP algorithms

## Backtracking Algorithms (9)


## Matrix/Grid Algorithms (8)

- Flood Fill (`matrix_algorithms::flood_fill`)
- Island Count (DFS/BFS) (`matrix_algorithms::island_count`)
- Shortest Path in Grid (`matrix_algorithms::shortest_path_grid`)
- Word Search (`matrix_algorithms::word_search`)
- Path Sum in Matrix (`matrix_algorithms::path_sum`)
- Matrix Rotation (`matrix_algorithms::matrix_rotation`)
- Spiral Traversal (`matrix_algorithms::spiral_traversal`)
- Surrounded Regions (`matrix_algorithms::surrounded_regions`)
- Robust, dedicated test files and a full example file for all matrix/grid algorithms