• python的数据结构


    数据结构概述

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

    >>数据结构实例:

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

    #列表  可以取出来
    ['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
  • 相关阅读:
    C# 非UI线程向UI线程发送数据的两种方法
    c# 富客户端使用 MethodInvoker简化代码
    Unable to resolve service for type 'Microsoft.Extensions.Logging.ILogger' while attempting to activate 'xxxx'.
    弃元
    Serilog 配置基础知识
    测试软件开发准则--基于TTStand
    SuperSocketHostBuilder<TReceivePackage>
    Ext CheckBoxGroup使用
    2020年12月28日 新工作新旅程
    2021年全国计算机等级考试报名照片制作教程(压缩、裁剪、换白底)
  • 原文地址:https://www.cnblogs.com/airener/p/5985187.html
Copyright © 2020-2023  润新知