随笔分类 -  数据结构

摘要:存图的各种数据结构,复杂如下 邻接矩阵 O(1)(查询一条边) O(n)枚举出边 O(N*N)空间复杂度 前向星 O(n)(查询一条边) O(n)枚举出边 O(N)空间复杂度 (预处理时间复杂度(O(NlgN))) 链式前向星 O(n)(查询一条边) O(n)枚举出边 O(N)空间复杂度 我们发现对 阅读全文
posted @ 2018-10-19 15:16 by_wang 阅读(383) 评论(0) 推荐(0)
摘要:线段树常常用于求解某些区间上的问题,它通过区间标记和分治思想,可以较快的处理区间问题,在理解线段树前,我们先理解一种较为简单的思想——分块 分块: 顾名思义,将要处理的区间分成块,一般一个块的大小为sqrt(n), 例如,我们要对某个区间做加法,之后查询一段的值,显然我们对于每个块用一个区间标记来表 阅读全文
posted @ 2018-10-19 14:32 by_wang 阅读(165) 评论(0) 推荐(0)
摘要:我们知道,堆这种数据结构是可以在堆顶删除一个元素的。 但是有些特殊的题目中,我们将数列压入到一个堆中,之后要对数列中的数进行删除操作,那么相应的,我们应该在堆中删除相应的元素。 但是我们不能在堆的中间删除一个值,怎么办呢? 有两种解决方案: 1.删除一个数时,我们对其的位置进行标记,同时开始压入堆中 阅读全文
posted @ 2018-09-09 12:58 by_wang 阅读(250) 评论(0) 推荐(0)
摘要:堆是什么呢?堆通常可以看成是一棵完全二叉树 那什么是完全二叉树呢? 若设二叉树的深度为h 除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数 第 h 层所有的结点都连续集中在最左边,这就是完全二叉树。 我们知道二叉树可以用数组模拟,堆自然也可以。现在让我们来画一棵完全二叉树: 我们很容 阅读全文
posted @ 2018-09-08 10:12 by_wang 阅读(367) 评论(0) 推荐(0)

Live2D