数据结构(学习)
Probie Tao
这个作者很懒,什么都没留下…
展开
-
树——无向图深度优先生成森林——生成和存储算法
深度优先生成森林对于无向非连通图, 对其每一个连通分量的DFS搜索, 所经过V点集和E边集合,就会构成一个生成树。 所有生成树就会组成一个生成森林, 这个森林就叫深度优先生成森林。代码:改代码 是 通过深度优先搜索生成 森林, 并将其通过邻接兄弟表示法存储。#include<bits/stdc++.h>using namespace std;const int maxn =...原创 2019-11-06 19:24:14 · 2384 阅读 · 0 评论 -
数据结构——堆
一、什么是堆?堆是一类树形的数据结构。分为大顶堆(最大堆)和小顶堆(最小堆)。小顶堆的特点:儿子节点的值不小于父亲节点的值,堆顶元素是最小值大顶堆的特点:儿子节点的值不大于父亲节点的值, 堆顶元素是最大值堆可以被看做是一种完全二叉树结构。所以通常用数组实现,( 用指针也可以实现,比较麻烦)二、小顶堆的实现1、堆有两只操作:①一种是压入(push)元素操作②一种是压出(pop)堆...原创 2019-08-17 00:18:27 · 485 阅读 · 0 评论 -
数据结构————一种标记数组————位图(2.0)
一、简单介绍位图就是用每一位 来标记一个数是否存在, 相比bool类型, 极大的节省了空间。如果你想存maxn个数,最多只要 开maxn/32 + 1个 int(32位)的数组就行。位图的操作:①初始化为零,表示数数字都不存在②标记某个数字③删除某个数字的标记④查询某个数字是否存在二、实现原理:1、初始化为0:这个很简单,就是将数组初始化为0, 每一位就变为0了。2...原创 2019-09-06 23:42:10 · 832 阅读 · 0 评论