【python与数据结构】(leetcode算法预备知识)

笔记为自我总结整理的学习笔记,若有错误欢迎指出哟~

Python 中常见的数据类型

1.数字类型:

  • 整数(int):表示整数值,例如 1、-5、100。
  • 浮点数(float):表示带有小数部分的数字,例如 3.14、-0.5、2.0。
  • 复数(complex):表示实部和虚部的复数,例如 2+3j。

2.布尔类型(bool):

  • 表示真(True)或假(False)的逻辑值。

3.字符串类型(str):

  • 表示文本数据,使用单引号或双引号括起来,例如 ‘Hello’、“World”。

4.列表类型(list):

  • 表示有序的可变序列,可以包含不同类型的元素,使用方括号括起来,例如 [1, 2, ‘a’, True]。

5.元组类型(tuple):

  • 类似于列表,但是不可变,使用圆括号括起来,例如 (1, 2, ‘a’, True)。

6.集合类型(set):

  • 表示无序且唯一的元素集合,使用花括号括起来,例如 {1, 2, 3}。

7.字典类型(dict):

  • 表示键值对的映射关系,使用花括号括起来,例如 {‘name’: ‘Alice’, ‘age’: 25}。

数据结构

1.数组(Array)

列表类型(list)

2.链表(Linked List)

在这里插入图片描述

class ListNode:
	def __init__(self,x):
		self.val = x
		self.next = None

3.哈希表(Hash Table)

字典类型(dict)

4.队列(Queue)

在这里插入图片描述

list

进队:append()

出队:pop(0)

l = [1,2,3,4,5]

l.append(6)
l
#[1, 2, 3, 4, 5, 6]

l.pop(0)
l
#[2, 3, 4, 5, 6]

deque(类似双端队列)

deque 是 Python 中的一个内置模块 collections 中的类,用于实现双端队列(double-ended queue)。双端队列是一种具有队列和栈特性的数据结构,支持在两端进行插入和删除操作。

deque 提供了以下常用操作:

  1. 创建双端队列:
    • 使用 deque() 函数创建一个空的双端队列。
    • 例如:from collections import dequed = deque()
  2. 在队列两端插入元素:
    • 使用 append(item) 在队列的右端插入一个元素。
    • 使用 appendleft(item) 在队列的左端插入一个元素。
    • 例如:d.append(1)d.appendleft(2)
  3. 在队列两端删除元素:
    • 使用 pop() 删除并返回队列右端的元素。
    • 使用 popleft() 删除并返回队列左端的元素。
    • 例如:d.pop()d.popleft()
  4. 访问队列两端的元素:
    • 使用 [-1] 索引访问队列右端的元素。
    • 使用 [0] 索引访问队列左端的元素。
    • 例如:d[-1]d[0]
  5. 获取队列长度:
    • 使用 len(d) 获取队列中的元素个数。
  6. 判断队列是否为空:
    • 使用 not dlen(d) == 0 判断队列是否为空。

deque 还支持其他一些方法,如旋转队列、计数元素出现次数、反转队列等。双端队列在实际应用中常用于需要高效地在两端进行插入和删除操作的场景,比如实现缓存、任务调度等。

右进:append()

右出:pop()

左进:appendleft()

左出:popleft()

from collections import deque
q = deque([1,2,3])

q.append(4)
q
#deque([1, 2, 3, 4])

q.pop()
q
#deque([1, 2, 3])

q.appendleft(4)
q
#deque([4, 1, 2, 3])

q.popleft()
q
#deque([1, 2, 3])

使用:先进后出

#使用方法1:队头<---   队列   <---队尾
#append()	队尾
#popleft()	队头

from collections import deque
q = deque([1,2,3])

q.append
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

zz的学习笔记本

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

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

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

打赏作者

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

抵扣说明:

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

余额充值