https://github.com/wolverinn/iridescent
Solid data structure and algorithms
https://github.com/wolverinn/iridescent
Last synced: 9 months ago
JSON representation
Solid data structure and algorithms
- Host: GitHub
- URL: https://github.com/wolverinn/iridescent
- Owner: wolverinn
- License: gpl-3.0
- Created: 2019-12-10T01:40:26.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2022-09-13T00:11:12.000Z (over 3 years ago)
- Last Synced: 2025-03-30T02:09:40.979Z (10 months ago)
- Language: Jupyter Notebook
- Size: 2.82 MB
- Stars: 372
- Watchers: 11
- Forks: 64
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Iridescent
Solid data structure and algorithms in Python
目前进度:数据结构部分已完成,算法部分即将开始完善链表和二叉树相关算法。Star this repo and come back later :)
(2022-06更新:终于更新了算法练习的部分)
## Data Structure
数据结构我跟的主要知识体系是浙江大学的MOOC《[数据结构](https://www.icourse163.org/course/ZJU-93001)》,以及[这个GitHub仓库](https://github.com/jwasham/coding-interview-university/blob/master/translations/README-cn.md)中的数据结构部分
#### [数据结构分析](Data%20Structure.md)
每种数据结构都用Python实现了常用操作,并分析了时间复杂度(其实通过代码也能分析出来),部分复杂的数据结构(红黑树/B树/堆/哈希表...)有我自己学习过程中的一些理解。完整代码在下面的```ipynb```文件中。
- 数组
- 链表
- 堆栈
- 队列
- 循环队列
- 二叉树
- 二叉树的遍历
- 二叉搜索树
- 平衡查找树
- AVL 树
- 红黑树
- B树、B+树
- 堆
- 字典树
- 并查集
- 哈希表
#### [数据结构完整代码实现,含测试用例和注释](Data%20Structure%20code%20complete.ipynb)
(建议在本地查看```.ipynb```文件,方便运行和页内跳转)
建议自己亲自实现一遍数据结构的所有操作,然后用我写的测试用例运行一下。自己写一遍能够掌握得更牢固。写的时候最好先看原理,理解每种操作怎么实现再自己写,我的代码仅仅作为参考,需要思路的时候再看我的代码,最好不要先看。
## Algorithm
算法我跟的主要知识体系是 Robert Sedgewick 的《算法-第四版》,以及Coursera上面配套的Princeton的网课。部分知识点已经在数据结构当中用代码实现过了,所以就进行了省略。
大部分算法我都用了 Python 和 Golang 两种语言去实现,这样做不仅是熟悉语言的一种方式,也可以让你对算法对掌握更加牢固,同时如果有些地方不太看得懂,可以试试看另一种语言对实现,说不定能够获得更清晰的思路
#### [算法分析](Algorithms.md)
* 算法复杂度分析
* 排序算法
* 冒泡排序
* 选择排序
* 插入排序
* 希尔排序
* 归并排序
* 快速排序
* 堆排序
* 查找
* 二分查找
* 二叉搜索树
* 红黑树
* 散列表
* 链表相关算法
* 二叉树相关算法
* 图相关算法
* 字符串相关算法
#### [算法练习](Algorithm%20practice.ipynb)
(建议在本地查看```.ipynb```文件,方便运行和页内跳转)
主要是为了方便算法的练习,一些测试代码用的数据结构已经在文件里构造好了。并且只练习最高频最经典的一些算法,方便快速找到手感。