![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python数据结构
Wake When Septemper
这个作者很懒,什么都没留下…
展开
-
双链表
#! /usr/bin/env python# _*_ coding: utf-8 _*_class Node(object): """Represnet a single linked node""" def __init__(self, data, next=None): """Instantiates a Node with a default n...原创 2018-08-27 13:43:20 · 142 阅读 · 0 评论 -
模拟超时排队系统
marketmodel.py #! /usr/bin/env python# _*_: utf-8 _*_from cashier import Cashierfrom customer import Customerclass MarketModel(object): def __init__(self, lenthofSimulation, averageTimePerC...原创 2018-09-10 16:06:20 · 1344 阅读 · 0 评论 -
练习8.1-2
#! /usr/bin/env python# -*- coding: utf-8 -*-'''@author: liudaoqiang@file: studycase@time: 2018/9/7 7:05'''from arraystack import ArrayStackdef stackToQueue(arrayStack): queue = ArrayStac...原创 2018-09-07 07:18:07 · 135 阅读 · 0 评论 -
实现链表和数组队列
链表实现的队列,除了__str__,__add__,__eq__方法的时间复杂度是O(n),pop()和add方法复杂度是O(1)。并且有头结点和尾节点住指针分别指向头部和尾部,可以以常数O(1)时间访问。总的空间大小是2n+3,每个节点都有数据和指向下个节点的指针,还有三个单元格存储队列的逻辑大小、头指针和尾指针。数组实现的队列,如果数组大小不发生变化,除了__str__,__add__,_...原创 2018-09-11 21:44:00 · 290 阅读 · 0 评论 -
列表
参考链接:https://python-web-guide.readthedocs.io/zh/latest/algorithms/algorithms.html#recursion遗留问题:实现有序列表的列表迭代器,抽象unittest的测试用例,9.9的编程题列表有基于索引,位置(游标cursor),内容的三种类型的操作。#! /usr/bin/env python# -*- ...原创 2018-09-14 07:42:04 · 120 阅读 · 0 评论 -
collections
#! /usr/bin/env python# -*- coding: utf-8 -*-'''@author: liudaoqiang@file: studycase@time: 2018/10/2 10:47'''import unittestimport loggingfrom collections import namedtuplefrom collections...原创 2018-10-02 15:57:10 · 122 阅读 · 0 评论 -
Python中的None对象
python中的常量None的特殊性在于它既不是0,False,也不是空字符串,它是一个空值对象。其数据类型为NoneType,遵循单例模式,是唯一的,因而不能创建None对象。所有赋值为None的变量都相等,并且None与其他任何非None的对象比较的结果都为False...原创 2018-10-04 13:58:48 · 1139 阅读 · 0 评论 -
二叉搜索树
二叉树:二叉树要么为空,要么包含一个根节点,外加一个左子树和一个右子树,每个子树都是一个二叉树。二叉搜索树:用树的结构表示有序集合;二叉搜索树的每个子树都是一个二叉搜索树;若左子树不为空,则左子树的任意节点的值都小于根节点的值;若右子树不为空,则右子树的任意节点耳钉值都大于根节点的值完美平衡二叉树:以满二叉树为参考,在最后一个层级以外的每一个层上,都包含了完整的节点。完全二...原创 2018-09-22 21:25:46 · 159 阅读 · 0 评论 -
表达式树
#! /usr/bin/env python# -*- coding: utf-8 -*-'''@author: liudaoqiang@file: studycase@time: 2018/9/25 21:54'''import unittestclass Node(object): def __init__(self, data, next): self.da...原创 2018-09-28 08:04:50 · 148 阅读 · 0 评论 -
正则表达式
链接:https://www.cnblogs.com/afarmer/archive/2011/08/29/2158860.html\ 转义符:去掉特殊语义(?:)就是为了分组,但是不捕获下来供正则表达式其他部分使用,就是说不能使用\1,\2这种捕获的子模式,https://segmentfault.com/q/1010000010107602...原创 2018-11-30 23:09:25 · 95 阅读 · 0 评论 -
练习7.1-2
#! /usr/bin/env python# -*- coding: utf-8 -*-'''@author: liudaoqiang@file: studycase@time: 2018/9/2 10:46'''from arraystack import LinkedStackdef branketsBalance(exp): """exp is a string ...原创 2018-09-06 23:17:30 · 231 阅读 · 0 评论 -
优先队列
#! /usr/bin/env python# -*- coding: utf-8 -*-'''@author: liudaoqiang@file: studycase@time: 2018/9/11 21:53'''class Node(object): def __init__(self, data, next): self.data = data self.n...原创 2018-09-12 08:16:08 · 115 阅读 · 0 评论 -
带哑头的链表
带哑头的循环链表 #! /usr/bin/env python# _*_ coding: utf-8 _*_class Node(object): def __init__(self, data, next): self.data = data self.next = next# 哑头节点的循环链表if __name__ == "__m...原创 2018-08-27 13:44:18 · 456 阅读 · 0 评论 -
4.9 题目
1-6 #! /usr/bin/env python# _*_coding: utf-8 _*_class Array(object): def __init__(self, capacity, logicalSize=0, fillValue=None): self._data = list() for i in range(capacity): self._dat...原创 2018-08-27 18:14:24 · 131 阅读 · 0 评论 -
数组结构
#! /usr/bin/env python# _*_coding: utf-8 _*_class Array(object): """Represent Array""" def __init__(self, capacity, fillValue=None): self._items = list() for count in range...原创 2018-08-23 15:11:40 · 2257 阅读 · 0 评论 -
链表结构
链表与数组的区别:可以根据索引访问数组元素,链表不行,链表需要沿着链表逐个移动才可以达到要访问的节点;数组在插入和删除数据时需要在内存中移动数据项,链表不需要;每一次插入和删除过程,链表结构会调整大小,并且不需要额外的内存代价;数组项的逻辑顺序和内存中物理单元顺序是耦合的,链表结构的项的逻辑顺序和内存的顺序是解耦的。思考;链表上的数据排序?底层内存如何支持链表插入和删除数据时不移动数...原创 2018-08-24 16:10:26 · 155 阅读 · 0 评论 -
单链表操作
class Node(object): """Represnet a single linked node""" def __init__(self, data, next=None): """Instantiates a Node with a default next of Node""" self.data = data原创 2018-08-24 16:51:40 · 242 阅读 · 0 评论 -
5.9题目
# arrayss.py#! /usr/bin/env python# -*- coding: utf-8 -*-'''@author: liudaoqiang@file: studycase@time: 2018/8/30 6:45'''class Array(object): def __init__(self, capacity, fillValue = None...原创 2018-08-31 22:10:33 · 136 阅读 · 0 评论 -
http协议简介
http 超文本传输协议,web的协议规范。HTML:HyperText Markup Language ,超文本标记语言;URL:Uniform Resource Locator 统一资源定位符。TCP/IP协议分为四层:应用层,传输层,网络层和数据链路层。应用层,FTP(File Transfer Protocol, 文件传输协议)、DNS(Domain Name System 域名系...原创 2018-09-04 08:08:44 · 80 阅读 · 0 评论 -
接口、实现和多态
接口是软件资源用户可以用的一组操作,包括方法和函数以及它们的文档。遍历集合的for循环 == “语法糖”#! /usr/bin/env python# -*- coding: utf-8 -*-'''@author: liudaoqiang@file: studycase@time: 2018/8/30 6:51'''from arrayss import Array...原创 2018-08-30 07:53:46 · 342 阅读 · 0 评论 -
计算后缀表达式
参考链接: https://www.cnblogs.com/hantalk/p/8734511.htmlhttps://www.cnblogs.com/bhep/p/7763647.html#! /user/bin/env python# _*_ coding:utf-8 _*_"""File: tokens.pyTokens for processing expressi...原创 2018-09-04 18:21:02 · 266 阅读 · 0 评论 -
6.6题目
# ! /usr/bin/env python# -*- coding: utf-8 -*-'''@author: liudaoqiang@file: studycase@time: 2018/8/31 7:44'''import timeclass Array(object): """Represent Array""" def __init__(self, ca...原创 2018-09-02 09:41:47 · 152 阅读 · 0 评论 -
实现基于array和linked的stack
除了栈中__iter__方法外,其余复杂度都小于O(1)。数组容量翻倍的时候,数组push方法复杂度变为O(n) ,其他时候是O(1)。数组、链表实现pop方法复杂度都是O(1)。两种实现中__iter__方法都是线性时间运行的,但是在链表实现中使用递归函数,导致内存线性增长,可以使用双链表来避免这个问题。n个对象,栈需要的总空间是2n+2,数组需要的总空间是数组容量+2当数组的装...原创 2018-09-03 08:11:21 · 311 阅读 · 0 评论