yjjnls / D.S.A-Leet

References and summary for leetcode high-frequency algorithm problems

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Data Structure and Algorithms Based on LeetCode

Build Status codecov Codacy Badge MIT License
stability-experimental processing PRs Welcome GitHub pull request check state

platform GitHub language count GitHub top language
GitHub contributors GitHub commit activity the past week, 4 weeks, year GitHub last commit

Badges

Solutions and practices for data structure and algorithms (DSA), refering to the high frequency questions in LeetCode.

All the solutions are located in the \src dir. It only supports C++/C++11 now.

The solution for every question has run pass the tests online and explains the detailed methods with its complexity in the \doc and every source code in \src.

Built With

This project is built with following tools:

  • C++ version: C++11
  • Build system: CMake
  • C++ compiler: g++
  • Libraries: STL only
  • Code coverage: lcov (note: it should show the code coverage is below 100%)
  • CodeCov (code coverage is measured by CodeCov).
  • Source & Tests: \src

Prerequisites

To build the project you need to install CMake. Here are the instructions. To create code coverage report you need to install lcov. Download lcov from here you can download latest lcov and here are instructions. This reports will be later uploaded to CodeCov servers.

Knowledge summary

The basic knowledge of various data structures and algorithms, along with their applications in LeetCode problems are summarized in \doc.Detailed contents are shown below:

  1. Basic operations for basic data structures.
    • array, single linked list
    • stack, queue
    • priority queue
    • skip list
    • hash
  2. Operations for tree.
    • Binary search tree (BST).
    • Heap
    • Advanced BST
      • RB tree
      • AVL tree
      • Splay tree
      • B-/B+/B* tree
  3. Operations for Graph.
  4. Dynamic programing.
  5. Other algorithms.

Authors

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

References and summary for leetcode high-frequency algorithm problems

License:MIT License


Languages

Language:C++ 95.5%Language:CMake 4.3%Language:Shell 0.2%