
C++
文章平均质量分 81
Miles-
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构中常见的树(BST二叉搜索树、AVL平衡二叉树、RBT红黑树、B-树、B+树、B*树)
BST树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; 如: BST树的搜索,从根结点开始,如果查询的关键字与转载 2017-09-23 19:19:12 · 241 阅读 · 0 评论 -
C++ STL中哈希表 hash_map从头到尾详细介绍
0 为什么需要hash_map用过map吧?map提供一个很常用的功能,那就是提供key-value的存储和查找功能。例如,我要记录一个人名和相应的存储,而且随时增加,要快速查找和修改:岳不群-华山派掌门人,人称君子剑张三丰-武当掌门人,太极拳创始人东方不败-第一高手,葵花宝典...这些信息如果保存下来并不复杂,但是找起来比较麻烦。例如我要找"张三丰"的信转载 2017-09-23 19:47:22 · 5456 阅读 · 0 评论 -
C++中使用vector建立最大堆和最小堆
一、建堆vector nums = {9, 6, 2, 4, 7, 0, 1, 8, 3, 5};1、如果使用nums构建最大堆:make_heap(nums.begin(), nums.end());//或make_heap(nums.begin(), nums.end(), less());输出nums的结果为9 8 2 6 7 0 1 4 3 52、如果使用num转载 2017-09-08 16:23:10 · 1096 阅读 · 0 评论 -
STL中的优先级队列priority_queue
priority_queue(queue类似)完全以底部容器为根据,再加上二叉堆(大根堆或者小根堆)的实现原理,所以其实现非常简单,缺省情况下priority_queue以vector作为底部容器。另外priority_queue缺省比较规则是less:class Compare = lessless对应的是按照大根堆来实现优先级队列,当然也可以将比较规则设置为greater,这时转载 2017-09-08 17:47:34 · 526 阅读 · 0 评论 -
数据流中的中位数
题目描述如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。分析:对于数据流,对应的就是在线算法了,一道很经典的题目就是在1亿个数中找到最大的前100个数,这是一道堆应用题,找最大的前100个数,那么我们就创建一个大小为100的最小化堆,每来一个元素就与原创 2017-09-08 17:50:13 · 273 阅读 · 0 评论 -
C++ map,set内部数据结构
1)Set是一种关联容器,它用于存储数据,并且能从一个数据集合中取出数据。它的每个元素的值必须唯一,而且系统会根据该值来自动将数据排序。每个元素的值不能直接被改变。【重点】内部结构采用红黑树的平衡二叉树。multiset 跟set 类似,唯一的区别是允许键值重复!!!如: 为何map和set的插入删除效率比用其他序列容器高? 为何每次insert之后,以前保存的it转载 2017-09-22 17:21:02 · 2139 阅读 · 0 评论 -
连续输入多个字符时统计字符重复次数的一般方法
在C++primer的第五章练习题中,涉及到多道关于连续输入多个单词的习题,例如题5.12、5.14等,它通过比较前后输入的单词是否相等,来统计单词重复出现的次数。它们都有一个基本的思路:首先看一下练习5.14:编写一段程序,从标准输入中读取若干string对象并查找连续重复出现的单词。所谓连续重复出现的意思:一个单词后面紧跟着这个单词本身。要求记录连续重复出现的最大次数以及对应的单词。如原创 2017-06-21 22:15:01 · 2960 阅读 · 0 评论 -
C++ STL 之 unordered_set 介绍
简介 C++ 11中出现了两种新的关联容器:unordered_set和unordered_map,其内部实现与set和map大有不同,set和map内部实现是基于RB-Tree,而unordered_set和unordered_map内部实现是基于哈希表(hashtable),由于unordered_set和unordered_map内部实现的公共接口大致相同,所以本文转载 2018-01-14 22:44:08 · 1229 阅读 · 0 评论