数据结构
taozhuang_xas
这个作者很懒,什么都没留下…
展开
-
归并排序
最优,最坏时间复杂度 O(n^2)稳定原创 2019-11-05 15:45:55 · 80 阅读 · 0 评论 -
快速排序
def quick_sort(alist, fitst, last): if first >= last: return mid_value = alist[first] low = first high = last while low < high: # high左移 while l...原创 2019-11-05 14:38:59 · 69 阅读 · 0 评论 -
希尔排序
def shell_sort(alist): n = len(alist) gap = n // 2 while gap > 0: for j in range(gap, n): i = j while i > 0: if alist[i] < al...原创 2019-11-04 21:16:26 · 66 阅读 · 0 评论 -
选择排序
def select_sort(alist): n = len(alist) for j in range(n-1): min_index = j for i in range(j+1, n): if alist[min_index] > alist[i]: min_index = i...原创 2019-11-04 16:37:36 · 48 阅读 · 0 评论 -
冒泡排序法
def bubble_sort(alist): n = len(alist) for j in range(n-1): for i in range(n-1-j): if alist[i] > alist[i+1]: alist[i], alist[i+1] = alist[i+1], alist[i]...原创 2019-11-04 15:58:28 · 97 阅读 · 0 评论 -
队列与双端队列
class Queeu(object): def __init__(self): self.__list = [] def enqueue(self, item): self.__list.appent(item) def dequeue(self): self.__list.pop(0) def is_emp...原创 2019-11-04 15:24:32 · 205 阅读 · 0 评论 -
栈的实现
class Stack(object): def __init__(self): self.__list = [] def push(self, item): self.__list.append(item) def pop(self): return self.__list.pop() def pee...原创 2019-11-04 15:05:47 · 59 阅读 · 0 评论 -
单项循环列表
class Node(object): def __init__(self, element): self.element = element self.next = Noneclass SingleLinkList(object): """单向循环链表""" def __init__(self, node=None):...原创 2019-11-04 14:31:18 · 119 阅读 · 0 评论 -
双向链表
class Node(object): def __init__(self, element): self.element = element self.next = None self.prov = Noneclass DoubleLinkList(object): """链表""" def __init...原创 2019-11-04 13:20:40 · 53 阅读 · 0 评论 -
链表
1.构建节点类2.构建链表类class Node(object): def __init__(self, element): self.element = element self.next = Noneclass SingleLinkList(object): """链表""" def __init__(self...原创 2019-11-04 12:10:33 · 87 阅读 · 0 评论