A strange game. The only winning move is not to play.
This repository contains the pseudo-code of various algorithms and data structures necessary for Interview Preparation and Competitive Coding. The pseudocodes are written such that they can be easily adapted to any language. Let us remove the clutter of language and focus on the core concepts of the question!
Read this section carefully if you are planning on contributing to this repository.
The What
In the Pseudocode
folder, you can find a lot of algorithms. If you've come across any interesting algorithms that changed the way you think about any topic, please consider contributing it to this repo.
There are a lot of pseudocodes with no explanation. If you want to write a detailed explanation on the workings and intuition of these algorithms, please raise an issue and start working on it after it is approved). I would prefer if the explanation is in pdf
format. However, markdown format is equally acceptable.
If you are familiar with tikz
, pgf
or beamer
, consider making some animations/graphs/diagrams/plots to explain the various algorithms.
If you want to contribute anything other than pseudocodes, feel free to explore the repository and pick up a code and explain its logic and working (either in pdf
or Markdown
format). If you don't see your desired code, feel free to add it. However, remember that this repository is not a code dump and you should only add new codes if you have written a good post explaining the intricacies of the algorithm.
The Why
You'll understand the algorithm in depth once you start working on its pseudocode because now you need to explain your code to people who code in a variety of languages.
Your work might help other people preparing for interviews/competitive programming get acquainted with the core concepts of the algorithms rather than being confused by the clutter of the programming language.
Lastly, you'll get to learn Latex which is a great experience in itself.
The How
If this is your first time contributing to a public repository, please refer to this link. For more clarity, you can refer to this link
If you are not familiar with TEX or TypeSetting in general, please refer to this link. You don't need to install anything to contribute to this repository. Just make sure that you have an Overleaf account and you are good to go.
Create an issue if you've decided to work on an algorithm and get it approved before the coding phase. Please do not start working on the issue before commenting on that particular thread.
Make sure to follow the coding standards. Put the source code in a file called SourceCode.tex
. (Notice the Capitalisation).
If you want to code a different implementation than what is already present (for example, iterative instead of recursive, constant space instead of linear space, etc), please create a new sub-folder inside the root directory.
Don't include a lot of comments in the pseudocode (it just means that the code is not self-expressive). However, if the algorithm is highly non-trivial and you would like to include some explanation, please do so before or after the pseudocode. Refer to this link for example.
Do not create a ReadMe file inside the newly created folder. If you want to submit the code with which you tested your pseudocode, you can add it in the Validation Codes folder following the same heirarchy.
If you borrow the code from any online/offline source, please remember to cite it.
Finally, please do not include a pdf
file of the final source code (This is to avoid untracked binary in the repo's history). The pdf files would be generated after everything has been finalized.
Make a pull request. Sit back and relax while your pull request gets merged.
Stuck?
我需要帮助解决以下问题。有一个搜索树(二进制搜索树),我需要找到一个特定的元素,以便搜索搜索树。但这只需要在伪代码中显示(因此不需要实际的搜索树,因此仅举个例子,根为75,需要搜索的元素为24)。 例如,步骤1:打印根目录,2:打印树....(直到找到正确的元素)。 到目前为止,我已经这样做了: 1) def findval (node,lookForElement):< br > 2)while
我很难找到解决汇率问题的好办法。我花了一整天的时间来思考这个问题,并为所有情况提供了优雅而快速的解决方案。 声明: 我们有一些汇率,比如。。。 欧元兑美元- 这个利率不是真实的,可能每天变化一次。利率的数量可能和世界上的货币一样大(大约150种)。 我们被要求将一笔钱从任何一种货币兑换成另一种货币,我们应该根据汇率给出答案(如果可以的话)。 最好的情况是,如果你的汇率是直接的(出现在清单上),在最