TheAlgorithms / Algorithms-Explanation

Popular algorithms explained in simple language with examples and links to their implementation in various programming languages and other required resources.
MIT License
2.97k stars 738 forks source link

[FEATURE] Promotion of repository #230

Closed SpiderMath closed 4 months ago

SpiderMath commented 6 months ago

Detailed description

Due having a ton of entries, it seems like a lot of the entries have no explanation accompanying them, leaving them vague and confusing to say the least! So now obviously, it's not easy to write documentation for the same, with people being more interested in writing code (which is understandable). But I was suggesting if we could maybe promote this repository (not in a bad sense) to the people who are contributing to other repositories of this organisation to maybe also spend some time helping out on this portion of the organisation to revive the explanations to make the site actually helpful, instead of being a place to just get code of algorithms from, kinda.

Context

Context provided in description

Possible implementation

The way we could promote or so on the top of my mind are:

Additional information

Please note that these aren't all possible ways to promote the repo, so you (the person reading this) should also probably try to come up with some other ways. Some possible issues with the promotion of repository:

These are atleast some of the things we'll need to consider while trying to promote this repo, along with some other things which didn't cross my mind while typing this issue out. I'd like to have a proper discussion for this here. But regardless, we definitely are in dire need of more documentation for the site.

appgurueu commented 6 months ago

Some thoughts:

SpiderMath commented 6 months ago

Some thoughts:

  • We need more maintainers for this. Last Hacktoberfest I did not have enough time to address everything properly in the JS/TS repos. I will probably have even less time this year.

I guess we should probably keep this away from Hacktoberfest in that case? Since we have such an acute shortage of maintainers in the organisation.

  • For many algorithms and data structures, there are already relatively good resources that could be linked to - Wikipedia articles, various other websites that explain algorithms decently, textbooks, maybe even papers. (We should perhaps consider using archive.org to pin certain versions of websites that are likely to change.)

Are you suggesting like adding links to explanations on other websites instead of adding like our own ones? That actually sounds like a good way to reduce a bit of the load from adding documentation in that case. Just one thing, I think we'll probably need to make some changes in website layout to accommodate this setup.

  • A good explanation is more than an explanation of how a particular implementation works. Ideally, there would be a proper proof and runtime analysis. I recommend first thoroughly understanding algorithms, then writing explanations from that understanding.

I think we should add that in our CONTRIBUTING.md? That way more people shall know they're do to the same.

  • I agree that everything is fairly disorganized. This leads to problems, esp. with how we display stuff. For example the quick sort explanation claims a space complexity of O(log n). This is not the case for all our quicksort implementations (for example it isn't the case for the Python explanation). Pretending that algorithms do the same thing just because they have the same name is naive.

Is it possible for us to maybe get all of the maintainers together to iron out such issues? Or maybe change the user interface on the website to show algorithms with various time complexities for each language? Both of these would be helpful to deal with the inconsistency issue.

  • Promoting this repo might make sense. I don't know what the best way to go about this would be, esp. if we want to attract experienced contributors which are also good at explaining. I'm also wary of Hacktoberfest.

Maybe we can prompt people to do this on the website directly? We could also ask people to do so in the READMEs of repositories with most activity (prolly JS/TS/Python repos) and we could maybe remove those for the duration of Hacktoberfest. I'm not sure most people contributing to other repositories know about the existence of this repository, since there's quite a few repos under this organisation (for example, I just came to know a few days back that there's a MATLAB-Octave repo 🤨). If its existence is shared more, this repo will get more attention and that may lead to more contributions (hopefully)

github-actions[bot] commented 5 months ago

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.

github-actions[bot] commented 4 months ago

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!