-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add more algorithms in Rust Language #3
Comments
@r0hit-gupta I'm still getting my feet wet with Rust, but I wouldn't mind taking a stab at insertion & selection sort along with some tests for them. |
@r0hit-gupta I am also looking for a first time contribution! Mind if I take on some of the data structures? |
@r0hit-gupta I'll take a crack at the KMP string pattern matching 👍 |
@0xazure - sorry, I didn't read your comment until now. I just added a PR with insertion sort. |
@bofh69 thanks for letting me know! I hadn't actually started implementing it yet, so I'll focus on the selection sort. I'm definitely interested in how you did it in Rust, so I'll have a look at your PR! |
@0xazure Great! I felt a bit stupid not checking the comments here first... |
I'm actually working on Merge Sort |
I think there is already a PR for Merge Sort @eisterman |
I'd like to work on implementing Queue, if no one has claimed it. |
Go ahead @Jay9596 :) |
I'd like to try my hands on heap sort. |
I'll take a shot at making a Stack |
I'm up for k-means, but i'm not aware of a dynamic programming algorithm for data with more than one dimension. I can implement the more general iterative algorithm if you like. |
I am interested in caesar cipher. |
Give it a try @BaxterEaves and @pickfire 👍 |
@AnshulMalik I have added the caesar cipher #55 |
I think we can implement some items on this list: Math
Graph and Trees
Searching
Strings
I'm sure I'm missing many algorithms. |
Hi, all! I'd like to work on ternary search algorithm, if no one else is working on it. |
Awesome! I added your name to the list. |
Hey y'all, I'm looking to make my first contribution. I would like to work on the matrix operations. Should that be separated into different PRs for addition, subtraction and multiplication? |
@b42thomas depending on how complex they are. If you're implementing naive approaches, they can be merged together, if some complex algorithms, better to do them separately |
@siriak I have a question: I know we are supposed to create generic algorithms, but adding a |
@er888kh, I think we can have both versions. Depending on the task at hand, both can be useful. |
That's certainly an option, but it would create a lot of duplication (or at least generics boiler plate) Another solution is to have a seperate implementation that enumerates graphs represented using BTreeMap to a convenient representation. Then anyone can use that instead. As an added bonus, this solution wouldn't change the time complexity, as iterating over a BTree can be done in O(n). I will implement the option you choose (my code wouldn't be ready for at least a few days though, I'm too busy) |
Agree, let's implement for the |
While my PR for ternary search is still in review, I'd like to work on Ternary Search Tree. I don't see this data structure in the project. |
@LeonAmtmann and me want to implement a couple of algorithms requested here. Right now we are working on these 3:
All of these should be generic. |
Now that I have added (#309), it should be really easy to implement 2-SAT problem's solution. |
@siriak, what is your opinion about moving towards creating a general purpose crate for crates.io? We already have the "basic infrastructure" and people can really benefit from these implementations. |
In general, I like the idea, but let's discuss it in more detail on our Discord server https://discord.gg/adJacSyV |
I have an idea for implementing big number support: First, One can implement a really basic base 10 big number module. It only supports addition and multiplication by 2. It can be formatted as a string and can be created from a string. After that, a big number module can be implemented that is basically just a BitSet with usual operations (addition, multiplication, division, ...). Converting to and from strings can then be handled using the base 10 implementation. Right now I am just way too busy, and I will not have time to implement these, plus the second one will have a ton of boring boilerplate. Can someone implement (or even just partially implement) any of the above modules? Also, there might be simpler approaches to this problem, so other suggestions are welcome. |
I've implemented it before. https://github.com/TheAlgorithms/Rust/commits/master/src/string/run_length_encoding.rs |
This issue has been automatically marked as abandoned because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Please ping one of the maintainers once you add more information and updates here. If this is not the case and you need some help, feel free to ask for help in our Gitter channel. Thank you for your contributions! |
This issue is fairly easy and most beginners should be comfortable implementing algorithms of their choice in Rust. In case of any problem, raise an issue or just discuss it below.
Graphs
Dynamic Programming
Data Structures
General
Project Euler, LeetCode, etc.
The text was updated successfully, but these errors were encountered: