前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用 Python 学习数据结构, 有它就不用愁

用 Python 学习数据结构, 有它就不用愁

作者头像
猴哥yuri
发布2018-08-16 15:43:08
3470
发布2018-08-16 15:43:08
举报
文章被收录于专栏:极客猴极客猴

数据结构,我们对它已经是耳熟能详。对于计算机相关专业的大学生来说,它是一门专业必修课。从事软件开发的人员则把它作为谋生必备技能。这充分体现数据结构的重要性。因此,我们对数据结构是不得不学。

虽然数据结构的实现不限制语言,但市面上很多教程书籍都是以 C 语言作为编程语言进行讲解。如果你喜欢且在学习 Python,可能会陷入苦于这样的烦恼中。那就是没有 Python 版本的数据结构实现代码。莫慌!我给大家推荐一个第三方库,它能让你这种烦恼立刻云消雾散。

它就是

Pygorithm

地址:https://github.com/OmkarPathak/pygorithm

Pygorithm 是由一个热心肠的印度小哥编写的开源项目。他编写创建该库的初衷是处于教学目的。我们不仅可以阅读源码的方式学习数据结构,而且可以把它当做现成工具来使用。

安装

安装 python 库,我推荐使用 pip 方式,方便又省事。

支持的类型

Pygorithm 实现的数据结构类型有以下这几种,括号中表示包名。

    • 栈 (data_structures.stack.Stack)
    • 中缀表达式转换为后缀表达式 (data_structures.stack.InfixToPostfix)
  • 队列
    • 队列 (data_structures.queue.Queue)
    • 双端队列 (data_structures.queue.Deque)
  • 链表
    • 单向链表 (data_structures.linked_list.SinglyLinkedList)
    • 双向链表 (data_structures.linked_list.DoublyLinkedList)
    • 二叉树 (data_structures.tree.BinaryTree)
    • 搜索二叉树 (data_structures.tree.BinarySearchTree)
    • 图 (data_structures.graph.Graph)
    • 拓扑排序 (data_structures.graph.TopologicalSort)
    • 有向图 (data_structures.graph.CheckCycleDirectedGraph)
    • 无向图 (data_structures.graph.CheckCycleUndirectedGraph)
    • 堆 (data_structures.heap.Heap)
  • 字典树
    • 字典树 (data_structures.trie.Trie)
常见算法

你也许没有想到吧。Pygorithm 中也实现一些常见的路径搜索、查找、排序等算法。

常见的路径搜索算法:

  • Dijkstra(迪杰斯特拉)
  • Unidirectional AStar(单向 A*算法)
  • BiDirectional AStar(双向 A*算法)

常见的查找算法:

  • Linear Search (线性查找)
  • Binary Search (二分法查找)
  • Breadth First Search (广度优先搜索)
  • Depth First Search (深度优先搜索)

常见的排序算法:

  • bubble_sort(冒泡算法)
  • bucket_sort(桶排序)
  • counting_sort (计数排序)
  • heap_sort(堆排序)
  • insertion_sort(插入排序)
  • merge_sort(归并排序)
  • quick_sort (快速排序)
  • selection_sort(选择排序)
  • shell_sort(希尔排序)

上文:爬虫实战二:爬取电影天堂的最新电影

作者:猴哥,公众号:极客猴。爱好读书,喜欢钻研技术,梦想成为文艺青年的IT Boy。

- END -

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-08-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 极客猴 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装
  • 支持的类型
  • 常见算法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档