看過(guò)很多勵(lì)志的故事,聽(tīng)過(guò)很多成功學(xué)的雞湯,很多書(shū)中都在講,成功需要努力,需要堅(jiān)持,需要制定計(jì)劃等等一系列的說(shuō)法。但是我還是成為不了一個(gè)努力的人,自從小到大,感覺(jué)自己從來(lái)沒(méi)有主...
看過(guò)很多勵(lì)志的故事,聽(tīng)過(guò)很多成功學(xué)的雞湯,很多書(shū)中都在講,成功需要努力,需要堅(jiān)持,需要制定計(jì)劃等等一系列的說(shuō)法。但是我還是成為不了一個(gè)努力的人,自從小到大,感覺(jué)自己從來(lái)沒(méi)有主...
一、一個(gè)模型三個(gè)特征理論 一個(gè)模型:動(dòng)態(tài)規(guī)劃適合解決的問(wèn)題的模型。把這個(gè)模型定義為”多階段決策最優(yōu)解模型“,解決的問(wèn)題的過(guò)程,需要經(jīng)歷多個(gè)決策階段。每個(gè)決策階段都對(duì)應(yīng)著一組狀...
一、什么是 Trie樹(shù)? Trie樹(shù),也叫字典樹(shù),它是一個(gè)樹(shù)形結(jié)構(gòu)。它是一種專(zhuān)門(mén)處理字符串匹配的數(shù)據(jù)結(jié)構(gòu),用來(lái)解決在一組字符串集合中快速查找某個(gè)字符串的問(wèn)題。 Trie樹(shù)的本...
一、字符串原理 KMP算法是由它的三位作者(D.E.Knuth,J.H.Morris 和 V.R.Pratt)的名字來(lái)命名的;SMP算法的核心思想跟BM算法很相似,主要不同在...
一、BF算法 BF算法中的BF是Brute Force的縮寫(xiě),可以叫暴力算法,也叫樸素匹配算法。這種算法的字符串匹配很“暴力”,比較簡(jiǎn)單、容易理解,但性能也不高。 BF算法的...
一、基本概念 字符串匹配是計(jì)算機(jī)科學(xué)領(lǐng)域中最古老、研究最廣泛的問(wèn)題之一,層出不窮的前輩們也總結(jié)了非常多經(jīng)典的優(yōu)秀算法,例如 BF 算法、RK 算法、BM 算法、KMP 算法,...
一、什么是堆? 堆是一種特殊的樹(shù),堆要滿(mǎn)足下面兩點(diǎn)。1、堆是一個(gè)完全二叉樹(shù);2、堆中每一個(gè)節(jié)點(diǎn)的值都必須大于等于(或小于等于)其子樹(shù)中每個(gè)節(jié)點(diǎn)的值。通過(guò)下圖可以更好理解: 根...
遞歸的思想就是,將大問(wèn)題分解成小問(wèn)題來(lái)求解,然后再將小問(wèn)題分解成小小問(wèn)題。這樣一層一層的分解,直到問(wèn)題的數(shù)據(jù)規(guī)模被分解得足夠小,不用繼續(xù)遞歸分解為止。 如果我們把這個(gè)一層一層...
一、如何定義一棵"紅黑樹(shù)"? 顧名思義,紅黑樹(shù)中的節(jié)點(diǎn),一類(lèi)被標(biāo)記為黑色,一類(lèi)標(biāo)記為紅色。除此之外,一課紅黑樹(shù)還需要滿(mǎn)足這樣幾個(gè)要求: 1.根節(jié)點(diǎn)是黑色的; 2....
一、樹(shù) 1、樹(shù)的常用概念 節(jié)點(diǎn):樹(shù)中的每個(gè)元素稱(chēng)為節(jié)點(diǎn) 父子關(guān)系:相鄰兩節(jié)點(diǎn)的連線,稱(chēng)為父子關(guān)系 根節(jié)點(diǎn):沒(méi)有父節(jié)點(diǎn)的節(jié)點(diǎn) 葉子節(jié)點(diǎn):沒(méi)有...
一、散列表的由來(lái)? 1、散列表來(lái)源于數(shù)組,它借助散列函數(shù)對(duì)數(shù)組這種數(shù)據(jù)結(jié)構(gòu)進(jìn)行擴(kuò)展,利用的是數(shù)組支持下標(biāo)隨機(jī)訪問(wèn)元素的特性。 2、需要標(biāo)識(shí)存儲(chǔ)在散列表中數(shù)據(jù)我們稱(chēng)為鍵...
一、數(shù)組的特點(diǎn) 1、數(shù)組是一種線性表數(shù)據(jù)結(jié)構(gòu)。它是一組連續(xù)的內(nèi)存空間,來(lái)存儲(chǔ)一組具有相同類(lèi)型的數(shù)據(jù)。 2、數(shù)組需要預(yù)留空間,在使用前要中評(píng)占內(nèi)存的大小,可能會(huì)浪費(fèi)內(nèi)存...
一、final 修飾類(lèi):不可被繼承 修飾方法:不可重寫(xiě) 修飾變量:不可修改,final標(biāo)識(shí)的變量不等于不可變,對(duì)于變量而言這個(gè)變量只是不能夠賦值,但是可以做任何增...
一、什么是跳表 跳表為一個(gè)值有序的鏈表建立多級(jí)索引;比如每2個(gè)節(jié)點(diǎn)提取一個(gè)節(jié)點(diǎn)到時(shí)上一級(jí),我們把抽出來(lái)的那一級(jí)叫做索引或索引層。 二、跳表的時(shí)間復(fù)雜度? 1、計(jì)算跳表...
1,Error:系統(tǒng)錯(cuò)誤,虛擬機(jī)出錯(cuò),跟系統(tǒng)有關(guān)。在代碼中處理不了。 2、Exception:可以捕獲的異常,且作出處理。要么捕獲異常并算出處理,要么繼續(xù)拋出異常。 3、Ru...
一、宏觀角度 .. 1、跟c/c++最大的不同點(diǎn)在于,c/c++編程是面向操作系統(tǒng)的,需要開(kāi)發(fā)者極大地關(guān)心不同操作系統(tǒng)之間的差異性;而Java平臺(tái)通過(guò)虛擬機(jī)屏蔽了操作系統(tǒng)的底...