hashmap什么情況下擴(kuò)容 HMAP是什么?
HMAP是什么?一、存儲中的HashMap以鍵值對的形式存儲元素。二、調(diào)用原理:HashMap需要一個hash函數(shù),使用hashCode()和equals()方法在集合中添加和檢索元素。當(dāng)調(diào)用put(
HMAP是什么?
一、存儲中的HashMap以鍵值對的形式存儲元素。
二、調(diào)用原理:HashMap需要一個hash函數(shù),使用hashCode()和equals()方法在集合中添加和檢索元素。當(dāng)調(diào)用put()方法時,HashMap計算鍵的哈希值,然后將鍵值對存儲在集合中適當(dāng)?shù)乃饕小H绻擁椧呀?jīng)存在,該值將被更新為新值。
第三,其他熱屬性:HashMap的一些重要特性是它的容量、loadfactor和thr
數(shù)據(jù)結(jié)構(gòu)中的樹結(jié)構(gòu)有哪些實際應(yīng)用?
Tree是一種抽象的數(shù)據(jù)類型,用來表示具有樹形結(jié)構(gòu)的數(shù)據(jù)集。
樹的種類很多,可以分為:
無序樹:樹中任何節(jié)點的子節(jié)點之間沒有順序關(guān)系的樹,也稱為自由樹。
這種樹一般不是研究和應(yīng)用的對象。
有序樹:樹中任何節(jié)點的子節(jié)點之間都存在有序關(guān)系。有序樹可以分為二叉樹、哈夫曼樹和B樹。
二叉樹:每個節(jié)點最多有兩個子樹的樹稱為二叉樹,其分支包括完全二叉樹、平衡二叉樹和排序二叉樹。
霍夫曼樹:一種加權(quán)路徑最短的二叉樹,也稱為最優(yōu)二叉樹,主要用于信息編碼。
b樹:一種次平衡的二叉查找樹,優(yōu)化讀寫操作。它可以保持?jǐn)?shù)據(jù)有序,并且有兩個以上的子樹。
從上面可以看出,樹木的品種很多,所以也得到廣泛的應(yīng)用。下面介紹幾種常見的樹的應(yīng)用場景。事實上,許多經(jīng)典的人工智能算法都使用樹結(jié)構(gòu)。比如機(jī)器學(xué)習(xí)中的決策樹就是一種廣泛使用的分類算法。下圖是一個女孩的邏輯視覺表達(dá)決策樹來決定是否要去見相親對象(圖中內(nèi)容僅為舉例)。
游戲中的AI也有樹的身影。在一些角色游戲中,用于角色智能尋路的算法,角色躲避障礙物并像人一樣自動選擇最佳路徑到達(dá)指定地點的能力等。一般是一種起始啟發(fā)式函數(shù)尋路算法,或者是它的變體優(yōu)化算法和一種與其他算法相結(jié)合的混合算法。
在自然語言處理中,詞向量是目前廣泛使用的自然語言的計算機(jī)表示。在單詞向量的訓(xùn)練過程中,首先優(yōu)化的數(shù)據(jù)結(jié)構(gòu)是用霍夫曼樹代替隱含層和輸出層的神經(jīng)元?;舴蚵鼧涞娜~節(jié)點在輸出層起到神經(jīng)元的作用,葉節(jié)點的數(shù)量就是詞匯量的大小。內(nèi)部節(jié)點起到隱藏層神經(jīng)元的作用。所謂的分層Softmax大大減少了訓(xùn)練所需的參數(shù)。
xml,html
存在使用xml、html等的時候。,在編寫解析器的時候,不可避免的要使用樹形結(jié)構(gòu)來描述元素之間的關(guān)系。
另外,路由協(xié)議、mysql數(shù)據(jù)庫索引、文件系統(tǒng)目錄結(jié)構(gòu)的編寫都是借用不同的樹結(jié)構(gòu)來完成的。