数据结构和算法-05.数据结构引入

# CY3761 | 2021-11-30 10:04

# 数据结构引入

##  根据英雄名推荐英雄的推荐出装

# 存储 英雄名以及对应的出装 (列表存储)

a = [
    # ['英雄名', ['出装1', '出装2', '出装3']],
    ['亚索', ['电刀', '攻速鞋', '无尽']],
]

# 通过英雄名 获得其出装列表 | 时间复杂度 O(n)
b = '亚索'

for _ in a:
    if _[0] == b:
        print(_[1])  # 对应的出装

# 存储 英雄名以及对应的出装 (字典存储)  | 时间复杂度 O(1)

c = {
    '亚索': ['电刀', '攻速鞋', '无尽'],
    'EZ': ['魔宗', '三项', 'CD鞋']
}

print(c[b])  # 不存在会报错
print(c.get(b))  # 不存在为 None


## 数据结构
# 数据结构 是计算机存储、组织数据的方式.
# 数据结构 将数据以某种关系组织在一起

## 算法
# 是基于数据结构去设计的, 也可以说算法的第一步就是选择数据结构
# 程序 = 数据结构 + 算法

## 抽象数据类型(Abstract Data Type, ADT)
# 将数据对象、数据对象之间的关系、数据对象的基本操作封装在一起 封装成类

class Hero:
    def __init__(self):
        self._data = {}
    
    def add(self, name, item):
        self._data.setdefault(name, item)
    
    def get(self, name):
        return self._data.get(name)
    
    def remove(self, name):
        if self.get(name):
            del self._data[name]
    
    def mod(self, name, item):  # 修改
        if self.get(name):
            self._data[name] = item

好短的内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CY3761

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值