成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

【C++零散】unordered-創(chuàng)新互聯(lián)

文章目錄
  • 1 map與unordered_map區(qū)別及使用
  • 2 set與unordered_set區(qū)別(與map類似):
  • 3 vector和list的區(qū)別(隨機(jī)存取、插入刪除)

勐臘網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、自適應(yīng)網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)于2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
1 map與unordered_map區(qū)別及使用

需要引入的頭文件不同:

  • map:#include
  • unordered_map:#include

內(nèi)部實(shí)現(xiàn)機(jī)理不同:

  • map:

    • map內(nèi)部實(shí)現(xiàn)了一個(gè)紅黑樹(紅黑樹是非嚴(yán)格平衡二叉搜索樹,而AVL是嚴(yán)格平衡二叉搜索樹)
    • 紅黑樹具有自動(dòng)排序的功能,因此map內(nèi)部的所有元素都是有序的
    • map中的元素是按照二叉搜索樹(又名二叉查找樹、二叉排序樹,特點(diǎn)就是左子樹上所有節(jié)點(diǎn)的鍵值都小于根節(jié)點(diǎn)的鍵值,右子樹所有節(jié)點(diǎn)的鍵值都大于根節(jié)點(diǎn)的鍵值)存儲的,使用中序遍歷可將鍵值按照從小到大遍歷出來。
  • unordered_map:

    • unordered_map內(nèi)部實(shí)現(xiàn)了一個(gè)哈希表(也叫散列表,通過把關(guān)鍵碼值映射到Hash表中一個(gè)位置來訪問記錄,查找的時(shí)間復(fù)雜度可達(dá)到O(1),其在海量數(shù)據(jù)處理中有著廣泛應(yīng)用)。
    • 因此,其元素的排列順序是無序的。

優(yōu)缺點(diǎn)以及適用處:

  • map:

    • 優(yōu)點(diǎn):有序性,這是map結(jié)構(gòu)大的優(yōu)點(diǎn),其元素的有序性在很多應(yīng)用中都會簡化很多的操作,內(nèi)部實(shí)現(xiàn)一個(gè)紅黑樹使得map的很多操作在log(n)的時(shí)間復(fù)雜度下就可以實(shí)現(xiàn),因此效率非常的高
    • 缺點(diǎn): 空間占用率高,因?yàn)閙ap內(nèi)部實(shí)現(xiàn)了紅黑樹,雖然提高了運(yùn)行效率,但是因?yàn)槊恳粋€(gè)節(jié)點(diǎn)都需要額外保存父節(jié)點(diǎn)、孩子節(jié)點(diǎn)和紅/黑性質(zhì),使得每一個(gè)節(jié)點(diǎn)都占用大量的空間
    • 適用處:對于那些有順序要求的問題,用map會更高效一些
  • unordered_map:

    • 優(yōu)點(diǎn): 因?yàn)閮?nèi)部實(shí)現(xiàn)了哈希表,因此其查找速度非常的快
    • 缺點(diǎn): 哈希表的建立比較耗費(fèi)時(shí)間
    • 適用處:對于查找問題,unordered_map會更加高效一些,因此遇到查找問題,常會考慮一下用unordered_map
  • 總結(jié):

    • 內(nèi)存占有率的問題就轉(zhuǎn)化成紅黑樹 VS hash表, 還是unordered_map占用的內(nèi)存要高。但是unordered_map執(zhí)行效率要比map高很多
    • 對于unordered_map或unordered_set容器,其遍歷順序與創(chuàng)建該容器時(shí)輸入的順序不一定相同,因?yàn)楸闅v是按照哈希表從前往后依次遍歷的
2 set與unordered_set區(qū)別(與map類似):
  • set:基于紅黑樹實(shí)現(xiàn),紅黑樹具有自動(dòng)排序的功能,因此set內(nèi)部所有的數(shù)據(jù),在任何時(shí)候,都是有序的。
  • unordered_set:
    • 基于哈希表,數(shù)據(jù)插入和查找的時(shí)間復(fù)雜度很低,幾乎是常數(shù)時(shí)間,而代價(jià)是消耗比較多的內(nèi)存,無自動(dòng)排序功能。
    • 底層實(shí)現(xiàn)上,使用一個(gè)下標(biāo)范圍比較大的數(shù)組來存儲元素,形成很多的桶,利用hash函數(shù),來對key進(jìn)行映射到不同區(qū)域進(jìn)行保存。
3 vector和list的區(qū)別(隨機(jī)存取、插入刪除)
  • vector擁有一段連續(xù)的內(nèi)存空間,因此支持隨機(jī)存取,如果需要高效的隨機(jī)存取,而不在乎插入和刪除的效率,使用vector。
  • list擁有一段不連續(xù)的內(nèi)存空間,因此不支持隨機(jī)存取,如果需要大量的插入和刪除,而不關(guān)心隨機(jī)存取,則應(yīng)使用list。

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

本文題目:【C++零散】unordered-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://jinyejixie.com/article4/decsie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站App開發(fā)、建站公司、服務(wù)器托管、企業(yè)建站、品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
甘孜| 岗巴县| 九龙县| 郓城县| 吉首市| 锡林浩特市| 高密市| 黄大仙区| 梁山县| 乐昌市| 广南县| 长武县| 山阴县| 延庆县| 卓尼县| 永兴县| 罗山县| 七台河市| 乌兰浩特市| 太谷县| 黄平县| 永新县| 侯马市| 乌兰县| 荥阳市| 固安县| 社旗县| 枣强县| 英山县| 定边县| 大同市| 平阳县| 江陵县| 兴安县| 腾冲县| 金昌市| 津南区| 秦皇岛市| 银川市| 且末县| 司法|