魚人學(xué)習(xí)小計(五)

算法題:
1)數(shù)組與鏈表區(qū)別
數(shù)組在內(nèi)存中是連續(xù)存放的绽媒,每個元素都有相同的內(nèi)存空間,可以通過下標(biāo)迅速的找到數(shù)組中的元素免猾,但是如果修改數(shù)組元素是辕,則需要移動數(shù)組中所有元素,申請新的內(nèi)存空間猎提,比較麻煩获三。而鏈表相反,它在內(nèi)存中是不連續(xù)的锨苏,每個元素都包含有指向下一個元素的指針疙教,如果查找元素,則要從鏈表首元素開始通過指針查找伞租,但是如果要添加和刪除鏈表則比較簡單贞谓,修改指針就可以。

2)兩個長鏈表求交點(考慮環(huán))
分兩種情況葵诈,兩個無環(huán)單鏈表裸弦,則去遍歷鏈表長度,遍歷完看結(jié)尾地址是否相同作喘,相同則有交點理疙。讓長鏈表先走長度差的步數(shù),再將兩個鏈表同時走徊都,相等時得到交點。
帶環(huán)交點广辰。判斷有環(huán)暇矫,再求環(huán)的起點。判斷有環(huán)择吊,快慢指針如果相交則有環(huán)李根。此時在交點位置上,將快指針調(diào)慢几睛,慢指針回到起點房轿,再次相交則為環(huán)的起點。

3)堆排序,以及建堆的過程
堆排序是常用的一種排序算法囱持。它的思路是將一個數(shù)組先建成一個大堆夯接,去掉堆頂(堆頂為已知最大或最小)元素后纷妆,再講剩下的元素重新做堆盔几,直至全部排序。
建堆思路掩幢,輸出堆頂元素后將堆底元素放到堆頂逊拍,然后跟子節(jié)點比較替換,恢復(fù)堆的性質(zhì)际邻。

4)反轉(zhuǎn)單鏈表芯丧,反轉(zhuǎn)單鏈表的部分區(qū)間
每次將區(qū)間的表頭的后面那個元素放到區(qū)間前一個元素的后面。

5)刪除原排序數(shù)組內(nèi)重復(fù)次數(shù)超過三次的數(shù)字(不開輔助空間)

