Python数据结构
zhangfh1990
这个作者很懒,什么都没留下…
展开
-
Python数据结构——链表
Python中的list是基于array实现的。但无论是list还是array在数据存储和操作层面都有一些缺点。例如在插入和删除元素时都要移动元素,这在数据量旁大时就需要很大开销。array大小是固定的,无法更改;虽然list是可扩展的,但这也是有其代价的。别忘了list是基于array实现的,这就意味着list的每次扩展都要创建更大的array,然后把原来的array拷贝过来。array需要存储在原创 2016-10-22 10:47:18 · 535 阅读 · 0 评论 -
Python数据结构——查找和排序
1.1线性查找 在Python中查看一个元素是否在一个序列中,我们可以使用‘in’操作符,如:if key in theArray :print( "key在 array中." )else :print( "key 不在 array中." )不难想象,其实‘in’操作符是基于线性查找实现的。接下来看一个在无序序列上的线性查找的实现。def linearSearch( theValues,原创 2016-10-19 23:14:40 · 428 阅读 · 0 评论 -
Python数据结构----最大堆
import array as Arrayclass MaxHeap: def __init__(self,maxSize): self._elements = Array(maxSize) self._count = 0 def __len__( self ): return self._count def capacity( self ): return原创 2017-07-30 23:54:53 · 1687 阅读 · 1 评论 -
Python数据结构——栈
用两种数据结构实现栈 1、使用list,代码如下:class Stack : # 初始化一个空的栈 def __init__( self ): self._theItems = list() #返回True或False. def isEmpty( self ): return len( self ) == 0 # 返回栈中元素的个数 def __len__ (翻译 2016-10-24 22:47:49 · 373 阅读 · 0 评论 -
Python数据结构——队列(1)
队列(queue)这一数据结构非常适合那些数据按照其被接收的顺序处理的问题。如共享打印机。队列可以被看做一个先进先出的(FIFO)list. 下图为一个队列结构 有多种方式来实现一个队列:list,linked list,array都可以。首先看一个list实现的队列 1、用python list实现队列class Queue : # Creates an empty queue. def翻译 2016-10-30 23:05:31 · 584 阅读 · 0 评论 -
Python实现快速排序
# 使用递归快速排序算法排序一个数组或列表def quickSort( theSeq ): n = len( theSeq ) recQuickSort( theSeq, 0, n-1 )# 使用虚拟片段递归实现 def recQuickSort( theSeq, first, last ): # 检查基本情况 if first >= last : return el原创 2017-08-24 15:31:06 · 347 阅读 · 0 评论