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

一:时间复杂度

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

常用数据结构应用--哈希表、栈、队列、链表(python 以及例题)_第1张图片

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

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,

你可能感兴趣的:(python,python算法面试题,数据结构,python,算法)