Need help with Iridescent?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

wolverinn
156 Stars 44 Forks GNU General Public License v3.0 62 Commits 1 Opened issues

Description

Solid data structure and algorithms

Services available

!
?

Need anything else?

Contributors list

Iridescent

Solid data structure and algorithms in Python

目前进度:数据结构部分已完成,算法部分即将开始完善链表和二叉树相关算法。Star this repo and come back later :)

Data Structure

数据结构我跟的主要知识体系是浙江大学的MOOC《数据结构》,以及这个GitHub仓库中的数据结构部分

数据结构分析

每种数据结构都用Python实现了常用操作,并分析了时间复杂度(其实通过代码也能分析出来),部分复杂的数据结构(红黑树/B树/堆/哈希表...)有我自己学习过程中的一些理解。完整代码在下面的

ipynb
文件中。
  • 数组
  • 链表
  • 堆栈
  • 队列
    • 循环队列
  • 二叉树
    • 二叉树的遍历
  • 二叉搜索树
  • 平衡查找树
    • AVL 树
    • 红黑树
    • B树、B+树
  • 字典树
  • 并查集
  • 哈希表

数据结构完整代码实现,含测试用例和注释

(建议在本地查看

.ipynb
文件,方便运行和页内跳转)

建议自己亲自实现一遍数据结构的所有操作,然后用我写的测试用例运行一下。自己写一遍能够掌握得更牢固。写的时候最好先看原理,理解每种操作怎么实现再自己写,我的代码仅仅作为参考,需要思路的时候再看我的代码,最好不要先看。

Algorithm

算法我跟的主要知识体系是 Robert Sedgewick 的《算法-第四版》,以及Coursera上面配套的Princeton的网课。部分知识点已经在数据结构当中用代码实现过了,所以就进行了省略。

大部分算法我都用了 Python 和 Golang 两种语言去实现,这样做不仅是熟悉语言的一种方式,也可以让你对算法对掌握更加牢固,同时如果有些地方不太看得懂,可以试试看另一种语言对实现,说不定能够获得更清晰的思路

算法分析

  • 算法复杂度分析
  • 排序算法
    • 冒泡排序
    • 选择排序
    • 插入排序
    • 希尔排序
    • 归并排序
    • 快速排序
    • 堆排序
  • 查找
    • 二分查找
    • 二叉搜索树
    • 红黑树
    • 散列表
  • 链表相关算法
  • 二叉树相关算法
  • 图相关算法
  • 字符串相关算法

算法代码

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.