本文实例讲述了python实现堆栈与队列的方法。分享给大家供大家参考。具体分析如下:
1、python实现堆栈,可先将Stack类写入文件stack.py,在其它程序文件中使用from stack import Stack,然后就可以使用堆栈了。
stack.py的程序:
代码如下:class Stack():
def __init__(self,size):
self.size=size
self.stack=[]
self.top=-1
def push(self,ele): #入栈之前检查栈是否已满
if self.isfull():
raise exception("out of range")
else:
self.stack.append(ele)
self.top=self.top+1
def pop(self): # 出栈之前检查栈是否为空
if self.isempty():
raise exception("stack is empty"山顷)
else:
self.top=self.top-1
return self.stack.pop()
def isfull(self):
return self.top+1==self.size
def isempty(self):
return self.top==-1
再闷唯埋写一个蚂蚂程序文件,stacktest.py,使用栈,内容如下:
代码如下:#!/usr/bin/python
from stack import Stack
s=Stack(20)
for i in range(3):
s.push(i)
s.pop()
print s.isempty()
2、python 实现队列:
复制代码代码如下:class Queue():
def __init__(self,size):
self.size=size
self.front=-1
self.rear=-1
self.queue=[]
def enqueue(self,ele): #入队 *** 作
if self.isfull():
raise exception("queue is full")
else:
self.queue.append(ele)
self.rear=self.rear+1
def dequeue(self): #出队 *** 作
if self.isempty():
raise exception("queue is empty")
else:
self.front=self.front+1
return self.queue[self.front]
def isfull(self):
return self.rear-self.front+1==self.size
def isempty(self):
return self.front==self.rear
q=Queue(10)
for i in range(3):
q.enqueue(i)
print q.dequeue()
print q.isempty()
希望本文所述对大家的Python程序设计有所帮助。
数据预测不一定需要用到机器学习,回归分析足够了,亏尺大而且这样的外推常常不一定销竖准确,还需要对结果进行统计学检验,如果要用到机器学习的话我推荐你是用matlab,里面的算法都是封装好的直接使用,我也推荐你几个预测算法GRNN(广义回归神经网络):这个方法涉及到神经网络,对小样本数据有较好预测。
SVM回归预测分析
SVM的信息粒化时序回归预测:svm学过机器学习都应该了解,困慧它不仅可以用于分类,同样可用于数据预测外推,一个股票预测的例子很有意思
其他的还有自组织竞争网络(模式分类、预测)、灰色神经网络预测
原创答案,打字回答不易,如果满意望采纳,谢谢!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)