数据结构 python版(1) ----简单数据结构

本文介绍了Python中数据结构的基础知识,包括线性表(顺序表、链式表)、栈、队列(顺序队列、链队列)、优先级队列,以及简单数据处理方法如查找和排序。强调了实践编程的重要性,并区分了串和数组的区别,特别提到了数组的存储优化技巧如压缩存储。
摘要由CSDN通过智能技术生成

首先,说明一下本课程的结构,课程分为三大部分。

第一部分介绍简单的数据结构,包括线性表,栈和队列以及串和数组

第二部分介绍复杂的数据结构,树,堆以及图

第三部分介绍数据的两种基本处理,查找以及排序

简单数据结构

首先,在python中没有所谓的指针结构,因此链表的形式的cpp中有明显不同。

其次,数据结构的学习需要辅助大量代码练习。才能完成。

而且知识一定要掌握到自身感觉可以抓住抓牢。切记似懂非懂的状态。

下面所有的代码部分建议至少自己默写一遍,这些相当于基础知识。

只有基础构建好,心里才有底,未来不会翻来覆去学习这些知识。

线性表

元素之前具有线性关系的线性结构,这里强调的是线性表包含了后面我们所用的链表,栈以及队列。其中线性表也分为顺序表和链式表 

顺序表

这些和list操作一致,要记住,顺序表的三个基本操作,插入,删除和查找。

链式表

查找(位序查找,按值查找),插入,删除,创建(头插法,尾插法)。

栈与队列

顺序栈
class SqStack(IStack):
    def __init__(self, maxisize = None):
        self.maxisize = maxisize
        self.StackItem = [None] * self.maxisize
        self.top = 0 
    def clear(self):
        '''将栈置空'''
        self.top = 0

    def isEmpty(self):
        '''判断栈是否为空'''
        return self.top == 0

    def length(self):
        '''返回栈的元素个数'''
        return self.top

    def peak(self):
        '''返回栈顶元素'''
        if not self.isEmpty():
            return self.StackItem[self.top - 1]
        else:
            return None

    def push(self, x):
        '''元素x入栈'''
        if self.top == self.maxsize:
            return Exception["栈已满"]
        else:
            self.StackItem[self.top] = x
            self.top += 1

    def pop(self):
        '''栈顶元素出栈并返回'''
        if self.top == 0
            return None
        else:
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值