国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

中國(guó)建設(shè)行業(yè)峰會(huì)官方網(wǎng)站torrentkitty磁力天堂

中國(guó)建設(shè)行業(yè)峰會(huì)官方網(wǎng)站,torrentkitty磁力天堂,品牌形象網(wǎng)站有哪些,哪個(gè)網(wǎng)站能靠做軟件賣(mài)什么是單鏈表? 單鏈表是一種常見(jiàn)的鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),用于存儲(chǔ)和操作數(shù)據(jù)元素的集合。它由一系列的節(jié)點(diǎn)組成,每個(gè)節(jié)點(diǎn)包含兩個(gè)部分:數(shù)據(jù)域和指針域。 單鏈表的每個(gè)節(jié)點(diǎn)包含了存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)域,以及指向下一個(gè)節(jié)點(diǎn)的指針域?!?article class="baidu_pl">

什么是單鏈表?

單鏈表是一種常見(jiàn)的鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu),用于存儲(chǔ)和操作數(shù)據(jù)元素的集合。它由一系列的節(jié)點(diǎn)組成,每個(gè)節(jié)點(diǎn)包含兩個(gè)部分:數(shù)據(jù)域和指針域。

單鏈表的每個(gè)節(jié)點(diǎn)包含了存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)域,以及指向下一個(gè)節(jié)點(diǎn)的指針域。通過(guò)這些指針域,節(jié)點(diǎn)之間可以按順序連接起來(lái),形成一個(gè)鏈?zhǔn)浇Y(jié)構(gòu)。鏈表的最后一個(gè)節(jié)點(diǎn)通常指向一個(gè)特殊的空節(jié)點(diǎn)(NULL或nullptr),表示鏈表的結(jié)束。

相比于數(shù)組,鏈表的一大優(yōu)勢(shì)是它的動(dòng)態(tài)性。在鏈表中,節(jié)點(diǎn)的添加、刪除可以通過(guò)修改指針的指向來(lái)完成,不需要像數(shù)組那樣進(jìn)行元素的移動(dòng)。這使得鏈表在插入和刪除操作頻繁的場(chǎng)景中具有更高的效率。

鏈表的一個(gè)缺點(diǎn)是訪問(wèn)節(jié)點(diǎn)需要從頭節(jié)點(diǎn)開(kāi)始依次遍歷,因?yàn)殒湵碇械墓?jié)點(diǎn)并不是在內(nèi)存中連續(xù)存儲(chǔ)的。這導(dǎo)致了鏈表的訪問(wèn)時(shí)間復(fù)雜度為O(n),其中n是鏈表的長(zhǎng)度。相比之下,數(shù)組可以通過(guò)索引直接訪問(wèn)元素,時(shí)間復(fù)雜度為O(1)。

在這里插入圖片描述
在這里插入圖片描述

1. 按位查找

  1. 單鏈表按位查找是指根據(jù)節(jié)點(diǎn)在鏈表中的位置(即節(jié)點(diǎn)序號(hào)或下標(biāo))來(lái)查找節(jié)點(diǎn)的操作。通常情況下,我們需要查找的節(jié)點(diǎn)序號(hào)是從1開(kāi)始計(jì)數(shù)的,即第1個(gè)節(jié)點(diǎn)、第2個(gè)節(jié)點(diǎn)、第3個(gè)節(jié)點(diǎn)等。

  2. 單鏈表按位查找的基本思路是從鏈表頭節(jié)點(diǎn)開(kāi)始,遍歷鏈表,直到找到第k個(gè)節(jié)點(diǎn),或者鏈表遍歷結(jié)束。如果鏈表遍歷結(jié)束仍未找到第k個(gè)節(jié)點(diǎn),則返回空指針。
    平均時(shí)間復(fù)雜度:O(n)

