常用数据结构应用--哈希表、栈、队列、链表(python 以及例题)

64 篇文章 ¥9.90 ¥99.00
本文探讨了数据结构中的哈希表、栈、队列和链表,强调它们在算法优化中的作用。哈希表用于快速查找,如解决两数之和问题;栈的特性适用于处理有效括号问题;队列则在处理优先级问题时发挥作用,如数据流中的第K大元素;链表的概念包括数据区和链接区,可用于复杂的节点操作。这些数据结构在Python中的实现和应用是算法问题解决的关键。

一:时间复杂度

大o表示法,主要有O(n) O(n的平方)

二:利用数据结构优化算法

1:哈希表的应用(字典)

什么是哈希表?

(哈希表在内存中也是一段连续的空间、哈希表为啥是无序的,是因为哈希表里面的key值通过哈希算法的计算,计算出来是某个值,好处是查找的时候,直接通过key就能找到对应的数据)

python中的set其实底层也是一种哈希,只不过它的value都是None, 所有set里面的值是不能重复的。

两数之和!!! 

target = 13

lista = [5, 9, 7, 8, 10]
# 第一种,按位循环,时间复杂度:o(n^2) 

for index, value in enumerate(lista):
    for i in range(index + 1, len(lista)):
        if lista[index] + lista[i] == 13:
            print(index, i)


#第二:使用哈希表,时间复杂度:o(n)
dicta = {}
for index, value in enumerate(lista):
    dicta[value] = index
    if dicta.get(target - value) i
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

熊猫_water

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

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

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

打赏作者

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

抵扣说明:

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

余额充值