Sobes.tech
Middle — Middle+

Маъзулоти вақти гирифтани унсур аз HashMap агар дар дохили он дарахти сурх-сиёҳ истифода шавад чӣ гуна аст؟

sobes.tech AI

Ҷавоб аз AI

Дар Java, аз версияи 8, агар дар бакет HashMap зиёда аз 8 унсур (коллизияҳо) вуҷуд дошта бошад, рӯйхати дарунӣ ба дарахти сурх-сиёҳ табдил дода мешавад, то иҷрои беҳтар шавад.

Масъулияти вақт барои гирифтани унсур аз HashMap дар ин ҳолат аз O(1) амортизадашуда (бо истифода аз рӯйхати пайвастшуда) ба O(log n) тағйир меёбад, ки дар он n шумораи унсурҳо дар он бакет (яъне амиқии дарахт) мебошад.

Бинобар ин, бо истифода аз дарахти сурх-сиёҳ дар дохили бакет, ҷустуҷӯи унсур дар O(log n) анҷом меёбад.