//按位查找
LNode *GetElem(LinkList L, int i)
{if(i < 0)     //判斷i是否合法return NULL;LNode *p;  //指針p指向當(dāng)前掃描到的結(jié)點(diǎn)int j = 0;  //當(dāng)前p指向的是第幾個(gè)結(jié)點(diǎn)p = L;     //L指向頭結(jié)點(diǎn), 頭結(jié)點(diǎn)是第0個(gè)結(jié)點(diǎn)(不存數(shù)據(jù))while(p != NULL && j < i) //循環(huán)找到第i個(gè)結(jié)點(diǎn){p = p->next;    //讓p指針依次往后移j++;}return p;
}

i 的值有兩種極端情況,分別是 i 取最小0 和取最大5

若 i = 0; while循環(huán)不符合,返回return p; 此時(shí)p指針會(huì)指向頭結(jié)點(diǎn), 如下圖所示

在這里插入圖片描述

若 i = 5; j++遞增到5后,此時(shí)p指針指向鏈表末尾空指針NULL,p != NULL不滿(mǎn)足,退出while循環(huán),p返回NULL

在這里插入圖片描述

所以當(dāng) i 不合法時(shí),最終返回的都是NULL, 那么當(dāng)別人調(diào)用此基本操作時(shí),只要判斷下此次的返回值是不是NULL, 就能知道這次的按位查找是否查找成功,這樣的算法才具有健壯性。

既然我們實(shí)現(xiàn)了按位查找的操作,那么以后按位插入和按位刪除時(shí),就可以直接調(diào)用基本操作來(lái)實(shí)現(xiàn)。如下圖所示:
基本封裝的好處:簡(jiǎn)潔易維護(hù)

在這里插入圖片描述

2. 按值查找

時(shí)間復(fù)雜度:O(n)
單鏈表按值查找需要遍歷鏈表的每一個(gè)節(jié)點(diǎn),直到找到節(jié)點(diǎn)的值等于目標(biāo)值,或者遍歷結(jié)束沒(méi)有找到目標(biāo)值,返回空指針。

  • 在按值查找單鏈表時(shí),需要注意以下幾點(diǎn):
  1. 單鏈表查找需要遍歷整個(gè)鏈表,時(shí)間復(fù)雜度為 O(n),其中 n 是鏈表節(jié)點(diǎn)的個(gè)數(shù)。
  2. 當(dāng)鏈表為空時(shí),需要特別處理。
  3. 如果目標(biāo)值在鏈表中不存在,可能需要額外處理,比如返回一個(gè)空指針,或者打印出 “Not Found” 等提示信息。
  4. 需要根據(jù)具體問(wèn)題和代碼實(shí)現(xiàn),特別注意鏈表頭節(jié)點(diǎn)指針的正確性,以及節(jié)點(diǎn)指針的移動(dòng)和連接等操作。

假設(shè)本例中的ElemType是int類(lèi)型

//按值查找, 找到數(shù)據(jù)域 == e 的結(jié)點(diǎn)
LNode *LocateElem(LinkList L, ElemType e) 
{LNode *p = L->next;//從第1個(gè)結(jié)點(diǎn)開(kāi)始查找數(shù)據(jù)域?yàn)閑的結(jié)點(diǎn)while(p != NULL && p->data != e)p = p->next;return p;    //找到后返回該結(jié)點(diǎn)指針,否則返回NULL
}

若e = 8, 當(dāng) p指向第一個(gè)結(jié)點(diǎn)時(shí),5 != 8,p移向下一個(gè)結(jié)點(diǎn)

在這里插入圖片描述

當(dāng)p移動(dòng)到第2個(gè)結(jié)點(diǎn)時(shí),找到數(shù)據(jù)8,此時(shí)while循環(huán)退出,返回 return p

在這里插入圖片描述

當(dāng)e = 6時(shí),p指針不斷往后移,當(dāng)p指向NULl時(shí),while循環(huán)不滿(mǎn)足,退出循環(huán),返回return p
當(dāng)LocateElem()函數(shù)的調(diào)用者接受到NULL時(shí),就說(shuō)明并不存在數(shù)據(jù)域等于6的結(jié)點(diǎn)。

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

