設(shè)計(jì)網(wǎng)站軟件開發(fā)佛山建網(wǎng)站的公司
鶴壁市浩天電氣有限公司
2026/01/22 10:14:43
設(shè)計(jì)網(wǎng)站軟件開發(fā),佛山建網(wǎng)站的公司,惠州網(wǎng)站建設(shè)公司曾,科右中旗網(wǎng)站建設(shè)csp信奧賽C標(biāo)準(zhǔn)模板庫STL#xff08;7#xff09;#xff1a;unordered_map的使用詳解 一、unordered_map 概述
unordered_map 是 C STL 中的關(guān)聯(lián)容器#xff0c;基于哈希表實(shí)現(xiàn)#xff0c;提供 O(1) 平均時(shí)間復(fù)雜度的查找、插入和刪除操作。
1.1 基本特性
底層結(jié)構(gòu)標(biāo)準(zhǔn)模板庫STL7unordered_map的使用詳解一、unordered_map 概述unordered_map是 C STL 中的關(guān)聯(lián)容器基于哈希表實(shí)現(xiàn)提供 O(1) 平均時(shí)間復(fù)雜度的查找、插入和刪除操作。1.1 基本特性底層結(jié)構(gòu)哈希表hash table時(shí)間復(fù)雜度平均情況O(1)最壞情況O(n)元素順序無序元素順序與插入順序無關(guān)頭文件#include unordered_mapC版本C11 及以上二、基本用法2.1 聲明和初始化#includeiostream#includeunordered_map#includestringusingnamespacestd;intmain(){// 1. 空unordered_mapunordered_mapint,stringmp1;// 2. 初始化列表unordered_mapstring,intmp2{{apple,5},{banana,3},{orange,7}};// 3. 復(fù)制構(gòu)造unordered_mapstring,intmp3(mp2);return0;}2.2 常用操作// 插入元素mp[apple]5;// 使用下標(biāo)運(yùn)算符mp.insert({banana,3});// 使用insert方法mp.emplace(orange,7);// 原地構(gòu)造效率更高// 訪問元素coutmp[apple]endl;// 如果不存在會(huì)創(chuàng)建coutmp.at(banana)endl;// 如果不存在拋出異常// 查找元素autoitmp.find(apple);if(it!mp.end()){coutFound: it-first - it-secondendl;}// 刪除元素mp.erase(apple);// 按鍵刪除mp.erase(it);// 按迭代器刪除// 遍歷元素for(autopair:mp){coutpair.first: pair.secondendl;}// 大小相關(guān)coutSize: mp.size()endl;coutEmpty: mp.empty()endl;mp.clear();// 清空三、競賽常用技巧3.1 統(tǒng)計(jì)頻率最常見的應(yīng)用// 統(tǒng)計(jì)數(shù)組中每個(gè)元素的出現(xiàn)次數(shù)vectorintnums{1,2,3,2,1,3,3,3};unordered_mapint,intfreq;for(intnum:nums){freq[num];}// 輸出頻率for(autop:freq){coutp.first appears p.second timesendl;}3.2 兩數(shù)之和問題// 在數(shù)組中找到兩個(gè)數(shù)使它們的和等于目標(biāo)值vectorinttwoSum(vectorintnums,inttarget){unordered_mapint,inthash;// 值 - 索引for(inti0;inums.size();i){intcomplementtarget-nums[i];if(hash.find(complement)!hash.end()){return{hash[complement],i};}hash[nums[i]]i;}return{};}3.3 字符串模式匹配// 判斷兩個(gè)字符串是否為字母異位詞boolisAnagram(string s,string t){if(s.length()!t.length())returnfalse;unordered_mapchar,intcount;for(charc:s)count[c];for(charc:t){if(--count[c]0)returnfalse;}returntrue;}四、與map的對比特性unordered_mapmap底層實(shí)現(xiàn)哈希表紅黑樹時(shí)間復(fù)雜度平均O(1)最差O(n)O(log n)元素順序無序按鍵排序內(nèi)存使用通常較少通常較多適用場景頻繁查找不關(guān)心順序需要有序遍歷選擇建議如果只需要快速查找使用unordered_map如果需要有序遍歷使用map如果有大量數(shù)據(jù)且查找頻繁優(yōu)先考慮unordered_map總結(jié)在CSP信奧賽中unordered_map是最重要的數(shù)據(jù)結(jié)構(gòu)之一尤其適合需要快速查找的場景- O(1)的平均時(shí)間復(fù)雜度統(tǒng)計(jì)頻率- 計(jì)數(shù)、頻率統(tǒng)計(jì)問題緩存中間結(jié)果- 動(dòng)態(tài)規(guī)劃中的記憶化搜索去重和存在性判斷- 配合unordered_set使用掌握好unordered_map的使用能在競賽中解決大量查找和統(tǒng)計(jì)類問題是C選手的必備技能。各種學(xué)習(xí)資料助力大家一站式學(xué)習(xí)和提升#includebits/stdc.husingnamespacestd;intmain(){cout########## 一站式掌握信奧賽知識! ##########;cout############# 沖刺信奧賽拿獎(jiǎng)! #############;cout###### 課程購買后永久學(xué)習(xí)不受限制! ######;return0;}一、CSP信奧賽C通關(guān)學(xué)習(xí)視頻課C語法基礎(chǔ)C語法進(jìn)階C算法C數(shù)據(jù)結(jié)構(gòu)CSP信奧賽數(shù)學(xué)CSP信奧賽STL二、CSP信奧賽C競賽拿獎(jiǎng)視頻課信奧賽csp-j初賽高頻考點(diǎn)解析CSP信奧賽C復(fù)賽集訓(xùn)課12大高頻考點(diǎn)專題集訓(xùn)三、考級、競賽刷題題單及題解GESP C考級真題題解CSP信奧賽C初賽及復(fù)賽高頻考點(diǎn)真題解析CSP信奧賽C一等獎(jiǎng)通關(guān)刷題題單及題解詳細(xì)內(nèi)容1、csp/信奧賽C完整信奧賽系列課程永久學(xué)習(xí)https://edu.csdn.net/lecturer/7901 點(diǎn)擊跳轉(zhuǎn)2、CSP信奧賽C競賽拿獎(jiǎng)視頻課https://edu.csdn.net/course/detail/40437 點(diǎn)擊跳轉(zhuǎn)3、csp信奧賽沖刺一等獎(jiǎng)有效刷題題解CSP信奧賽C初賽及復(fù)賽高頻考點(diǎn)真題解析持續(xù)更新https://blog.csdn.net/weixin_66461496/category_12808781.html 點(diǎn)擊跳轉(zhuǎn)2025 csp-j 復(fù)賽真題及答案解析最新更新2025 csp-x(山東) 復(fù)賽真題及答案解析最新更新2025 csp-x(河南) 復(fù)賽真題及答案解析最新更新2025 csp-x(遼寧) 復(fù)賽真題及答案解析最新更新2025 csp-x(江西) 復(fù)賽真題及答案解析最新更新2025 csp-x(廣西) 復(fù)賽真題及答案解析最新更新2020 ~ 2024 csp 復(fù)賽真題題單及題解2019 ~ 2022 csp-j 初賽高頻考點(diǎn)真題分類解析2021 ~ 2024 csp-s 初賽高頻考點(diǎn)解析2023 ~ 2024 csp-x (山東)初賽真題及答案解析2024 csp-j 初賽真題及答案解析2025 csp-j 初賽真題及答案解析最新更新2025 csp-s 初賽真題及答案解析最新更新2025 csp-x (山東)初賽真題及答案解析(最新更新)2025 csp-x (江西)初賽真題及答案解析(最新更新)2025 csp-x (遼寧)初賽真題及答案解析(最新更新)CSP信奧賽C一等獎(jiǎng)通關(guān)刷題題單及題解持續(xù)更新https://blog.csdn.net/weixin_66461496/category_12673810.html 點(diǎn)擊跳轉(zhuǎn)129 道刷題練習(xí)和詳細(xì)題解涉及模擬算法、數(shù)學(xué)思維、二分算法、 前綴和、差分、深搜、廣搜、DP專題、 樹和圖4、GESP C考級真題題解GESP(C 一級二級三級)真題題解持續(xù)更新https://blog.csdn.net/weixin_66461496/category_12858102.html 點(diǎn)擊跳轉(zhuǎn)GESP(C 四級五級六級)真題題解持續(xù)更新https://blog.csdn.net/weixin_66461496/category_12869848.html 點(diǎn)擊跳轉(zhuǎn)· 文末祝福 ·#includebits/stdc.husingnamespacestd;intmain(){cout跟著王老師一起學(xué)習(xí)信奧賽C;cout 成就更好的自己 ;cout csp信奧賽一等獎(jiǎng)屬于你! ;return0;}