博客专栏  >  编程语言   >  【原创】C++数据结构

【原创】C++数据结构

本专栏讲详细讨论C++的各个数据结构:包括STL的vector,queue,stack,set,map等等,还有很多手写的数据结构如树状数组,线段树,二叉平衡树等等。

关注
1 已关注
10篇博文
  • 【原创】二分图匹配 与 匈牙利算法

    二分图先来看看什么是二分图。二分图的概念部图在了解二分图之前,我们现在看看图论中的部图。 部图在图论中有这样的定义: 一个图的节点集可分成若干个子集,使得每一条边的两端点不在同一子集内.若一个图...

    2017-05-15 13:40
    641
  • 【原创】C++ 动态数组 vector 详解

    一、引入 引入:略 vector收录在STL里,是一种特殊的数据结构。它的中文名字叫做“动态数组”或者“不定长数组”。 说白了,vector就是一个功能强大的数组。下面让我们来体验它强大的功能吧!...

    2017-04-13 14:06
    317
  • 【原创】并查集-亲戚

    非礼勿视 【基础图论】亲戚 时间限制: 1 Sec  内存限制: 64 MB [请你][不要][点我] 题目描述 若某个家族人员过于庞大,要判断两个是否是亲戚,确实还很不...

    2016-10-24 14:01
    868
  • 【原创】一维线段树的建树、插入、遍历和删除

    一、定义: 线段树,说白了,就是把线段储存在一棵树里。 举一个例子: 数轴上,有一条线段[1,9]:12345678 将其二分:          12345678        1234    56...

    2017-03-15 13:55
    262
  • 【原创】C++ 集合set与关联性容器

    关联性容器 set与map 引入 map和set常常用,但是不太了解,不太深入。想要深入的了解,发现网上的全是一些高级的东西,讲讲了map和set的定义,但是并没有或是很少提及用法。想看用法,...

    2017-05-03 14:01
    318
  • 【原创】堆排序+合并果子+优先队列

    堆排序 今天讲“堆”,堆就是用数组表示完全二叉树。 堆有一个有趣的性质:一个编号为i的结点的父亲结点为编号i/2的结点,左儿子为2i,右儿子为2i+1。 人们还规定,如果每个数都大于等于自己的父结...

    2016-10-03 09:54
    237
  • 【原创】【数据结构】一维树状数组的基本操作(单点修改,区间查询) (HDU1166 敌兵布阵)

    一、背景: 给定一个数列,要你求出区间[i,j]的各数字之和。 怎么办呢?打暴力吗? 如果有10000个点,1000次查询,怎么做呢? 我们可以存储每个点的前缀和,也就是[] 大风起兮气压低

    2017-03-31 13:28
    236
  • 【原创】queue队列小结

    一、queue的基本概念 queue的中文名字叫做队列。队列是什么呢? 相信大家都排过队吧! 如下图: 假设小红球,小黄球,小蓝球和小绿球这四个球去买票。小红球先排队,然后黄蓝绿依次站在后...

    2017-04-25 13:59
    153
  • 【原创】优先队列priority_queue详解

    优先队列一、 引入优先队列是一种特殊的队列,在学习堆排序的时候就有所了解,点“击”查看。那么优先队列是什么呢? 说白了,就是一种功能强大的队列。如果不太清楚队列,可以看看我这篇博客。它的功能强大在哪...

    2017-04-25 17:50
    663
  • 【原创】stack 栈 小结

    一、stack的基本概念 stack的中文名字叫做栈。栈是什么呢? 啊,网上说,弹夹就是一个栈。 大家看,我们往弹夹里边装子弹,最先射出来的是最后放进去的那枚子弹,以此类...

    2017-04-26 13:30
    211

img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部