{"id":15031074,"url":"https://github.com/chinmayvivek/rust-practice","last_synced_at":"2026-02-25T13:36:05.884Z","repository":{"id":253456163,"uuid":"843561157","full_name":"CHINMAYVIVEK/rust-practice","owner":"CHINMAYVIVEK","description":"This repository provides a structured approach to learning Rust, with 100 practical programs organized into ten key categories. Whether you're a beginner or looking to deepen your understanding, these exercises will help you build a solid foundation and advance your skills.","archived":false,"fork":false,"pushed_at":"2024-08-16T19:45:01.000Z","size":8,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-20T12:05:12.825Z","etag":null,"topics":["rust","rust-lang","rust-practice","rust-programming","rust-programming-language"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CHINMAYVIVEK.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-16T19:40:59.000Z","updated_at":"2024-08-16T19:45:59.000Z","dependencies_parsed_at":"2024-08-16T21:01:08.248Z","dependency_job_id":null,"html_url":"https://github.com/CHINMAYVIVEK/rust-practice","commit_stats":null,"previous_names":["chinmayvivek/rust-practice"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CHINMAYVIVEK%2Frust-practice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CHINMAYVIVEK%2Frust-practice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CHINMAYVIVEK%2Frust-practice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CHINMAYVIVEK%2Frust-practice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CHINMAYVIVEK","download_url":"https://codeload.github.com/CHINMAYVIVEK/rust-practice/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243440698,"owners_count":20291335,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["rust","rust-lang","rust-practice","rust-programming","rust-programming-language"],"created_at":"2024-09-24T20:14:51.038Z","updated_at":"2025-10-30T03:22:02.299Z","avatar_url":"https://github.com/CHINMAYVIVEK.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Rust Practice\n\n## 10 Steps to Mastering Rust\n\nThis repository provides a structured approach to learning Rust, with 100 practical programs organized into ten key categories. Whether you're a beginner or looking to deepen your understanding, these exercises will help you build a solid foundation and advance your skills.\n\n### 1. Basic Programs\n1. **Hello World**: Print \"Hello, World!\" to the console.\n2. **Basic Arithmetic**: Perform addition, subtraction, multiplication, and division.\n3. **Swap Variables**: Swap the values of two variables.\n4. **Area of a Circle**: Calculate the area of a circle given its radius.\n5. **Simple Interest**: Calculate simple interest based on principal, rate, and time.\n6. **Temperature Converter**: Convert temperatures between Celsius, Fahrenheit, and Kelvin.\n7. **Even or Odd**: Check if a number is even or odd.\n8. **Leap Year**: Determine if a given year is a leap year.\n9. **Factorial**: Calculate the factorial of a number.\n10. **Fibonacci Sequence**: Generate the first `n` numbers in the Fibonacci sequence.\n\n### 2. Control Flow\n11. **Prime Number Check**: Check if a number is prime.\n12. **Palindrome**: Check if a string is a palindrome.\n13. **Armstrong Number**: Check if a number is an Armstrong number.\n14. **Sum of Digits**: Calculate the sum of the digits of a number.\n15. **Reverse a Number**: Reverse the digits of a number.\n16. **Greatest Common Divisor (GCD)**: Find the GCD of two numbers.\n17. **Least Common Multiple (LCM)**: Find the LCM of two numbers.\n18. **Quadratic Equation Solver**: Solve a quadratic equation.\n19. **Pattern Printing**: Print various patterns like pyramids and diamonds.\n20. **Binary to Decimal**: Convert a binary number to decimal.\n\n### 3. Data Structures\n21. **Array Rotation**: Rotate an array by `n` positions.\n22. **Matrix Addition**: Perform addition of two matrices.\n23. **Matrix Multiplication**: Perform multiplication of two matrices.\n24. **Transpose of a Matrix**: Find the transpose of a matrix.\n25. **Linked List Implementation**: Implement a singly linked list.\n26. **Doubly Linked List**: Implement a doubly linked list.\n27. **Stack Implementation**: Implement a stack using arrays or linked lists.\n28. **Queue Implementation**: Implement a queue using arrays or linked lists.\n29. **Circular Queue**: Implement a circular queue.\n30. **Binary Search Tree (BST)**: Implement a binary search tree.\n\n### 4. Algorithms\n31. **Bubble Sort**: Implement the bubble sort algorithm.\n32. **Selection Sort**: Implement the selection sort algorithm.\n33. **Insertion Sort**: Implement the insertion sort algorithm.\n34. **Merge Sort**: Implement the merge sort algorithm.\n35. **Quick Sort**: Implement the quick sort algorithm.\n36. **Binary Search**: Implement the binary search algorithm.\n37. **Linear Search**: Implement the linear search algorithm.\n38. **Depth First Search (DFS)**: Implement DFS for graph traversal.\n39. **Breadth First Search (BFS)**: Implement BFS for graph traversal.\n40. **Dijkstra's Algorithm**: Implement Dijkstra's algorithm for the shortest path.\n\n### 5. String Manipulation\n41. **String Reversal**: Reverse a string.\n42. **Count Vowels and Consonants**: Count the number of vowels and consonants in a string.\n43. **Anagram Check**: Check if two strings are anagrams.\n44. **Substring Search**: Find a substring within a string.\n45. **String Palindrome**: Check if a string is a palindrome.\n46. **Remove Duplicates**: Remove duplicate characters from a string.\n47. **Character Frequency**: Find the frequency of each character in a string.\n48. **Longest Substring Without Repeating Characters**: Find the longest substring without repeating characters.\n49. **String Permutations**: Generate all permutations of a string.\n50. **String Compression**: Implement string compression based on character counts.\n\n### 6. Advanced Data Structures\n51. **Heap Implementation**: Implement a min-heap and max-heap.\n52. **Graph Representation**: Represent a graph using an adjacency matrix and list.\n53. **Trie Implementation**: Implement a trie for prefix-based search.\n54. **Hash Map Implementation**: Implement a hash map using open addressing or chaining.\n55. **AVL Tree**: Implement an AVL tree for balanced binary search.\n56. **Red-Black Tree**: Implement a red-black tree.\n57. **Segment Tree**: Implement a segment tree for range queries.\n58. **Fenwick Tree**: Implement a Fenwick tree for range queries.\n59. **Disjoint Set**: Implement a disjoint set (union-find).\n60. **LRU Cache**: Implement an LRU cache using a doubly linked list and hash map.\n\n### 7. System Design\n61. **Design a URL Shortener**: Implement a URL shortening service.\n62. **Design a Library Management System**: Design and implement a library management system.\n63. **Design an Online Marketplace**: Design an online marketplace system.\n64. **Design a Chat Application**: Implement a simple chat application.\n65. **Design a File System**: Design and implement a basic file system.\n66. **Design a Rate Limiter**: Implement a rate limiting system.\n67. **Design a Key-Value Store**: Implement a key-value store.\n68. **Design a Parking Lot System**: Design and implement a parking lot system.\n69. **Design a Voting System**: Implement a voting system.\n70. **Design a Search Autocomplete System**: Implement search autocomplete functionality.\n\n### 8. Databases\n71. **SQL Queries**: Write basic SQL queries to interact with a database.\n72. **CRUD Operations**: Implement Create, Read, Update, Delete operations.\n73. **Database Indexing**: Implement indexing for a database.\n74. **Transaction Management**: Implement transaction management in a database.\n75. **Stored Procedures**: Write and execute stored procedures.\n76. **Database Backup and Restore**: Implement backup and restore functionality.\n77. **Normalization**: Normalize a database to remove redundancy.\n78. **Denormalization**: Denormalize a database for performance.\n79. **Database Sharding**: Implement database sharding for scalability.\n80. **Database Replication**: Implement database replication for fault tolerance.\n\n### 9. Web Development\n81. **Basic HTML Page**: Create a simple HTML page.\n82. **CSS Styling**: Style a webpage using CSS.\n83. **JavaScript Interactivity**: Add interactivity to a webpage using JavaScript.\n84. **Form Handling**: Implement form handling in a web application.\n85. **Session Management**: Implement session management for user authentication.\n86. **REST API**: Design and implement a RESTful API.\n87. **GraphQL API**: Design and implement a GraphQL API.\n88. **Authentication**: Implement user authentication using JWT or OAuth.\n89. **File Upload**: Implement file upload functionality.\n90. **WebSockets**: Implement real-time communication using WebSockets.\n\n### 10. Miscellaneous\n91. **Unit Testing**: Write unit tests for your code using Rust's `cargo test`.\n92. **Integration Testing**: Implement integration tests.\n93. **Code Documentation**: Document your code using Rust's doc comments.\n94. **Version Control**: Use Git for version control.\n95. **Debugging**: Practice debugging techniques using Rust's debugging tools.\n96. **Concurrency**: Implement concurrency using Rust's async/await and threads.\n97. **Memory Management**: Understand and implement Rust's ownership and borrowing system.\n98. **Error Handling**: Implement robust error handling using Rust's `Result` and `Option` types.\n99. **Performance Optimization**: Optimize your code for performance.\n100. **Deploy an Application**: Deploy your Rust application to a cloud service like AWS or Heroku.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchinmayvivek%2Frust-practice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchinmayvivek%2Frust-practice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchinmayvivek%2Frust-practice/lists"}