博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python的数据结构
阅读量:5155 次
发布时间:2019-06-13

本文共 1700 字,大约阅读时间需要 5 分钟。

数据结构概述

>>什么是数据结构:数据存储的方式

>>数据结构实例:

 >>内置数据结果:列表,元祖

#列表  可以取出来['abc','bcd','cde']#元祖  不可取出来,元素不可以更改('abc','bcd','cde')#字典  按名称存取{'one':'abc','two':'bcd','Three':'cde'}

>>数据结构与算法的关系

 数据结构是静态的,算法是动态的,数据结构是算法的基础,相同的数据结构运用不同的算法有不同的效率,两者相辅相成

数据结构——栈

>>什么是栈:

 是一种数据结构,不是内置数据结构。相当于一端开口一端封闭的容器,只能对新进入的数据进行操作

>>栈的实现

 

class St():    def __init__(st,num):        st.stack=[]        st.num=num        st.top=-1    def push(st,con):        if st.full():            print('st is full!!')        else:            st.stack.append(con)            st.top=st.top+1    def out(st):        if st.empty():            print('stack is empty')        else:            st.top=st.top=-1    def full(st):        if st.top==st.num:            return 'y'        else:            return 'n'    def empty(st):        if st.tip==-1:            return 'y'        else:            return 'n'

 

数据结构——队列

>>什么是队列:

 是一种数据结构,不是内置数据结构。相当于两端都开的容器,一端只能进行插入操作(队尾),一端只能进行删除操作(对首)

>>队列的实现:

 

class Qu():    def __init__(qu,num):#初始化        qu.que=[]  #列表声明        qu.num=num  #队列容量        qu.head=-1  #队首位置        qu.tail=-1  #队尾位置    def empty(qu):  #判断队列是否为空        if qu.head==qu.tail:  #如果队首位置等于队尾位置            return 'y'      #返回y表示队列为空        else:            return 'n'    def full(qu):  #判断队列是否满        if qu.tail-qu.head+1==qu.num:  #如果队尾位置减去队首位置+1=队列容量            return 'y'           #返回y表示队列为满        else:            return 'n'    def enqu(qu,con):        if qu.full():            print('qu is full!!')        else:            qu.que.append(con)            qu.tail=qu.tail+1    def out(qu):        if qu.empty():            print('qu is empty!')        else:            qu.head=qu.head+1

 

转载于:https://www.cnblogs.com/airener/p/5985187.html

你可能感兴趣的文章
JAVA问题集锦Ⅰ
查看>>
写在前面的话
查看>>
java匿名对象_面向对象
查看>>
【坑】——待填?!
查看>>
LeetCode: Single Number I & II
查看>>
构建最小JDK Docker镜像 或者直接使用镜像:frolvlad/alpine-oraclejre8:slim
查看>>
hah
查看>>
js detect the type of device
查看>>
查看daemon使用技巧
查看>>
jzxx1000~1010题分析
查看>>
Windows Phone 8 与 windows 8 开发技术概览
查看>>
vue 画二维码
查看>>
大数除法(C++)
查看>>
大数乘法(C++)
查看>>
bash常用实例
查看>>
加密配置文件插件
查看>>
文件下载与文件对比
查看>>
pycharm 快捷使用
查看>>
51 Nod 阶乘后面0的数量
查看>>
如何成为编程高手
查看>>