数据结构与算法(python版)—— 无序表

本文详细介绍了无序表的概念,无序表List的抽象数据类型操作,并通过链表实现无序表,包括节点Node的定义、添加、搜索、移除等方法的实现。着重讲解了链表结构在无序表中的应用及其操作的逻辑。
摘要由CSDN通过智能技术生成

目录

前言

本文的主角:无序表

什么是无序表?

抽象数据类型无序表List的操作

采用链表实现无序表

链表实现的最基本元素:节点Node

向无序表中添加数据项,实现add方法

链表实现:size 

链表实现:search

链表实现:remove(item)方法

前言

列表List是一种强大的数据集结构,提供了丰富的操作接口,但并不是所有的编程语言都提供了List数据类型。

本文的主角:无序表

什么是无序表?

一种数据项按照相对位置存放的数据集,特别的,被称为“无序集unordered list”,其中数据项只按照存放位置来索引,如第一个、第二个等等。

抽象数据类型无序表List的操作

List():创建一个空列表

add(item):添加一个数据项到列表中,假设item原先不存在于列表中

remove(item):从列表中移除item,列表被修改, item原先应存在于表中

search(item):在列表中查找item,返回布尔类型值

isEmpty():返回列表是否为空

size():返回列表包含了多少数据项

append(item):添加一个数据项到表末尾,假设item原先不存在于列表中

index(item):返回数据项在表中的位置

insert(pos, item):将数据项插入到位置pos,假设item原先不存在与列表中,同时原列表具有足够多个数据项,能让item占据位置pos

pop():从列表末尾移除数据项,假设原列表至少有1个数据项

pop(pos):移除位置为pos的数据项,假设原列表存在位置pos

采用链表实现无序表

虽然列表数据结构要求保持数据项的前后相对位置,但并不要求数据项依次存放在连续的存储空间。

虽然存放位置无规则,但如果在数据项之间建立链接指向,就可以保持其前后相对位置,第一个和最后一个数据项需要标记出来,一个是队首(Head),一个是队尾(End)。

链表实现的最基本元素:节点Node

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值