数据结构与算法(python)
文章平均质量分 68
本栏主要参考书是《数据结构与算法》python语言实现,将自己学习的内容进行整理并附上自己的理解,有不对的地方希望大佬批评指正!
輝丶
努力活成自己喜欢的样子。
展开
-
用链表实现栈、队列,循环链表、双向链表和带有位置信息的链表
1.用单向链表实现栈为了表示列表中的单个节点,我们创建了一个轻量级_Node类,一个节点只有两个实例变量:element和_next(元素引用和指向下一个节点的引用),为了提高内存的利用率,我们专门定义了__slot_,关于栈的详细介绍可以参考这篇博客:栈、队列和双端队列(Python)代码如下:def Empty(Exception): """ Error attention to access an element form an empty container. :par原创 2021-12-02 17:21:55 · 788 阅读 · 0 评论 -
栈、队列和双端队列(Python)
一、栈栈是由一系列对象组合成的一个集合,这些对象的插入和删除操作遵循后进先出(LIFO)的原则。用户可以在任何时刻向栈中插入一个对象,但只能取得或者删除最后一个插入的对象(即所谓的栈顶)。图片来源:https://www.cnblogs.com/silence-cho/p/10029562.htmlclass ArrayStack(): """ LIFO Stack implenmentation a Python list as underlying storage ""原创 2021-11-11 10:21:36 · 887 阅读 · 0 评论 -
递归算法(python)
递归算法通过一个函数在执行过程中一次或者多次调用其本身实现,或通过一种数据结构在其表示中依赖于相同类型的结构更小的实例,递归主要分为三类:**线性递归**、**二路递归**和 **多重递归**。一、线性递归如果一个递归函数被设计成所述主体的每个调用至多执行一个新的递归调用,这被称为*线性递归*。阶乘函数:def factorial(n): """ calculate the factorial of n :param n: unsigned int :retur原创 2021-11-07 14:15:29 · 1890 阅读 · 0 评论