当前位置: 首页 > wzjs >正文

长春seo建站中国新闻发布

长春seo建站,中国新闻发布,网站开发的搭建框架是什么意思,属于网页制作工具的是1.概述 在 C 的世界里,unordered_set(哈希集合)和unordered_map(哈希映射)作为基于哈希表实现的关联容器,是高效数据处理的得力工具。它们凭借独特的哈希技术,突破了传统有序容器的限制&#x…

1.概述

在 C++ 的世界里,unordered_set(哈希集合)和unordered_map(哈希映射)作为基于哈希表实现的关联容器,是高效数据处理的得力工具。它们凭借独特的哈希技术,突破了传统有序容器的限制,在诸多场景下展现出卓越性能。这二者在底层实现上有着相似的脉络,皆依赖哈希表来组织数据,以实现快速的数据访问;但在应用方向上,又因存储内容的差异 ——unordered_set专注于存储唯一元素,而unordered_map擅长维护键值对映射,呈现出各自的特点。接下来,就让我们深入探究unordered_set与unordered_map在功能特性、操作细节、性能表现以及适用场景等方面的异同,为你在实际编程中精准选用它们提供有力支持

2数据结构

哈希表

 

借鉴了一种函数思想 将输入->通过一个变化->映射到一个储存空间
现代实现中,为了避免链表过长导致的性能下降(链表查找、插入和删除操作的时间复杂度为O(N,当链表长度超过一定阈值时,会将链表转换为树结构(如红黑树),树结构在处理大量元素时,查找、插入和删除操作的时间复杂度为0(log(N)) 

std::unordered_map 在处理元素时,会使用键(key)作为输入传递给哈希函数

std::unordered_set就用val进入

3 操作方法

创建

using namespace std;unordered_map<type ,type> um();unordered_map um(InputIterator first, InputIterator last)std::unordered_map<Key, T> um1(um2)std::unordered_map<Key, T> um(std::move(um2));set 同理

有一个关键是pair组件,使用第二个,你的迭代对象得是pair

访问

size_type size() const; // 返回 unordered_set 中元素的数量bool empty() const; // 判断 unordered_set 是否为空iterator find(const Key& k); 
// 在 unordered_set 中查找键为 k 的元素,如果找到返回指向该元素的迭代器,否则返回 end()//map都不用变的 直接用 key是键的数据类型

元素:

只有map有

T& operator[](const Key& k); 
// 返回键为 k 的值的引用,如果键不存在,则插入一个默认构造的值T& at(const Key& k); 
// 返回键为 k 的值的引用,如果键不存在,抛出 std::out_of_range 异常

两者都有

map
for (const auto& [key, value] : myMap) {std::cout << "Key: " << key << ", Value: " << value << std::endl;
}
set
for (const auto &t : set) {std::cout  << key << endl;
}

增加

// 插入单个元素
std::pair<iterator, bool> insert(const value_type& val); 
// 插入范围
template <class InputIterator>
void insert(InputIterator first, InputIterator last); template <class... Args>
std::pair<iterator, bool> emplace(Args&&... args); 
// 直接在 unordered_set 中构造元素

删除

// 删除指定位置的元素
iterator erase(iterator position); 
// 删除指定键的元素
size_type erase(const Key& k); 
// 删除指定范围的元素
iterator erase(iterator first, iterator last); 

你可以结合STL之关联容器(map ,set)-CSDN博客这个来看 成员函数解析

4.应用场景

性能要求

  • 对性能要求极高且哈希冲突可控:如果应用程序对插入、查找和删除操作的性能要求非常高,且能合理控制哈希冲突(例如选择合适的哈希函数和负载因子),那么 unordered_map 和 unordered_set 是更好的选择。例如,在实时数据处理系统中,需要快速处理大量的数据插入和查找操作。

  • 对有序性有要求且性能可接受:当需要元素有序,并且对插入、删除和查找操作的性能要求不是极端高时,map 和 set 更合适。例如,在一个需要按顺序输出统计结果的报表生成系统中。

数据结构复杂度

  • 简单数据处理:对于简单的数据存储和查找,且不需要额外的排序操作,unordered_map 和 unordered_set 由于其实现相对简单,在代码编写和维护上可能更方便。

  • 复杂数据处理:如果需要进行范围查找、获取最大 / 最小元素等操作,map 和 set 基于红黑树的特性可以更好地支持这些操作。例如,在一个需要找出某个区间内所有元素的应用中,map 可以方便地通过迭代器进行范围查找。

http://www.dtcms.com/wzjs/140295.html

相关文章:

  • 帮妈妈做家务作文网站互联网营销师怎么报名
  • 室内设计师网名专用长沙 建站优化
  • 简述电子商务网站的建设滕州今日头条新闻
  • 分销平台用户协议seo关键词分类
  • 网站建设实习周记奶茶店营销软文
  • 清城区做模板网站建设微信投放广告多少钱
  • 上门做网站公司成都黑帽seo
  • 网站做优化需要哪些后台信息西安seo培训机构
  • 咨询北京国互网网站建设推广产品
  • 网站建设需要具备哪些知识博客营销案例
  • 郑州网站开发比较好的网络公司百度网讯科技客服人工电话
  • iis7 发布asp网站404最近几天的新闻
  • 有什么做衣服的网站吗市场营销分析案例
  • 开网店哪个平台最好上海谷歌seo
  • 武汉做网站的大公司有哪些谷歌google浏览器
  • wordpress 分类文章排序百度优化服务
  • 自己做发卡网站百度浏览器网站入口
  • 亳州建设网站nba西部排名
  • 网站营销网站营销推广seo优化在线诊断
  • ubuntu配置wordpress优化好搜移动端关键词快速排名
  • 中山精品网站建设策划关键词点击优化工具
  • 织梦生成网站地图磁力搜索引擎2023
  • 海口手机版网站建设一个产品营销策划方案
  • 百度网站的优缺点搜索引擎在线
  • 关于信用体系建设的网站产品营销策划方案
  • 四川专门做招聘酒的网站线上推广方式
  • 怎样免费做书画网站朝阳区seo搜索引擎优化介绍
  • 深圳网站建设费用百度seo优化技术
  • 网站页面设计图是用什么软件画的广安网站seo
  • 重庆市建设项目环境影响评价网站公司网站建设全包