数据结构算法
微雨燕双辉
记录一下自己的学习过程。
展开
-
字符串匹配---KMP算法
# 朴素方式的字符匹配t = "ababcabcacbab"t1 = "abbcabcaabbcaa"p = "abcac"# 朴素字符串匹配算法def function1(t, p): n, m = len(t), len(p) i, j = 0, 0 while i < n: if t[i] == p[j]: i, j = i + 1, j + 1 ...原创 2020-04-01 19:31:01 · 125 阅读 · 0 评论 -
python数据结构之链表操作-----双链表4
''' 由上面单链表的操作可以看出,无论是带尾部标识,或者是循环链表,尾部插入数据的时候其时间复杂度都为O(n) 这里考虑一下,双链表。即,链表的一节,可以指向后一节数据,也可以指向前一节数据。'''class DNode: def __init__(self, elem_, prev_ = None, next_ = None): self._elem = elem_ self...原创 2020-03-31 09:53:51 · 127 阅读 · 0 评论 -
python数据结构之链表操作-----单链表(循环链表)3
''' 上述链表,不带尾部标识得无论是从尾部插入还是删除数据其时间复杂度都为O(n) 带尾部标识地时候,其尾部插入数据的时候时间复杂度为O(1),但是删除数据的时候时间复杂度仍然为O(n) 下面考虑循环链表'''class Node: def __init__(self, elem_, next_ = None): self._elem = elem_ self._next =...原创 2020-03-30 20:03:26 · 119 阅读 · 0 评论 -
python数据结构之链表操作-----单链表(带尾部标识)2
''' 上面的单链表,在链表的后端操作的时候(插入、删除数据)其时间复杂度都为O(n) 下面考虑,记录一下尾节点'''class Node: def __init__(self, elem_, next_ = None): self._elem = elem_ self._next = next_class LList1: def __init__(self, hea...原创 2020-03-30 19:06:20 · 243 阅读 · 0 评论 -
python数据结构之链表操作-----单链表1
'''链表的综合操作'''class Node: def __init__(self, elem_, next_ = None): self._elem = elem_ self._next = next_''' 单链表的相关操作'''class LList: def __init__(self, head_ = None):...原创 2020-03-30 17:04:14 · 145 阅读 · 0 评论