6)百萬數(shù)據(jù)尋找最大的十個數(shù)
建堆世曾。
7)連續(xù)子數(shù)組的最大和
暴力法缨恒,遍歷數(shù)組每個元素,求和對比度硝。
分治法,去中間點將數(shù)組分為三種蕊程,左數(shù)組椒袍,右數(shù)組,包含中點數(shù)組藻茂,對三種求和對比驹暑,遞歸分析。
8)快排的理解辨赐、時間復(fù)雜度优俘,什么情況下時間復(fù)雜度最高
快排實現(xiàn)就是在數(shù)組中取一個基準(zhǔn)值,將數(shù)組分為大于基準(zhǔn)值和小于基準(zhǔn)值部分實現(xiàn)基準(zhǔn)值的準(zhǔn)確定位掀序,再講剩余兩部分做遞歸分析帆焕。對有序數(shù)組快排時間復(fù)雜度最高。
9)如何判斷一個鏈表有環(huán)不恭,以及入口點在那里
見(2)
10)反轉(zhuǎn)字符串“I LOVE YOU” 為 “YOU LOVE I”
全盤反轉(zhuǎn)叶雹,然后部分反轉(zhuǎn)。
11)找第一個不重復(fù)的字符
兩個遍歷换吧,拿每個字符遍歷字符數(shù)組折晦,取得不重復(fù)的。
哈希列表沾瓦,存元素值與重復(fù)次數(shù)满着。
12)哈希的原理谦炒,以及處理沖突的方式。
HashMap的底層主要是基于數(shù)組和鏈表來實現(xiàn)的风喇,它之所以有相當(dāng)快的查詢速度主要是因為它是通過計算散列碼來決定存儲的位置宁改。HashMap中主要是通過key的hashCode來計算hash值的,只要hashCode相同响驴,計算出來的hash值就一樣透且。如果存儲的對象對多了,就有可能不同的對象所算出來的hash值是相同的豁鲤,這就出現(xiàn)了所謂的hash沖突秽誊。主要通過鏈表來解決hash沖突的。當(dāng)出現(xiàn)沖突的時候琳骡,它通過釋放原來的數(shù)組結(jié)構(gòu)锅论,并進(jìn)行分配大一個數(shù)組結(jié)構(gòu)來存放新的元素的。它的劣勢很明顯楣号,如果沖突比較多會頻繁的alloc和free最易。類似將哈希表分為基本表和溢出表兩部分,凡是和基本表發(fā)生沖突的元素炫狱,一律填入溢出表藻懒。第二種方法,當(dāng)關(guān)鍵字key的哈希地址p=H(key)出現(xiàn)沖突時视译,以p為基礎(chǔ)嬉荆,產(chǎn)生另一個哈希地址p1,如果p1仍然沖突酷含,再以p為基礎(chǔ)鄙早,產(chǎn)生另一個哈希地址p2,…椅亚,直到找出一個不沖突的哈希地址pi 限番,將相應(yīng)元素存入其中。
哈希表的構(gòu)造方法:如果事先知道關(guān)鍵字集合呀舔,并且每個關(guān)鍵字的位數(shù)比哈希表的地址碼位數(shù)多時弥虐,可以從關(guān)鍵字中選出分布較均勻的若干位,構(gòu)成哈希地址媚赖。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末霜瘪,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子省古,更是在濱河造成了極大的恐慌粥庄,老刑警劉巖丧失,帶你破解...
    沈念sama閱讀 216,470評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件豺妓,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機琳拭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評論 3 392
  • 文/潘曉璐 我一進(jìn)店門训堆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人白嘁,你說我怎么就攤上這事坑鱼。” “怎么了絮缅?”我有些...
    開封第一講書人閱讀 162,577評論 0 353
  • 文/不壞的土叔 我叫張陵鲁沥,是天一觀的道長。 經(jīng)常有香客問我耕魄,道長画恰,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,176評論 1 292
  • 正文 為了忘掉前任吸奴,我火速辦了婚禮允扇,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘则奥。我一直安慰自己考润,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,189評論 6 388
  • 文/花漫 我一把揭開白布读处。 她就那樣靜靜地躺著糊治,像睡著了一般。 火紅的嫁衣襯著肌膚如雪档泽。 梳的紋絲不亂的頭發(fā)上俊戳,一...
    開封第一講書人閱讀 51,155評論 1 299
  • 那天,我揣著相機與錄音馆匿,去河邊找鬼抑胎。 笑死,一個胖子當(dāng)著我的面吹牛渐北,可吹牛的內(nèi)容都是我干的阿逃。 我是一名探鬼主播,決...
    沈念sama閱讀 40,041評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼赃蛛,長吁一口氣:“原來是場噩夢啊……” “哼恃锉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起呕臂,我...
    開封第一講書人閱讀 38,903評論 0 274
  • 序言:老撾萬榮一對情侶失蹤破托,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后歧蒋,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體土砂,經(jīng)...
    沈念sama閱讀 45,319評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡州既,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,539評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了萝映。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吴叶。...
    茶點故事閱讀 39,703評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖序臂,靈堂內(nèi)的尸體忽然破棺而出蚌卤,到底是詐尸還是另有隱情,我是刑警寧澤奥秆,帶...
    沈念sama閱讀 35,417評論 5 343
  • 正文 年R本政府宣布逊彭,位于F島的核電站,受9級特大地震影響构订,放射性物質(zhì)發(fā)生泄漏诫龙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,013評論 3 325
  • 文/蒙蒙 一鲫咽、第九天 我趴在偏房一處隱蔽的房頂上張望签赃。 院中可真熱鬧,春花似錦分尸、人聲如沸锦聊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽孔庭。三九已至,卻和暖如春材蛛,著一層夾襖步出監(jiān)牢的瞬間圆到,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評論 1 269
  • 我被黑心中介騙來泰國打工卑吭, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留芽淡,地道東北人。 一個月前我還...
    沈念sama閱讀 47,711評論 2 368
  • 正文 我出身青樓豆赏,卻偏偏與公主長得像挣菲,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子掷邦,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,601評論 2 353

推薦閱讀更多精彩內(nèi)容