字符串知識(shí)點(diǎn)總結(jié)

用二進(jìn)制來編碼字符串“abcdabaa”因块,需要能夠根據(jù)編碼,解碼回原來的字符串籍铁,最少需要()長的二進(jìn)制字符串涡上?
答案:14
Huffman編碼結(jié)果不是唯一的。a:1位 b:2位 c: 3位 d:3位 所以拒名,abcdabaa一共占用 4 * 1 + 2 * 2 + 3 + 3 = 14

圖非原創(chuàng)

字符串www.qq.com所有非空子串(兩個(gè)子串如果內(nèi)容相同則只算一個(gè))個(gè)數(shù)是()
答案:50
要求的是子串吩愧,從左到右一次截取, 10個(gè)字符的子串增显,1個(gè); 9個(gè)字符的子串雁佳,2個(gè); 8----------------------37----------------------4 ......... 1----------------------10共有:1+2+3+...+10=10*(10+1)/2=55 減去重復(fù)的: 1個(gè)字符時(shí)有3個(gè)w,2個(gè)q,2個(gè). 2個(gè)字符時(shí)有2個(gè)ww故應(yīng)減去:(2+1+1+1)=5 答案:55-5=50

KMP算法下,長為n的字符串中匹配長度為m的子串的復(fù)雜度為()
答案:O(M+N)
BF算法(普通匹配算法):時(shí)間復(fù)雜度O(m*n)同云;空間復(fù)雜度O(1)
KMP算法:時(shí)間復(fù)雜度O(m+n)糖权;空間復(fù)雜度O(n)//模式串大小

串′ababaaababaa′的next數(shù)組為()?
答案:011234223456
next數(shù)組下標(biāo)從1開始計(jì)算
next[1] 肯定是 0
next[2] 肯定是 1
next[n] 的情況炸站,將前面n-1個(gè)字符星澳,計(jì)算從首尾開始組成最大的相同子串的長度,如果找到旱易,那么next值是該長度加1禁偎,否則next值是1腿堤。
舉例
next[6]的計(jì)算,字符串第六位是 a 届垫,( ababa a ababaa)
將前面的5個(gè)字符释液,從頭尾開始取4個(gè)組成子串比較,如果不相等装处,則從首尾取3個(gè)字符組成子串繼續(xù)比較误债,并以此類推, 如果一直比較到最后一個(gè)字符都不相等妄迁,那么該next值為1寝蹈。
4個(gè)字符的情況:abab : baba
3個(gè)字符的情況:aba : aba 此時(shí)相等,那么next[6] = 3+1 = 4

**
下列數(shù)據(jù)結(jié)構(gòu)不是多型數(shù)據(jù)類型的是()**
答案:字符串 都是char類型 (堆登淘,棧箫老,有向圖都是多型數(shù)據(jù)類型)

假設(shè)某段通信電文僅由 6 個(gè)字母 ABCDEF 組成,字母在電文中出現(xiàn)的頻率分別為2黔州,3耍鬓,7,15流妻,4牲蜀,6。根據(jù)這些頻率作為權(quán)值構(gòu)造哈夫曼編碼绅这,最終構(gòu)造出的哈夫曼樹帶權(quán)路徑長度與字母 B 的哈夫曼編碼分別為______涣达。(這里假定左節(jié)點(diǎn)的值小于右節(jié)點(diǎn)的值)
答案:86 1011
長度:(2+3)4+(4+6+7)3+15=86
一棵哈夫曼樹的帶權(quán)路徑長度等于樹中所有的葉結(jié)點(diǎn)的權(quán)值乘上其到根結(jié)點(diǎn)的路徑長度。

圖來自網(wǎng)絡(luò)

**
若初始序列為gbfcdae证薇,那么至少需要 次兩兩交換度苔,才能使該序列變?yōu)閍bcdefg。任給一個(gè)自由a--g這7個(gè)字母組成的排列浑度,最壞的情況下需要至少_ 次兩兩交換寇窑,才能使序列變?yōu)閍bcdefg。**
答案 : 5 6
次數(shù)最少的交換方法是:每次兩兩交換至少要使一個(gè)字符到達(dá)最終位置箩张。
第一次交換a,g結(jié)果為:abfcdge
第二次交換c,f結(jié)果為:abcfdge
第三次交換f,d結(jié)果為:abcdfge
第四次交換e,f結(jié)果為:abcdegf
第五次交換g,f結(jié)果為:abcdefg
完成疗认,一共交換了5次上面的交換中,由于b正好在最終位置伏钠,因此省去了一次交換任給一個(gè)自由a--g這7個(gè)字母組成的排列横漏,最壞情況需要交換7-1=6次這種最壞情況是每個(gè)字符都需要交換一次來達(dá)到最終位置,最后一次交換使的兩個(gè)字符同時(shí)到達(dá)最終位置熟掂。N個(gè)字符最壞情況需要至少N-1次交換

若串 =’software’ 缎浇,其子串?dāng)?shù)目為
答案:37
8+7+...+1+1=37;注意加上空串

串既可以用順序存儲(chǔ),也可以用鏈?zhǔn)酱鎯?chǔ)赴肚。
字符串通常采用順序存儲(chǔ)素跺,但是字符串較長而沒有那么大的連續(xù)空間時(shí)二蓝,可以把一個(gè)字符串分成多個(gè)小串,串與串之間采用鏈?zhǔn)酱鎯?chǔ)

