数据结构与算法
文章平均质量分 50
数据结构域算法
长行
这个作者很懒,什么都没留下…
展开
-
LeetCode专项刷题顺序:链表
我通过对LeetCode中链表部分的免费题目进行归类、整理,归纳出如下刷题顺序,希望对大家有所帮助。在刷题顺序的整理中,我主要遵循了如下规则:在题目分组方面,除综合题外,每组题目的技巧、方法均相似,方便统一学习;在各组题目的顺序方面,总体来说为由易到难,后一组题目比前一组略难一些,方便大家循序渐进;在每组题目的顺序方面,均为由易到难(难度为我依据自己的理解,对LeetCode给出的难度进行微调的结果),方便大家循序渐进。LeetCode链表部分刷题顺序第1组:设计链表707:【中等】设计原创 2020-07-27 12:04:09 · 512 阅读 · 0 评论 -
LeetCode专项刷题顺序:栈
我通过对LeetCode中“栈”部分的免费题目进行归类、整理,归纳出如下推荐的刷题顺序。在刷题顺序的整理中,我主要遵循了如下规则:在题目分组方面,除综合题外,每组题目的技巧、方法均相似,方便统一学习;在各组题目的顺序方面,总体来说为由易到难,后一组题目比前一组略难一些,方便大家循序渐进;在每组题目的顺序方面,均为由易到难(难度为我依据自己的理解,对LeetCode给出的难度进行微调的结果),方便大家循序渐进。LeetCode栈部分刷题顺序第1组:栈的设计0155:【简单】设计能够在常数时间原创 2020-08-07 12:24:31 · 388 阅读 · 0 评论 -
LeetCode专项刷题顺序:队列
我通过对LeetCode中“队列”部分的免费题目进行归类、整理,归纳出如下推荐的刷题顺序。在刷题顺序的整理中,我主要遵循了如下规则:在题目分组方面,除综合题外,每组题目的技巧、方法均相似,方便统一学习;在各组题目的顺序方面,总体来说为由易到难,后一组题目比前一组略难一些,方便大家循序渐进;在每组题目的顺序方面,均为由易到难(难度为我依据自己的理解,对LeetCode给出的难度进行微调的结果),方便大家循序渐进。LeetCode队列部分刷题顺序第1组:队列的设计0622:【中等】设计循环队列原创 2020-08-11 14:38:50 · 321 阅读 · 0 评论 -
《大话数据结构》配套源码:串(Python版)
该书随书源码的语言为C;我参考书中内容和配套源码,写了一套Python格式的配套源码。这套配套源码并非直接翻译C语言的配套源码,而是结合我的理解略作了修改。串的抽象数据类型def str_assign(chars: List[str]): """生成一个其值等于字符串常量chars的串""" return "".join(chars)def str_copy(s: str): """由串s复制得串t""" return copy.deepcopy(s)de.原创 2020-08-01 19:41:23 · 809 阅读 · 0 评论 -
《大话数据结构》配套源码:队列(Python版)
该书随书源码的语言为C;我参考书中内容和配套源码,写了一套Python格式的配套源码。这套配套源码并非直接翻译C语言的配套源码,而是结合我的理解略作了修改。 【Github项目地址】作者:长行时间:2020.07.12Queue 队列的结构定义class Queue: """队列的结构定义""" def __init__(self): """初始化一个空队列""" pass def __len__(self): """返.原创 2020-07-12 11:02:38 · 339 阅读 · 0 评论 -
《大话数据结构》配套源码:栈(Python版)
该书随书源码的语言为C;我参考书中内容和配套源码,写了一套Python格式的配套源码。这套配套源码并非直接翻译C语言的配套源码,而是结合我的理解略作了修改。 【Github项目地址】作者:长行时间:2020.07.12Stack 栈的结构定义class Stack: """栈的结构定义""" def __init__(self): """初始化一个空栈""" pass def __len__(self): """返回栈内.原创 2020-07-12 10:10:23 · 374 阅读 · 0 评论 -
《大话数据结构》配套源码:链表(Python版)
该书随书源码的语言为C;我参考书中内容和配套源码,写了一套Python格式的配套源码。这套配套源码并非直接翻译C语言的配套源码,而是结合我的理解略作了修改。 【Github项目地址】作者:长行时间:2020.07.12LinkedList 链表 (第3章 - 第2部分)SinglyLinkedNode 单链表结点class SinglyLinkedNode: """单链表结点""" __slots__ = "value", "next" # 使用__slots__减少内存占.原创 2020-07-12 09:19:22 · 505 阅读 · 0 评论 -
数据结构与算法|链表(2)——链表的基本操作(Python)
单链表的基本操作(包含头结点的单链表)# 单链表结点类class ListNode: def __init__(self, val): self.val = val self.next = None def __str__(self): return str(self.val) + "->" + str(self.next)单链表的读取(给定读取坐标):读取第index个结点的值。(时间复杂度:O(n))# 单链表的读原创 2020-07-07 12:40:27 · 956 阅读 · 0 评论 -
数据结构与算法|链表(7)——关联双向链表的基本类(使用双侧哨兵节点,Python)
class DoublyLinkedBase: """管理双向链表的基本类(使用双侧哨兵结点)""" class _Node: __slots__ = "value", "prev", "next" # 因为会创建很多个结点对象,因此使用__slots__来减少内存占用 def __init__(self, value, prev=None, next=None): self.value = value s原创 2020-07-07 12:02:06 · 381 阅读 · 0 评论 -
数据结构与算法|链表(6)——关联单向链表的基本类(包含头结点,Python)
class SinglyLinkedList: """管理单向链表的基本类(使用头结点)""" class _Node: __slots__ = "value", "next" # 因为会创建很多个结点对象,因此使用__slots__来减少内存占用 def __init__(self, value, next=None): self.value = value self.next = next原创 2020-07-07 11:43:12 · 1013 阅读 · 0 评论 -
数据结构与算法|链表(5)——用循环链表实现队列(Python)
用循环链表实现队列队首位于单链表的头结点处,队尾位于单链表的尾结点处,尾结点的指针域指向头结点;维护尾指针和链表长度;当加入元素时,依据尾指针在尾结点后添加新元素,取出元素时候依据尾指针,取出尾结点指向的头结点元素并删除头结点。class CircularQueue: """用循环链表实现队列""" class _Node: """""" __slots__ = "value", "next" # 因为会创建很多个结点对象,因此使用__slots__来原创 2020-07-07 10:35:34 · 1047 阅读 · 0 评论 -
数据结构与算法|链表(4)——用单链表实现队列(Python)
用单链表实现队列队首位于单链表的头结点处,队尾位于单链表的尾结点处,维护头指针、尾指针和链表长度;加入元素时依据尾指针添加到尾结点后,取出元素时候依据头指针取出元素并删除头结点。class LinkedQueue: """单链表实现的队列""" class _Node: """""" __slots__ = "value", "next" # 因为会创建很多个结点对象,因此使用__slots__来减少内存占用 def __init__原创 2020-07-07 10:23:54 · 850 阅读 · 0 评论 -
数据结构与算法|链表(3)——用单链表实现栈(Python)
用单链表实现栈栈顶位于单链表的头结点处,维护头指针和链表长度;每次压入元素则在头结点前插入新结点,取出元素则删除头结点。class LinkedStack: """单链表实现的栈""" class _Node: """""" __slots__ = "value", "next" # 因为会创建很多个结点对象,因此使用__slots__来减少内存占用 def __init__(self, value, next):原创 2020-07-07 10:23:00 · 709 阅读 · 0 评论 -
数据结构与算法|链表(1)——知识回顾
知识回顾与数组相似,链表是一种线性数据结构。链表中的每个元素都是一个单独的对象(结点/节点,Node), 每个元素除了存储自己本身的信息(数据域)之外,还存储一个指示下一个元素位置的引用字段(指针域)。单链表单链表的每个结点包含值和下一个结点的引用字段。单链表结点的典型定义如下:# 单链表结点的典型定义class ListNode: def __init__(self, val): self.val = val self.next = None环形链原创 2020-07-07 10:21:07 · 344 阅读 · 0 评论