
数据结构
文章平均质量分 51
java_prinln
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
动态规划优化刷题
动态规划优化算法原创 2022-09-15 22:45:20 · 207 阅读 · 0 评论 -
动态规划刷题(上)
动态规划刷题上原创 2022-09-15 22:23:44 · 166 阅读 · 0 评论 -
递推算法刷题
递推算法刷题原创 2022-09-08 22:03:49 · 185 阅读 · 0 评论 -
红黑树刷题(下)
红黑树下原创 2022-09-08 21:52:49 · 228 阅读 · 0 评论 -
红黑树刷题(上)
红黑树刷题上原创 2022-09-07 22:56:34 · 776 阅读 · 0 评论 -
AVL 树刷题
AVL树刷题原创 2022-09-07 22:39:56 · 294 阅读 · 0 评论 -
单调栈刷题
单调栈刷题原创 2022-09-07 22:21:27 · 116 阅读 · 0 评论 -
单调对列刷题
单调队列刷题原创 2022-09-07 21:59:51 · 116 阅读 · 0 评论 -
算法-深搜与广搜
深度遍历和广度遍历原创 2022-08-30 22:17:42 · 273 阅读 · 0 评论 -
数据结构-哈希表与布隆过滤器
哈希表刷题原创 2022-08-27 22:26:01 · 209 阅读 · 0 评论 -
算法-二分查找刷题
二分刷题原创 2022-08-27 21:12:20 · 244 阅读 · 0 评论 -
算法-有趣的排序算法(11)
排序算法刷题原创 2022-08-27 20:57:22 · 136 阅读 · 0 评论 -
归并排序 - 从二路到多路刷题
归并刷题原创 2022-08-27 20:32:25 · 280 阅读 · 0 评论 -
算法-快速排序及优化
快排原创 2022-08-25 21:18:07 · 148 阅读 · 0 评论 -
数据结构-并查集刷题
并查集原创 2022-08-25 07:13:52 · 208 阅读 · 0 评论 -
数据结构-堆进阶应用刷题
堆进阶刷题原创 2022-08-24 22:45:59 · 140 阅读 · 0 评论 -
数据结构-堆基本应用刷题
堆原创 2022-08-24 22:36:35 · 211 阅读 · 0 评论 -
数据结构-树进阶刷题
树结构进阶刷题原创 2022-08-23 22:59:39 · 156 阅读 · 0 评论 -
数据结构 - 二叉树刷题
树基础刷题原创 2022-08-23 22:50:19 · 597 阅读 · 1 评论 -
数据结构-栈结构扩展应用
栈和递归刷题原创 2022-08-22 21:17:46 · 222 阅读 · 0 评论 -
递归与栈-栈的基本操作
栈刷题操作原创 2022-08-14 22:53:52 · 115 阅读 · 0 评论 -
数据结构-线程池与任务队列刷题
任务队列刷题原创 2022-08-11 22:06:21 · 196 阅读 · 0 评论 -
数据结构-队列
队列封装刷题原创 2022-08-10 23:16:29 · 123 阅读 · 0 评论 -
数据结构-链表复习
链表复习原创 2022-08-10 22:41:37 · 163 阅读 · 0 评论 -
链表的反转-leetcode
leetcode 链表反转原创 2022-08-10 07:15:52 · 799 阅读 · 0 评论 -
链表删除-leetcode19. 删除链表的倒数第 N 个结点
链表删除刷题原创 2022-08-09 23:06:56 · 387 阅读 · 0 评论 -
链表-leetcode202. 快乐数
链表刷题2原创 2022-08-09 22:36:49 · 148 阅读 · 0 评论 -
数据结构-链表
链表刷题算法原创 2022-08-09 22:21:27 · 154 阅读 · 0 评论 -
数据结构-队列(python)
队列队列抽象数据类型由下面的结构和操作定义。如前所述,队列是元素的有序集合,添加操作发生在其尾部,移除操作则发生在头部。队列的操作顺序是 FIFO,它支持以下操作。 Queue()创建一个空队列。它不需要参数,且会返回一个空队列。 enqueue(item)在队列的尾部添加一个元素。它需要一个元素作为参数,不返回任何值。 dequeue()从队列的头部移除一个元素。它不需要参数,且会返回一个元素,并修改队列的内容。 isEmpty()检查队列是否为空。它不需要参数,且会返回一个布尔值。原创 2022-05-27 11:56:18 · 254 阅读 · 0 评论 -
数据结构-栈(python)
栈栈抽象数据类型由下面的结构和操作定义。如前所述,栈是元素的有序集合,添加操作与移除操作都发生在其顶端。栈的操作顺序是 LIFO,它支持以下操作。 Stack()创建一个空栈。它不需要参数,且会返回一个空栈。 push(item)将一个元素添加到栈的顶端。它需要一个参数 item,且无返回值。 pop()将栈顶端的元素移除。它不需要参数,但会返回顶端的元素,并且修改栈的内容。 peek()返回栈顶端的元素,但是并不移除该元素。它不需要参数,也不会修改栈的内容。 isEmpty()检查原创 2022-05-27 11:26:27 · 147 阅读 · 0 评论 -
leetcode 102. 二叉树的层序遍历(python)
二叉树的层序遍历leetcode 地址思路:广度优先搜索本题,我们使用广度优先搜索的思路来解决。广度优先搜索(BFS),它是按照层进行搜索的。题目中要求,按层序遍历得到所需的节点。那么这里就跟 BFS 访问的方式吻合。在这里,我们借助队列,保存每层的所有节点,然后每次把队列里所有的节点都进行出队操作。出队这里需要注意,保存每层所有节点的时候,这里先可以标记每层的节点数,那么在出队的时候,循环遍历的次数就等于当前层数的节点数。此时遍历每层节点时,如果当前节点的左右节点非空时,再次加入队列。循环操作原创 2022-05-25 09:58:22 · 403 阅读 · 1 评论 -
数据结构-图与图遍历(python)
图与图遍历# -*- coding: utf-8 -*-from collections import dequeGRAPH = { 'A': ['B', 'F'], 'B': ['C', 'I', 'G'], 'C': ['B', 'I', 'D'], 'D': ['C', 'I', 'G', 'H', 'E'], 'E': ['D', 'H', 'F'], 'F': ['A', 'G', 'E'], 'G': ['B', 'F', 'H原创 2022-05-23 10:54:09 · 160 阅读 · 0 评论 -
数据结构-堆与堆排序(python)
堆与堆排序# -*- coding:utf-8 -*-# 第二章拷贝的 Array 代码class Array(object): def __init__(self, size=32): self._size = size self._items = [None] * size def __getitem__(self, index): return self._items[index] def __setitem__原创 2022-05-23 10:52:02 · 104 阅读 · 0 评论 -
数据结构-二叉查找树(python)
二叉查找树# -*- coding: utf-8 -*-class BSTNode(object): def __init__(self, key, value, left=None, right=None): self.key, self.value, self.left, self.right = key, value, left, rightclass BST(object): def __init__(self, root=None):原创 2022-05-23 10:49:57 · 132 阅读 · 0 评论 -
数据结构-树与二叉树(Python)
树与二叉树# -*- coding: utf-8 -*-from collections import dequeclass Queue(object): # 借助内置的 deque 我们可以迅速实现一个 Queue def __init__(self): self._items = deque() def append(self, value): return self._items.append(value) def pop(s原创 2022-05-23 10:45:32 · 176 阅读 · 0 评论 -
数据结构-哈希表(Python)
哈希表# -*- coding: utf-8 -*-# 从数组和列表章复制的代码class Array(object): def __init__(self, size=32, init=None): self._size = size self._items = [init] * size def __getitem__(self, index): return self._items[index] def __se原创 2022-05-23 10:41:36 · 167 阅读 · 0 评论 -
数据结构-队列(Python)
队列# -*- coding: utf-8 -*-# NOTE: 从 array_and_list 第一章拷贝的代码class Array(object): def __init__(self, size=32): self._size = size self._items = [None] * size def __getitem__(self, index): return self._items[index] de原创 2022-05-23 10:39:39 · 130 阅读 · 0 评论 -
数据结构-链表(Python)
链表# -*- coding: utf-8 -*-class Node(object): def __init__(self, value=None, next=None): # 这里我们 root 节点默认都是 None,所以都给了默认值 self.value = value self.next = next def __str__(self): """方便你打出来调试,复杂的代码可能需要断点调试""" retu原创 2022-05-23 10:33:48 · 129 阅读 · 0 评论 -
数据结构-列表和数组(Python)
数组和列表# -*- coding: utf-8 -*-# https://docs.python.org/2/library/array.htmlfrom array import array # python 提供的比较原始的 array 类arr = array('u', 'asdf')print(arr[0], arr[1], arr[2], arr[3])# 实现定长的 Array ADT,省略了边界检查等class Array(object): def __原创 2022-05-23 10:31:50 · 116 阅读 · 0 评论 -
链表-数据结构(二)(C语言)
链表火车由一节节车厢串联构成,除了火车头,每节车厢都紧紧地连接着前一节车厢,并且每节车厢都能载人或者货物。有种数据结构和火车的结构非常相似,那就是 链表。我们把链表想象成火车,火车头便是链表的表头,每节车厢就是链表的元素,车厢里载的人和物就是元素的数据域,连接车厢的部件就是元素的指针。由此,我们可以得出链表的一个特点:元素之间前后依赖,串联而成。还有,我们可以发现,链表的元素不能随机访问。想象下,在高速运行的火车上,如果我们想从车头到达某个车厢,是不是只能挨个车厢走过去,而不能直接到达目标车厢。另外原创 2022-05-19 16:58:58 · 534 阅读 · 0 评论