**
由4個(gè)“1”和4個(gè)“0”組成的8位二進(jìn)制補(bǔ)碼指厌,能表示的最小整數(shù)是刊愚?**
答案:-121
這里我們需要知道的是:
正數(shù): 原碼 = 反碼 = 補(bǔ)碼
負(fù)數(shù):原碼 反碼 = 原碼除符號(hào)位之外的各位求反 補(bǔ)碼 = 反碼 +1 (如果 +1 之后有進(jìn)位的,要一直往前進(jìn)位踩验,包括符號(hào)位)
最小的一定是負(fù)數(shù)鸥诽,因?yàn)槭狗创a絕對(duì)值盡量小,這樣原碼絕對(duì)值就更大箕憾。補(bǔ)碼為10000111牡借,-121(10); 最大的一定是正數(shù)袭异,為01111000

字符串′ababaabab′的nextval為()
答案:(0,1,0,1,0,4,1,0,1)
第一步先計(jì)算Next[i] 不再贅述


接下來計(jì)算nextval[i]的值:
nextval[i]的求解需要比較s中next[i]所在位置的字符是否與s[i]的字符一致钠龙,如果一致則用s[next[i]]的nextval的值作為nextval[i],
如果不一致御铃,則用next[i]做為nextval[i]碴里。
nextval[0] = -1;
s[1]=b != s[next[1]]=s[0]=a; nextval[1]=next[1]=0;
s[2]=a = s[next[2]]=s[0]=a, nextval[2]=nextval[0]=-1;
s[3]=b = s[next[3]]=s[1]=b, nextval[3]=nextval[1]=0;
s[4]=a = s[next[4]]=s[2]=a, nextval[4]=nextval[2]=-1;
s[5]=a != s[next[5]]=s[3]=b, nextval[5]=next[5]=3;
s[6]=b = s[next[6]]=s[1]=b, nextval[6]=nextval[1]=0;
s[7]=a = s[next[7]]=s[2]=a, nextval[7]=nextval[2]=-1;
s[8]=b = s[next[8]]=s[3]=b, nextval[8]=nextval[3]=0;
nextval -1 0 -1 0 -1 3 0 -1 0
有的時(shí)候下標(biāo)從1開始即 0 1 0 1 0 4 1 0 1

字符串”qiniu”根據(jù)順序不同有多少種排列組合的方式?
方法一:由于有兩個(gè)i上真,可以看成是有5個(gè)位置咬腋,只要確定了q,n谷羞,u的位置,字符串就確定了溜徙,因此湃缎,是5×4×3=60
方法二:c52*a33=60

StringBuffer是線程安全的,StringBuilder是非線程安全的

卡特蘭數(shù)公式 h(n)=C(2n,n)/(n+1)蠢壹,適用于出棧情況求和
例如n=3 h(3)=c(6,3)/4=5種

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末嗓违,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子图贸,更是在濱河造成了極大的恐慌蹂季,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,948評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件疏日,死亡現(xiàn)場(chǎng)離奇詭異偿洁,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)沟优,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,371評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門涕滋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人挠阁,你說我怎么就攤上這事宾肺∷荻” “怎么了?”我有些...
    開封第一講書人閱讀 157,490評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵锨用,是天一觀的道長丰刊。 經(jīng)常有香客問我,道長增拥,這世上最難降的妖魔是什么啄巧? 我笑而不...
    開封第一講書人閱讀 56,521評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮跪者,結(jié)果婚禮上棵帽,老公的妹妹穿的比我還像新娘。我一直安慰自己渣玲,他們只是感情好逗概,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,627評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著忘衍,像睡著了一般逾苫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上枚钓,一...
    開封第一講書人閱讀 49,842評(píng)論 1 290
  • 那天铅搓,我揣著相機(jī)與錄音,去河邊找鬼搀捷。 笑死星掰,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的嫩舟。 我是一名探鬼主播氢烘,決...
    沈念sama閱讀 38,997評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼家厌!你這毒婦竟也來了播玖?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,741評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤饭于,失蹤者是張志新(化名)和其女友劉穎蜀踏,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體掰吕,經(jīng)...
    沈念sama閱讀 44,203評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡果覆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,534評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了殖熟。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片随静。...
    茶點(diǎn)故事閱讀 38,673評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出燎猛,到底是詐尸還是另有隱情恋捆,我是刑警寧澤,帶...
    沈念sama閱讀 34,339評(píng)論 4 330
  • 正文 年R本政府宣布重绷,位于F島的核電站沸停,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏昭卓。R本人自食惡果不足惜愤钾,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,955評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望候醒。 院中可真熱鬧能颁,春花似錦、人聲如沸倒淫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,770評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽敌土。三九已至镜硕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間返干,已是汗流浹背兴枯。 一陣腳步聲響...
    開封第一講書人閱讀 32,000評(píng)論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留矩欠,地道東北人财剖。 一個(gè)月前我還...
    沈念sama閱讀 46,394評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像癌淮,于是被迫代替她去往敵國和親躺坟。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,562評(píng)論 2 349

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