1. 什么是哈希算法? 將任意長度的二進(jìn)制值串映射為固定長度的二進(jìn)制值串,這個(gè)映射的規(guī)則就是哈希算法骗污,而通過原始數(shù)據(jù)映射之后得到的二進(jìn)制值串就是...
散列表雖然支持高效的數(shù)據(jù)插入、刪除和查找操作妆偏,但是其中的數(shù)據(jù)都是通過散列函數(shù)打亂之后無規(guī)律的。也就是說盅弛,它無法按照某種順序快速地遍歷钱骂。如果想有序...
工業(yè)級(jí)的散列表應(yīng)該具有哪些特性? 支持快速的查詢见秽、插入愉烙、刪除操作; 內(nèi)存占用合理解取,不能浪費(fèi)過多的內(nèi)存空間步责; 性能穩(wěn)定,極端情況下肮蛹,散列表的性能也...
1. 散列思想 散列表利用的就是數(shù)組支持按照下標(biāo)隨機(jī)訪問的時(shí)候勺择,時(shí)間復(fù)雜度是 O(1) 的特性。通過散列函數(shù)把元素的鍵值映射為下標(biāo)伦忠,然后將數(shù)據(jù)存...
1. 如何理解遞歸省核? 遞歸是一種應(yīng)用非常廣泛的編程技巧,比如 DFS 深度優(yōu)先搜索昆码、前中后序二叉樹遍歷等都是使用遞歸气忠。 一個(gè)遞歸求解問題的分解過...
1. 什么是隊(duì)列? 隊(duì)列的特點(diǎn)是先進(jìn)先出赋咽,有兩個(gè)基本操作:入隊(duì)(enqueue)旧噪,放一個(gè)數(shù)據(jù)到隊(duì)列尾部;出隊(duì)(dequeue)脓匿,從隊(duì)列頭部取一個(gè)...
1. 什么是棧淘钟? 棧的特點(diǎn)是后進(jìn)先出,是一種“操作受限”的線性表陪毡,只允許在一端插入和刪除米母。當(dāng)某個(gè)數(shù)據(jù)集合只涉及在一端插入和刪除數(shù)據(jù),并且滿足后進(jìn)...
技巧一:理解指針或引用的含義 指針或引用存儲(chǔ)的是對(duì)象的內(nèi)存地址毡琉。將某個(gè)變量賦值給指針铁瞒,實(shí)際上就是將這個(gè)變量的地址賦值給指針。 p->next=q...
經(jīng)典的鏈表應(yīng)用場(chǎng)景就是 LRU 緩存淘汰算法桅滋。 1. 鏈表結(jié)構(gòu) 數(shù)組需要一塊連續(xù)的內(nèi)存空間來存儲(chǔ)慧耍,對(duì)內(nèi)存的要求比較高。而鏈表不需要丐谋,它通過“指針...