This work is some notes of learning and practicing data structures and algorithm.
- Part I is some brief introduction of basic data structures and algorithm, such as, linked lists, stack, queues, trees, sorting and etc.
- 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/.
- 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. RSS feed is under development.
You can view/search this document online or offline, feel free to read it. :)
- Online(Rendered by Gitbook): http://algorithm.yuanbin.me
- Offline(Compiled by Gitbook and Travis-CI):
- Site Search via Google:
keywords site:algorithm.yuanbin.me
- Site Search via Swiftype: Click
Search this site
on the right bottom of webpages
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/
If you find any mistakes or want to update/translate the awesome notes, please follow the contributing guidelines.
- 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
本文档为数据结构和算法学习笔记,全文大致分为以下三大部分:
- Part I为数据结构和算法基础,介绍一些基础的排序/链表/基础算法
- Part II为 OJ 上的编程题目实战,按题目的内容分章节编写,主要来源为 https://leetcode.com/ 和 http://www.lintcode.com/.
- Part III 为附录部分,包含如何写简历和其他附加材料
本文参考了很多教材和博客,凡参考过的几乎都给出明确链接,如果不小心忘记了,请不要吝惜你的评论和issue :)
本项目托管在 https://github.com/billryan/algorithm-exercise 由 Gitbook 渲染生成 HTML 页面。你可以在 GitHub 中 star 该项目查看更新,RSS 种子功能正在开发中。
你可以在线或者离线查看/搜索本文档,以下方式任君选择~
- 在线阅读(由 Gitbook 渲染) http://algorithm.yuanbin.me
- 离线阅读: 推送到GitHub后会触发 travis-ci 的编译,相应的部分编译输出提供七牛的静态文件加速下载。
- EPUB. Gitbook - 适合在 iPhone/iPad/MAC 上离线查看,实测效果极好。
- PDF. Gitbook, 简体中文 - 适合打印版 - 推荐下载七牛的版本,Gitbook 官方使用的中文字体有点问题。
- MOBI. Gitbook - Kindle 专用. 未测试,感觉不适合在 Kindle 上看此类书籍,尽管 Kindle 的屏幕对眼睛很好...
- Google 站内搜索:
keywords site:algorithm.yuanbin.me
- Swiftype 站内搜索: 可使用网页右下方的
Search this site
进行站内搜索
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。传播此文档时请注意遵循以上许可协议。 关于本许可证的更多详情可参考 http://creativecommons.org/licenses/by-sa/4.0/
本着独乐乐不如众乐乐的开源精神,我将自己的算法学习笔记公开和小伙伴们讨论,希望高手们不吝赐教。
如果你发现任何有错误的地方或是想更新/翻译本文档,请毫不犹豫地猛击 贡献指南.
- 添加多国语言支持(English, 繁體中文, 简体中文)
- 探索适合用于后期批处理的书写及排版格式
- 完善 leetcode/lintcode 部分
C++
,Java
,Python
三大语言的实现 - 加入时间/空间复杂度分析
- Part I 部分数据结构和算法基础知识的总结
- 完善在线版本 http://algorithm.yuanbin.me 的 CSS, 使用 yahei 插件初步达到目标
- 完善离线版本如 PDF(适合打印的字型) 的中文支持
- 完善离线版本如 PDF(适合在电子屏上浏览的字型) 的中文支持