
数据结构
sunyadong_
为网络安全领域添砖加瓦
展开
-
python实现单向链表
基于类和对象的方式实现单项链表 class Node: '''节点''' def __init__(self,elem): self.elem = elem self.next = None class SingleLinkList(): '''单链表''' def __init__(self,node=None): ...原创 2019-01-05 15:24:32 · 157 阅读 · 0 评论 -
Python实现栈数据结构
栈 有些地方称为堆栈,是一种容器,可以存入数据元素,访问元素,删除元素,它的特点在于只能允许在容器的一端(称为栈顶)进行加入元素和输出元素的操作。先进后出原则 python中栈的实现方式有多种,可以用列表,也可以用链表。这里为了节省时间,用列表实现。 class Stack: def __init__(self): self.__list = [] de...原创 2019-01-08 17:03:03 · 186 阅读 · 0 评论 -
Python实现队列操作
队列 只允许在一端进行插入操作,在另一端进行删除操作 class Queue: def __init__(self): self.__list = [] def enqueue(self,item): #往队列中添加一个item元素 self.__list.append(item) def dequeue(sel...原创 2019-01-08 17:34:53 · 581 阅读 · 0 评论 -
python实现双端队列
双端队列: 一种具有队列和栈的性质和数据结构 双端队列中的元素可以从两端弹出,其限定插入和删除操作,在表的两端进行,双端队列可以在队列任意一端入队和出队 class Deque: '''双端队列''' def __init__(self): self.__list = [] def add_front(self,item): '...原创 2019-01-08 18:30:25 · 188 阅读 · 0 评论 -
数据结构之------vector
自己对vector的理解: 首先vector的底层还是数组,但是他又不同于数组,数组是静态的,在定义的时候就确定了数组的长度。但是vector是动态的,他的长度是可以增加的。增加的规模是二倍增加。其次还需要注意的是真正实现的二倍增加并不是在原数组的基础上动态增加二倍,而是在系统空间中开辟一个原数组长度的二倍,然后再将原数组的值赋给新开辟的数组,然后将原数组删除的过程。 t...原创 2019-05-08 14:57:52 · 284 阅读 · 0 评论