Skip to content

MJZzzz/algorithm-exercise

 
 

Repository files navigation

Build Status Slack Team

Introduction

This work is some notes of learning and practicing data structures and algorithm.

  1. Part I is some brief introduction of basic data structures and algorithm, such as, linked lists, stack, queues, trees, sorting and etc.
  2. Part II is the analysis and summary of programming problems, and most of the programming problems come from https://leetcode.com/ and http://www.lintcode.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. 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/. RSS feed is under development.

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

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

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/

Multilanguage

How to Contribute

If you find any mistakes or want to update/translate the awesome notes, please follow the contributing guidelines. Any comments or suggestions would be greatly appreciated.

To Do

  • add multiple languages support, currently 繁體中文, 简体中文 are available
  • explore nice writing style
  • add implementations of Python, C++, Java regarding leetcode/lintcode OJ platform
  • add time and space complexity analysis
  • summary of basic data structure and algorithm
  • add CSS for online website http://algorithm.yuanbin.me, yahei plugin works well
  • add proper Chinese fonts for PDF output

简介

本文档为数据结构和算法学习笔记,全文大致分为以下三大部分:

  1. Part I为数据结构和算法基础,介绍一些基础的排序/链表/基础算法
  2. Part II为 OJ 上的编程题目实战,按题目的内容分章节编写,主要来源为 https://leetcode.com/, http://www.lintcode.com/, http://www.geeksforgeeks.org/, http://hihocoder.com/, https://www.topcoder.com/.
  3. Part III 为附录部分,包含如何写简历和其他附加材料如系统设计

本文参考了很多教材和博客,凡参考过的几乎都给出明确链接,如果不小心忘记了,请不要吝惜你的评论和issue :)

你可以在线或者离线查看/搜索本文档,以下方式任选~

订阅更新

本项目托管在 https://github.com/billryan/algorithm-exerciseGitbook 渲染生成 HTML 页面。

你可以在 GitHub 中 star 该项目查看更新,也可以订阅 https://ds-algo.slack.com/messages/github_commit/ 中的 #github_commit channel 在邮件中查看更新细节,RSS 种子功能正在开发中

Slack 的自助邀请注册功能已启用,访问 http://slackin4ds-algo.herokuapp.com 即刻开启~

许可证

本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。传播此文档时请注意遵循以上许可协议。 关于本许可证的更多详情可参考 http://creativecommons.org/licenses/by-sa/4.0/

本着独乐乐不如众乐乐的开源精神,我将自己的算法学习笔记公开和小伙伴们讨论,希望高手们不吝赐教。

多国语言

如何贡献

如果你发现任何有错误的地方或是想更新/翻译本文档,请毫不犹豫地猛击 贡献指南.

捐助

添加这一小节其实是有点诚惶诚恐的,毕竟这本小书目前还很不完善,把捐助信息贴出来不脸红吗?:-( 但既然前些天有网友专门发邮件来问这个事,我就大概说下我目前的想法,先以 @billryan 为例,其他 Contributor 后续补充,捐助者后期会单独整理公布,当然这是在征得捐助人同意的前提下进行的。除了在 GitHub 上协助编写文档外,你还可以以下面几种方式回馈各位贡献者:

邮寄明信片

@billryan 喜欢收集各种明信片,来者不拒~ 邮寄的话可以邮寄至 上海市闵行区上海交通大学闵行校区电院群楼5号楼307,这个地址2016 年3月前有效,收件人:袁斌

送书

除了邮寄明信片,你还可以买本书送给各位贡献者,@billryan 的地址见上节。

支付宝打赏

alipay-billryan

金额随意。

PayPal

账户名:yuanbin2014(at)gmail.com 付款时选择 friends and family

金额随意。

To Do

  • 添加多国语言支持(English, 繁體中文, 简体中文)
  • 探索适合用于后期批处理的书写及排版格式
  • 完善 leetcode/lintcode 部分 C++, Java, Python 三大语言的实现
  • 加入时间/空间复杂度分析
  • Part I 部分数据结构和算法基础知识的总结
  • 完善在线版本 http://algorithm.yuanbin.me 的 CSS, 使用 yahei 插件初步达到目标
  • 完善离线版本如 PDF(适合打印的字型) 的中文支持
  • 完善离线版本如 PDF(适合在电子屏上浏览的字型) 的中文支持

About

Data Structure and Algorithm notes. 数据结构与算法/leetcode/lintcode题解/

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 72.9%
  • Java 21.1%
  • C++ 4.0%
  • Shell 2.0%