Example documentation of top of each source file looks like,
/***************************************************************************************************
* Title : Title or Name of the problem
* URL : Usually a problem number, for UVA it can just be a number
* Occasn: Occasion Contest or an event
* Date : Date the problem got accepted by judge
* Comp : Complexity, example, O(n), O(1) first one stands for time complexity and second one
* stands space complexity
* Status: Judge status by an online judge system i.e., Accepted, Wrong Answer, PresentationError
* Notes : Explanation, algorithm details
* ref : reference books/articles/links
* Ack : one or more persons who are acknowledged
* meta : tags of the problem prefixed with "tag-" i.e., tag-algo-dp, tag-two-pointers
***************************************************************************************************/
More Info
- meta which stands for meta-data, specifies what type of problem is it, categorizes the problem. For
example,
tag-algo-dp
stands for dynamic programming algorithmic problem.tag-ds-bst
would mean data structure: binary search tree problem.
To implement searching based on tags we added meta to each of the source file. During search have to
append tag-
as prefix of the tag string. For example, to search on problems on linked-list: we
navigate to this repo url and enter following in the
search box: tag-ds-linked-list
Additionally, here are currently supported tags/classifications based on algorithm and data structure,
- Bit Manipulation
- Dynamic Programming
- Graph
- LCS
- LIS
- Linked List
- Priority Queue
- Recursion
- Sorting
- String
- Tree
Binary Tree, Heap and related tags are,
Graph algorithm tags,
Permutation, combination related problems,
Company based domains,
Contest based tags,
Miscellaneous tags
Language Feature based,
Some notes,
- binary tree has tag-binary-tree and Binary Search Trees have
tag-ds-BST
- Other tree problem has
tag-graph-tree
- judges don't need te be tagged they are categorized by container directory names
Contains some basic idea and implementation. For example,
- swap and overflow limit tests
- Sorting algorithms
Related with implementation of algorithms.
- Primary reference: Introduction to Algorithms - C.L.R.S, 3rd Ed.
- Related tag: algo-core
Reference: geeksforgeeks, wikipedia etc. Related tag: ds-core
There are comparative large number of binary tree problems and their applications. We gather together all binary tree related problems here.
leet-code, hackerrank, www.geeksforgeeks.org, lintcode etc
Following online judges are being covered,
- Codeforces
- Sphere Online Judge
- Timus Online Judge
- Saratov State University
- UVA Online Judge
- topcoder
- Tianjin Univ Online Judge System
Currently, PSTool Powershell script is used to create templates for judges i.e., leetcode, codeforces.
For more info on coding templates please visit our template wiki
Please do not abuse code from this repository. The Code provided in this repository is for educational purpose. Sharing of ideas will enable hone our coding and programing language specific skills and grow our knowledge on algorithm related domains.