# Data Structure and Algorithm/leetcode/lintcode

[![Build Status](https://travis-ci.org/billryan/algorithm-exercise.svg?branch=master)](https://travis-ci.org/billryan/algorithm-exercise)
[![Slack Status](https://slackin4ds-algo.herokuapp.com/badge.svg)](https://slackin4ds-algo.herokuapp.com/)
[![Chat on Slack](https://img.shields.io/badge/chat-on_slack-orange.svg)](https://ds-algo.slack.com/)

This book is some notes on learning data structure and algorithm. It was written in Simplified Chinese but other languages such as English and Traditional Chinese are work in progress.

- [English](https://algorithm.yuanbin.me/en/), seldom updated
- [简体中文](https://algorithm.yuanbin.me/zh-hans/), frequently updated
- [繁體中文](https://algorithm.yuanbin.me/zh-tw/), seldom updated

## Introduction

1. Part I is some brief introduction of basic data structures and algorithm, such as linked lists, stack, queues, trees, sorting.
2. Part II is the analysis and summary of programming problems, and most of the programming problems come from <https://leetcode.com/>, <http://www.lintcode.com/>, <http://www.geeksforgeeks.org/>, <http://hihocoder.com/>, <https://www.topcoder.com/>.
3. Part III is the appendix of resume and other supplements.

This project is hosted on <https://github.com/billryan/algorithm-exercise> and rendered by [GitBook](https://www.gitbook.com/book/yuanbin/algorithm/details). You can star the repository on the GitHub to keep track of updates. Another choice is to subscribe channel `#github_commit` via Slack <https://ds-algo.slack.com/messages/github_commit/>.

Feel free to access <http://slackin4ds-algo.herokuapp.com> with Slack invite automation.

You can view/search this document online or offline, feel free to read it. :)

- Online(Rendered by GitBook): <https://algorithm.yuanbin.me>
    - Site Search via Google: `keywords site:algorithm.yuanbin.me`
    - Site Search via Algolia: Click `Type to search` on the top left corner of webpages
- Offline(Compiled by GitBook on Travis-CI): ePub, PDF, MOBI

## License

This work is licensed under the **Creative Commons Attribution-ShareAlike 4.0 International License**. To view a copy of this license, please visit <http://creativecommons.org/licenses/by-sa/4.0/>

## To Do

- [ ] add multiple languages support
- [ ] add implementations of `Python`, `C++` and `Java` code
- [x] add time and space complexity analysis
- [x] add proper Chinese fonts for PDF output
