2
3
4
5
6
7
8
9
10
二:鏈表
1、知識點
●邏輯次序與物理次序不一致存儲方法;
●單鏈表的定義:術(shù)語(頭結(jié)點、頭指針等)
●注意帶頭結(jié)點的單鏈表與不帶頭結(jié)點的單鏈表區(qū)別。(程序員考試一般不考帶頭結(jié)點,因為稍難理解)
●插入、刪除、遍歷(p==NULL表明操作完成)等操作
● 循環(huán)鏈表:定義,存儲表示,操作;
● 雙向鏈表:定義,存儲方法,操作;
單鏈表和循環(huán)鏈表區(qū)別在最后一個指針域值不同。
2、操作
●單鏈表:插入X,刪除X,查找X,計算結(jié)點個數(shù)
●單鏈表的逆置(中程曾考)
head->NULL/p->a1/p->a2/p->a3/p……an/NULL 注:p代表指針;NULL/p代表頭結(jié)點
。健 head->NULL/p->an/p->an-1/p->an-2/p……a1/NULL
●循環(huán)鏈表的操作:插入X,刪除X,查找X,計算結(jié)點個數(shù);
用p=head->next來判斷一次計算結(jié)點個數(shù)完成;
程序段如下:
k=0;
do{
k++;
p=p->next;
}while(p!=head->next);
● 雙向鏈表
●多項式相加
● 有序鏈表合并
例程:已知兩個字符串S,T,求S和T的最長公子串;
1、邏輯結(jié)構(gòu):字符串
2、存儲結(jié)構(gòu):數(shù)組
3、算法: 精化(精細化工)**老頑童注:此處“精細化工”說明好像不對!
s="abaabcacb"
t="abdcabcaabcda"
當(dāng)循環(huán)到s.len-1時,有兩種情況:s="abaabcacb"、s="abaabcacb"
s.len-2時,有三種情況:s="abaabcacb"、s="abaabcacb"、s="abaabcacb"
.
.
.
1 s.len種情況
程序思路:
tag=0 //沒有找到
for(l=s.len;l>0&&!tag;l--) {
判斷長度為l的s中的子串是否為t的子串;
若是:tag=1;
}
長度為l的s的子串在s中有(s.len-l+1)個。
子串0: 0~l-1
1: 1~l
2: 2~l+1
3: 3~l+2
……
……
s.len-l: s.len-l~s.len-1
由上面可得:第j個子串為j~l+j-1。
判斷長度為l的s中的子串是否為t的子串:
for(j=0;j<s.len-l+1&&!tag;j++){
判斷s中長度為l的第j個子串是否為t的子串;
如果是:tag=1;
}
模式結(jié)構(gòu):
tag=0;
for(l=s.len;l>0&&tag==0;l--) {
for(j=0;j<s.len-l+1&&!tag;j++) {
?? 用模式匹配方法確定s[j]~s[l+j-1]這個字符串是否為t的子串; //好好想想
若是,tag=1;
}
}
上一頁 [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一頁
轉(zhuǎn)帖于:軟件水平考試_考試吧- 推薦給朋友
- 收藏此頁
·網(wǎng)絡(luò)工程師資料:網(wǎng)絡(luò)體系結(jié)構(gòu)-軟考網(wǎng)絡(luò)類題解 (2008-4-25 14:33:38)
·計算機網(wǎng)絡(luò)基礎(chǔ)網(wǎng)絡(luò)拓撲結(jié)構(gòu)及優(yōu)缺點分析 (2008-2-22 14:04:32)
·網(wǎng)絡(luò)工程師必知:靜態(tài)路由協(xié)議配置方法 (2008-2-22 14:03:39)
·計算機網(wǎng)絡(luò)尼奎斯特 香農(nóng)公式例題解析 (2008-2-22 14:02:35)
·軟考復(fù)習(xí):因特網(wǎng)IP的分類、尋址規(guī)則及子網(wǎng)掩碼 (2008-2-22 13:57:21)
如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系,我們將會及時處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請注明出處。