3. 求單鏈表的長(zhǎng)度

時(shí)間復(fù)雜度:O(n)

//求表的長(zhǎng)度
int length(LinkList L)
{int len = 0; //統(tǒng)計(jì)表長(zhǎng)LNode *p = L;while(p->next != NULL){p = p->next;len++;}return len;
}

在這里插入圖片描述

4. 知識(shí)回顧

在這里插入圖片描述

http://m.aloenet.com.cn/news/42149.html

相關(guān)文章:

  • 專(zhuān)業(yè)網(wǎng)站制作公司招聘深圳網(wǎng)絡(luò)公司推廣平臺(tái)
  • 實(shí)驗(yàn)中心網(wǎng)站建設(shè)媒體軟文發(fā)稿
  • 電子書(shū)城網(wǎng)站開(kāi)發(fā)項(xiàng)目概況網(wǎng)絡(luò)推廣引流方式
  • wordpress用哪種緩存器seo排名軟件哪個(gè)好用
  • 做淘寶必備網(wǎng)站手機(jī)seo關(guān)鍵詞優(yōu)化
  • 做網(wǎng)站是干什么用的百度營(yíng)銷(xiāo)推廣登錄平臺(tái)
  • 網(wǎng)站建設(shè) 軟件有哪些內(nèi)容最近剛發(fā)生的新聞
  • 大連做網(wǎng)站首選領(lǐng)超科技域名注冊(cè)服務(wù)網(wǎng)站哪個(gè)好
  • 網(wǎng)站建站所用的技術(shù)自動(dòng)優(yōu)化句子的軟件
  • 長(zhǎng)春火車(chē)站24小時(shí)人工客服電話(huà)香飄飄奶茶
  • 介紹做網(wǎng)站的標(biāo)題廈門(mén)人才網(wǎng)個(gè)人登錄
  • 韶關(guān)城鄉(xiāng)建設(shè)部網(wǎng)站首頁(yè)螺螄粉營(yíng)銷(xiāo)策劃方案
  • 網(wǎng)站群的建設(shè)目標(biāo)濟(jì)南seo怎么優(yōu)化
  • 寧德網(wǎng)站建設(shè)維護(hù)如何優(yōu)化網(wǎng)站排名
  • wordpress主題后空白seo知識(shí)分享
  • 做網(wǎng)站底色怎么選網(wǎng)站seo排名公司
  • 蘭州互聯(lián)網(wǎng)公司seo深度解析
  • 怎樣建設(shè)網(wǎng)站公司百度app關(guān)鍵詞優(yōu)化
  • 質(zhì)感企業(yè)網(wǎng)站導(dǎo)航用ps怎么做百度圖片搜索網(wǎng)頁(yè)版
  • 關(guān)于網(wǎng)站開(kāi)發(fā)專(zhuān)業(yè)的pptseo診斷專(zhuān)家
  • 網(wǎng)站建設(shè)詳細(xì)教程寧波seo推廣優(yōu)化公司
  • 河北網(wǎng)站建設(shè)排名站長(zhǎng)seo查詢(xún)工具
  • 便宜的做網(wǎng)站公司關(guān)鍵詞seo公司推薦
  • 深圳專(zhuān)門(mén)做網(wǎng)站阿里云域名查詢(xún)和注冊(cè)
  • 簡(jiǎn)易網(wǎng)站開(kāi)發(fā)巨量引擎
  • 電子商務(wù)網(wǎng)站服務(wù)器上海網(wǎng)絡(luò)營(yíng)銷(xiāo)公司
  • dw手機(jī)網(wǎng)站建設(shè)500個(gè)游戲推廣群
  • 班級(jí)網(wǎng)站素材下載百度推廣有哪些推廣方式
  • 大型網(wǎng)站制作梅州網(wǎng)絡(luò)推廣
  • 百度網(wǎng)站錄入網(wǎng)站整站優(yōu)化