![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
Nancyhan88
这个作者很懒,什么都没留下…
展开
-
反转一个单链表;用栈模拟队列;Python实现数据流中的第K大----------小顶堆;数组中重复的数字;二维数组中的查找
1.leetcode 206 反转一个单链表# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def reverseList(self, head: ListNode) -> ListNode: pre = None原创 2020-10-14 14:23:59 · 138 阅读 · 1 评论 -
堆、栈
有效的括号 leetcode 20class Solution: def isValid(self, s: str) -> bool: stack = [] paren_map = {')':'(',']':'[','}':'{'} for c in s: if c not in paren_map: stack.append(c) elif not stack原创 2020-10-10 13:45:51 · 78 阅读 · 0 评论 -
数据结构和算法——数组和链表
插入删除反转链表:两两反转:给定一个链表,判断链表中是否有环原创 2020-09-17 11:11:13 · 118 阅读 · 0 评论 -
数据结构与算法——时间复杂度和空间复杂度
数据结构和算法:原创 2020-09-09 10:11:33 · 141 阅读 · 0 评论 -
python 链表空&长度
class Node(): def __init__(self, item): self.item = item self.next = Noneclass Link(): def __init__(self): self._head = None def add(self, item): node = Node(item) node.next = self._head self.原创 2020-07-15 13:49:58 · 779 阅读 · 0 评论 -
链表的遍历
class Node(): def __init__(self, item): self.item = item self.next = Noneclass Link(): def __init__(self): self._head = None def add(self, item): node = Node(item) node.next = self._head self.原创 2020-07-15 13:41:28 · 176 阅读 · 0 评论 -
顺序表和链表
多数据类型顺序表的内存图(内存非连续开辟)顺序表的弊端:顺序表的结构需要预先知道数据大小申请连续的存储空间,而在进行扩充时又需要进行数据的搬迁。链表相对于顺序表,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理且进行扩充时不需要进行数据搬迁。链表是一种常见的数据结构,是一种线性表,但是不像顺序表一样连续存储数据,而是每一个结点(数据存储单元)里面存放下一个结点的信息(即地址)is_empty():链表是否为空length():链表长度travel():遍历整个链表add(it.原创 2020-07-14 14:05:28 · 85 阅读 · 0 评论 -
内存
内存计算机的作用:用来存储和运算二进制的数据计算机如何计算1+2?将1和2的二进制的数据加载到计算机内存中,然后使用寄存器进行数值的预算。变量:变量就是某一块内存空间的地址。内存空间是有两个默认的属性,一个是内存空间的大小(1.bit(位),一个bit大小的内存空间只能存放一个二进制数;2.byte(字节),8bit;3.kb:1024byte;),一个是内存空间的地址(使用一个十六进制的数值表示)。理解a = 10 的内存图(引用,指向)引用:变量 == 》内存空间的地址a = 10;a是变原创 2020-07-11 22:09:09 · 81 阅读 · 0 评论 -
双端队列应用---回文数
class Deque(): def __init__(self): self.items = [] def addFront(self,item): self.items.insert(0,item) def addRear(self,item): self.items.append(item) def removeFront(self): return self.items.pop() def rem原创 2020-07-10 09:35:41 · 203 阅读 · 0 评论 -
双端队列
双端队列有两个头部和尾部,可以在双端进行数据的插入和删除,提供了但数据结构中栈和队列的特性Deque()创建一个空的deque,它不需要参数,并返回空的deque.addFront(item)将一个新项添加到deque的尾部,它需要item参数,并不返回任何内容。addRear(item)将一个新项添加到deque的尾部,它需要item参数,并不返回任何内容。removeRear()从deque中删除尾项。它不需要参数并返回item,deque被修改。isEmpty()测试deque是否为空,原创 2020-07-09 22:23:27 · 673 阅读 · 1 评论