Python起步之数据结构和算法
来源:互联网 发布:java经典书籍 编辑:程序博客网 时间:2024/06/05 16:10
这里说的Python数据结构和算法主要包括以下几个内容:
1) 用Python操作表 2)用Python操作栈 3)用Python操作队列 4)用Python操作树 5)用Python操作图 6)用Python查找 7)用Python进行排序
下面逐个来阐述:
1、表是最基本的一种数据结构,在Python中直接提供了一种“创建”表的原材料,或者说是直接提供了表这种数据结构那就是列表,在C语言中表(线性表和链表)都提供了遍历,查找,添加和删除等操作,在Python中,对于列表的操作同样提供了这些函数。list.append()追加元素,list.insert()向列表中插入某个元素,list.pop()删除列表的最后一个元素。list.remove()删除列表中元素等等
2、栈可以看成是同一位置上的插入和删除操作的表,这个位置就是栈顶。栈的最基本操作就是进栈和出栈操作。栈可以看做是一个容器。遵循先进后出的原则。
(部分代码如下:)
# pystack.pyclass PyStack: def _init_(self,size = 20):#初始化栈 self.stack = []#创建一个空栈 self.size = size #设置栈的大小,理论上是可以不设置,个人认为不设置的操作代码会更简洁 self.top = -1#初始化栈顶元素的位置 def setSize(self,size):#设置栈的大小,这样的会有可能浪费空间,因为数据的多少,事先一般是不知道, #增加程序的局限性,与不设置大小相比,灵活性和空间利用率都要低 self.size = size def isFull(self):#判断是否栈满 if (self.top == self.size - 1): return True else: return False def isEmpty(self):#判断是否栈空 if self.top == -1: return True else: return False def setEmpty(self):#置空栈 self.stack = [] def readTop(self): return self.stack[self.top - 1] def push(self,element): if not self.isFull(): self.stack[self.top] = elemment self.top = self.top + 1 else: print('栈已满!') def pop(self): if not self.isEmpty(): element = self.stack[self.top - 1] self.top =self.top - 1 return element else: print('栈已空') return None def StackException(Exception): def _init_(self,data): self.data = data def _str_(self): return self.data
阅读全文
0 0
- Python起步之数据结构和算法
- 数据结构之起步
- python--数据结构和算法
- Python 数据结构和算法
- Python起步之数据类型
- python起步之knn分类算法(三)
- 高级算法日记3:python数据结构之栈和队列
- 算法起步之kmp算法
- python进阶-数据结构和算法
- python起步之Opencv配置和使用(四)
- 数据结构与算法分析-01 起步
- python起步之认识缩进
- Python起步之eval函数
- Python起步之常见错误
- Python起步之异常处理
- Python起步之文件案例
- Python起步之爬虫程序
- 数据结构复习之【数据结构和算法概念】
- 求合法帧
- 在ElasticSearch之下(深入理解Shard和Lucene Index)
- 卷积神经网络之目标检测总结
- 关于部署基于Office 365的ADFS的进一步探讨
- 牛客网剑指offer-替换空格
- Python起步之数据结构和算法
- 消息中间件
- 关于蓝牙权限的获取与开启
- cocos2d-x + vs2015 android游戏开发环境搭建 及 新建项目
- 带头结点的单链表和不带头结点的单链表的倒数第K个节点
- Find The Multiple
- BZOJ 1036: [ZJOI2008]树的统计Count (LCT题解)
- 排序二:希尔排序
- 新手上路之 js undefined问题