計(jì)算機(jī)二級(jí)C語(yǔ)言公共基礎(chǔ)復(fù)習(xí)資料

    時(shí)間:2024-10-02 09:59:57 計(jì)算機(jī)等級(jí) 我要投稿
    • 相關(guān)推薦

    2017年計(jì)算機(jī)二級(jí)C語(yǔ)言公共基礎(chǔ)復(fù)習(xí)資料

      C語(yǔ)言提供多種運(yùn)算符和表達(dá)式值的方法,對(duì)問(wèn)題的表達(dá)可通過(guò)多種途徑獲得,其程序設(shè)計(jì)更主動(dòng)、靈活。下面是小編整理的關(guān)于計(jì)算機(jī)二級(jí)C語(yǔ)言公共基礎(chǔ)復(fù)習(xí)資料,歡迎大家參考!

    2017年計(jì)算機(jī)二級(jí)C語(yǔ)言公共基礎(chǔ)復(fù)習(xí)資料

      循環(huán)鏈表及其基本運(yùn)算

      在線性鏈表中,雖然對(duì)數(shù)據(jù)元素的插入和刪除操作比較簡(jiǎn)單,但由于它對(duì)第一個(gè)結(jié)點(diǎn)和空表需要單獨(dú)處理,使得空表與非空表的處理不一致。

      循環(huán)鏈表,即是采用另一種鏈接方式,它的特點(diǎn)如下:

      (1)在循環(huán)鏈表中增加一個(gè)表頭結(jié)點(diǎn),其數(shù)據(jù)域?yàn)槿我饣蚋鶕?jù)需要來(lái)設(shè)置,指針域指向線性表的第一個(gè)元素的結(jié)點(diǎn)。循環(huán)鏈表的頭指針指向表頭結(jié)點(diǎn)。

      (2)循環(huán)鏈表中最后一個(gè)結(jié)點(diǎn)的指針域不是空的,而是指向表頭結(jié)點(diǎn)。在循環(huán)鏈表中,所有結(jié)點(diǎn)的指針構(gòu)成一個(gè)環(huán)狀鏈。

      在循環(huán)鏈表中,只要指出表中任何一個(gè)結(jié)點(diǎn)的位置,均可以從它開始掃描到所有的結(jié)點(diǎn),而線性鏈表做不到,線性鏈表是一種單向的鏈表,只能按照指針的方向進(jìn)行掃描。

      循環(huán)鏈表中設(shè)置了一個(gè)表頭結(jié)點(diǎn),因此,在任何時(shí)候都至少有一個(gè)結(jié)點(diǎn),因此空表與非空表的'運(yùn)算相統(tǒng)一。

      循環(huán)鏈表的特點(diǎn)是無(wú)須增加存儲(chǔ)量,僅對(duì)表的鏈接方式稍作改變,即可使得表處理更加方便靈活。

      【例】在鏈表上實(shí)現(xiàn)將兩個(gè)線性表(a1,a2,…,an)和(b1,b2,…,bm)連接成一個(gè)線性表(a1,…,an,b1,…bm)的運(yùn)算。

      分析:若在單鏈表或頭指針表示的單循環(huán)表上做這種鏈接操作,都需要遍歷第一個(gè)鏈表,找到結(jié)點(diǎn)an,然后將結(jié)點(diǎn)b1鏈到an的后面,其執(zhí)行時(shí)間是O(n)。

      若在尾指針表示的單循環(huán)鏈表上實(shí)現(xiàn),則只需修改指針,無(wú)須遍歷,其執(zhí)行時(shí)間是O(1)。

      相應(yīng)的算法如下:

      LinkListConnect(LinkListA,LinkListB){

      //假設(shè)A,B為非空循環(huán)鏈表的尾指針

      LinkListp=A->next;//①保存A表的頭結(jié)點(diǎn)位置

      A->next=B->next->next;//②B表的開始結(jié)點(diǎn)鏈接到A表尾

      free(B->next);//③釋放B表的頭結(jié)點(diǎn)

      B->next=p;//④

      returnB;//返回新循環(huán)鏈表的尾指針

      }

      注意:

      ①循環(huán)鏈表中沒(méi)有NULL指針。涉及遍歷操作時(shí),其終止條件就不再是像非循環(huán)鏈表那樣判別p或p->next是否為空,而是判別它們是否等于某一指定指針,如頭指針或尾指針等。

      ②在單鏈表中,從一已知結(jié)點(diǎn)出發(fā),只能訪問(wèn)到該結(jié)點(diǎn)及其后續(xù)結(jié)點(diǎn),無(wú)法找到該結(jié)點(diǎn)之前的其它結(jié)點(diǎn)。而在單循環(huán)鏈表中,從任一結(jié)點(diǎn)出發(fā)都可訪問(wèn)到表中所有結(jié)點(diǎn),這一優(yōu)點(diǎn)使某些運(yùn)算在單循環(huán)鏈表上易于實(shí)現(xiàn)。

      二叉樹的遍歷

      二叉樹的遍歷即是不重復(fù)地訪問(wèn)二叉樹的所有結(jié)點(diǎn)。

      在遍歷二叉樹時(shí),一般先遍歷左子樹,然后再遍歷右子樹。在先左后右的原則下,二叉樹的遍歷又可分為三種:前序遍歷、中序遍歷和后序遍歷。

      1)前序遍歷

      前序遍歷即先訪問(wèn)根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹。在遍歷左子樹和遍歷右子樹時(shí),依然是先遍歷根結(jié)點(diǎn),然后是左子樹,再是右子樹。

      操作的具體方式:

      若二叉樹為空,則結(jié)束返回。

      否則:訪問(wèn)根結(jié)點(diǎn)前序遍歷左子樹前序遍歷右子樹

      如上圖所示的完全二叉樹,它的前序遍歷結(jié)果是:A、B、D、H、P、Q、I、R、E、J、K、C、F、L、M、G、N、O

      2)中序遍歷

      中序遍歷,即先遍歷左子樹,然后訪問(wèn)根結(jié)點(diǎn),最后是遍歷右子樹。

      具體的操作方式:

      若二叉樹為空,則結(jié)束返回。

      否則:中序遍歷左子樹訪問(wèn)根結(jié)點(diǎn) 中序遍歷右子樹

      這里強(qiáng)調(diào),在遍歷左子樹和右子樹時(shí),仍然要采用中序遍歷的方法。

      如上圖所示的.完全二叉樹,它的中序遍歷結(jié)果是:P、H、Q、D、R、I、B、J、E、K、A、L、F、M、C、N、G、O

      3)后序遍歷

      后序遍歷,即選遍歷左子樹,然后是遍歷右子樹,最后訪問(wèn)根結(jié)點(diǎn)。

      具體的操作方式:

      若二叉樹為空,則結(jié)束返回。

      否則:前序遍歷左子樹前序遍歷右子樹訪問(wèn)根結(jié)點(diǎn)

      如上圖所示的完全二叉樹,它的后序遍歷結(jié)果是:P、Q、H、R、I、D、J、K、E、B、L、M、F、N、O、G、C、A

    【計(jì)算機(jī)二級(jí)C語(yǔ)言公共基礎(chǔ)復(fù)習(xí)資料】相關(guān)文章:

    計(jì)算機(jī)二級(jí)C語(yǔ)言復(fù)習(xí)資料10-17

    2017年計(jì)算機(jī)二級(jí)C語(yǔ)言基礎(chǔ)考試試題10-05

    計(jì)算機(jī)二級(jí)C語(yǔ)言考點(diǎn)盤點(diǎn)07-28

    計(jì)算機(jī)二級(jí)c語(yǔ)言題庫(kù)及答案09-25

    計(jì)算機(jī)二級(jí)《公共基礎(chǔ)》模擬試題及答案10-30

    計(jì)算機(jī)二級(jí)C++基礎(chǔ)練習(xí)題10-28

    計(jì)算機(jī)二級(jí)《C語(yǔ)言》模擬試題及答案07-31

    計(jì)算機(jī)二級(jí)C語(yǔ)言沖刺試題及答案10-29

    計(jì)算機(jī)二級(jí)公共基礎(chǔ)知識(shí)試題及答案10-01

    計(jì)算機(jī)二級(jí)C語(yǔ)言數(shù)據(jù)類型08-28

    91久久大香伊蕉在人线_国产综合色产在线观看_欧美亚洲人成网站在线观看_亚洲第一无码精品立川理惠

      在线一区二区网站 | 亚洲国产福利一区二区三区 | 色五月丁香五月综合五月亚洲 | 亚洲一级中文理论 | 亚洲中文高清香蕉网 | 思思热在线视频日本一区 |