atiq-cs / ProblemSolving

Problem solving from a few online judges such as codeforces, uva, spoj and coding practices from leetcode, hackerrank

Home Page:https://note.iqubit.xyz

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Documentation on Source Files

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.

Searching on the Repository

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,

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,

Tag Related Tips and Tricks,

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

Problem Solving Repository Structure

Basics

Contains some basic idea and implementation. For example,

  • swap and overflow limit tests
  • Sorting algorithms

Algorithms

Related with implementation of algorithms.

Data Structure

Reference: geeksforgeeks, wikipedia etc. Related tag: ds-core

Binary Tree

There are comparative large number of binary tree problems and their applications. We gather together all binary tree related problems here.

general-solving

leet-code, hackerrank, www.geeksforgeeks.org, lintcode etc

online-problem-solving

Following online judges are being covered,

coding-template

Currently, PSTool Powershell script is used to create templates for judges i.e., leetcode, codeforces.

Problem Solving C++ Templates

For more info on coding templates please visit our template wiki

Note

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.

About

Problem solving from a few online judges such as codeforces, uva, spoj and coding practices from leetcode, hackerrank

https://note.iqubit.xyz

License:GNU General Public License v3.0


Languages

Language:C# 64.0%Language:C++ 23.7%Language:C 8.0%Language:Java 3.6%Language:Python 0.5%Language:Smalltalk 0.2%