随笔分类 -  数据结构

摘要:class BinTreeNode(object): def __init__(self, data, left = None, right = None): self.left = left self.right = right self.data = data node_list = [ {'d 阅读全文
posted @ 2019-04-09 21:15 DRQ丶 阅读(358) 评论(0) 推荐(0) 编辑
摘要:''' 1 选择基准值pivot将数组分成两个子数组:小于基准值的元素和大于基准值的元素。这个过程称之为partition 2 对这两个子数组进行快速排序。 3 合并结果 ''' ''' 这里快速排序有两个缺点。 1 需要额外的储存空间来存放数组,less_part,great_part。 2 每一 阅读全文
posted @ 2019-03-27 15:04 DRQ丶 阅读(633) 评论(0) 推荐(0) 编辑
摘要:import random # 我也是想了很久才想明白,递归用的太少了。画下图自己模拟一下就行了。 # 先递归分成单个元素,然后排序。 # 排序的函数传入的值是两个连续的数组。 # 因为单个元素的时候就进行排序,所以返回的一left_half,right_half 一定是排好序的 def merge 阅读全文
posted @ 2019-03-20 19:59 DRQ丶 阅读(154) 评论(0) 推荐(0) 编辑
摘要:1 class Array(object): 2 3 def __init__(self, size = 32, init = None): 4 self._size = size 5 self._items = [init] * size 6 7 8 def __getitem__(self, i 阅读全文
posted @ 2019-03-12 19:22 DRQ丶 阅读(981) 评论(0) 推荐(0) 编辑
摘要:1 class Array(object): 2 3 def __init__(self, size = 32, init = None): 4 self._size = size 5 self._items = [init] * size 6 7 8 def __getitem__(self, i 阅读全文
posted @ 2019-03-11 11:14 DRQ丶 阅读(1180) 评论(0) 推荐(0) 编辑
摘要:class Node(object): # 结点有两个指针 def __init__(self, maxsize = None, value = None, next = None, prev = None): self.maxsize = maxsize self.value = value se 阅读全文
posted @ 2019-03-04 22:49 DRQ丶 阅读(279) 评论(0) 推荐(0) 编辑
摘要:# 队列两端都可以进行push和pop操作。 push操作可以用循环双端链表的append,appendleft。 # pop操作使用循环双端链表的romove class Node(object): # 结点有两个指针 def __init__(self, maxsize = None, valu 阅读全文
posted @ 2019-02-15 00:24 DRQ丶 阅读(459) 评论(0) 推荐(0) 编辑
摘要:# 数组有一个固定的长度。头指针和尾指针,都指向数组第一个值。 # 当进行push操作的时候,头指针后移。当进行pop操作的时候,尾指针向后移 # 当到达最后一个值的时候,重新指向第一个值。取模 %queue_size() # 首先实现一个数组 class Array(object): def __ 阅读全文
posted @ 2019-02-14 20:15 DRQ丶 阅读(1739) 评论(0) 推荐(0) 编辑
摘要:# 根节点作为入口, 队列先进先出。 出队的地方是根结点的下一个结点. 入口是尾结点 class Node(object): def __init__(self, value=None, next=None): self.value = value self.next = next def __st 阅读全文
posted @ 2019-02-14 10:13 DRQ丶 阅读(192) 评论(0) 推荐(0) 编辑
摘要:# -*- coding:utf-8 -*-"""每一个结点包含prev, value , next。 prev指向上一个结点。 root根节点作为接口。根节点的下一个结点是head结点。尾结点尾tail,tail.next=root, root.prev = tail所以说这是一个双端循环结点"" 阅读全文
posted @ 2019-01-31 10:06 DRQ丶 阅读(298) 评论(0) 推荐(0) 编辑
摘要:# -*- coding:utf-8 -*- class Node(object): def __init__(self, value = None, next = None): self.value = value self.next = next class Linklist(object): 阅读全文
posted @ 2019-01-05 23:37 DRQ丶 阅读(164) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示