999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

多叉樹線索化算法的改進(jìn)

2022-06-07 09:21:36馬樂李晨志馬堯
科學(xué)與信息化 2022年10期

馬樂 李晨志 馬堯

四川大學(xué)/公共管理學(xué)院 四川 成都 610000

引言

在經(jīng)典的二叉樹線索化算法改進(jìn)方面,費(fèi)洪曉、楊彥等人在改進(jìn)二叉樹線索化方面取得了相應(yīng)成果,簡(jiǎn)化了二叉樹遍歷流程,但是并沒有將該改進(jìn)方法推廣至多叉樹。

1 傳統(tǒng)樹的線索化

相比于與一般的樹的節(jié)點(diǎn),樹的線索化需要構(gòu)建的節(jié)點(diǎn)結(jié)構(gòu)新增加了標(biāo)識(shí)域,數(shù)據(jù)節(jié)點(diǎn)包含5個(gè)域,如圖1所示:

圖1

其中data域存儲(chǔ)節(jié)點(diǎn)相應(yīng)數(shù)據(jù),ptr是指針域,tag是標(biāo)識(shí) 符,其具體含義如下面公式所示。

以這種方式線索化的樹會(huì)帶有因自身局限性而導(dǎo)致的非連續(xù)性,即會(huì)存在線索在某一結(jié)點(diǎn)中斷的情況。具體以前序線索二叉樹為例,如圖2所示,其中Lc指向節(jié)點(diǎn)的左孩子或直接后繼,Rc指向節(jié)點(diǎn)的右孩子或直接前驅(qū),Lt是Lc的標(biāo)識(shí)符,Rt是Rc的標(biāo)識(shí)符。

圖2 先序線索化二叉樹

這種二叉樹存在不連貫性,導(dǎo)致在遍歷整棵樹的時(shí)候仍需要前序遍歷才能找到下一個(gè)節(jié)點(diǎn)。

2 改進(jìn)樹的線索化

通過觀察傳統(tǒng)的二叉樹線索化方法會(huì)發(fā)現(xiàn),之所以會(huì)出現(xiàn)線索中斷的情況是因?yàn)橛行┕?jié)點(diǎn)因?yàn)榇嬖谧螅ㄓ遥┖⒆樱羔樣虮徽加茫瑢?dǎo)致其不能進(jìn)行線索化。如果使得一個(gè)指針域可以同時(shí)滿足指向其孩子和指向線索兩種功能,這樣的不連續(xù)性就能得到解決[1-3]。

因?yàn)閷?duì)于二叉樹的前序遍歷而言,一個(gè)節(jié)點(diǎn)(非葉子節(jié)點(diǎn))的左孩子就是它的直接后繼。因此對(duì)于有左孩子的節(jié)點(diǎn),左指針域不僅指向其左孩子,還指向直接后繼,而對(duì)于葉子節(jié)點(diǎn)而言,其左指針域自然也是指向其直接后繼。所以在這種改進(jìn)的方法下,節(jié)點(diǎn)的左孩子和直接后繼就統(tǒng)一了。Ltag無(wú)論是1還是0,節(jié)點(diǎn)的Lc始終指向其直接后繼。運(yùn)用改進(jìn)的算法線索化二叉樹如圖3所示。

圖3 改進(jìn)的算法線索化二叉樹圖

改進(jìn)后的線索化方法與原先相比空間需求沒有增加,時(shí)間復(fù)雜度相同,但是在遍歷過程中,舊線索二叉樹在遍歷某些節(jié)點(diǎn)時(shí)需要使用遍歷非線索二叉樹的方法,但新的線索二叉樹只需以遍歷一個(gè)線性鏈表的方式進(jìn)行遍歷即可。

3 推廣到多叉樹和代碼實(shí)現(xiàn)

下面將該方法推廣到多叉樹,以三叉樹為例并附上相應(yīng)c語(yǔ)言代碼。三叉樹的線索化需要的節(jié)點(diǎn)結(jié)構(gòu)如圖4。其中Lc指向左孩子節(jié)點(diǎn),Mc、Rc同理指向中間和右孩子,Lt為該指針域標(biāo)識(shí)符,Mt、Rt依此類推,da為數(shù)據(jù)域。

圖4

c語(yǔ)言代碼如下:

typedefstructTNode //定義三叉樹節(jié)點(diǎn)

{

intda,Lt , Mt , Rt ;

《二次函數(shù)》是一節(jié)概念課,重點(diǎn)內(nèi)容只有一個(gè),就是二次函數(shù)的概念。如何去引入,如何把一個(gè)概念表述清楚,讓學(xué)生真正地理解、弄懂這個(gè)概念的來龍去脈,從而加深對(duì)它的認(rèn)識(shí),這是件很不容易的事情,這也是值得我們?cè)谶M(jìn)行教學(xué)設(shè)計(jì)時(shí)深入思考的地方。在這節(jié)課中,筆者主要運(yùn)用啟發(fā)式教學(xué)法,提出問題進(jìn)行分析討論,不嚴(yán)密之處再和學(xué)生一起思考和補(bǔ)充,即使對(duì)于一些較為困難的問題,也是鼓勵(lì)和引導(dǎo)學(xué)生大膽思考,積極嘗試。這樣上課氣氛非常活躍,學(xué)生之間常會(huì)因?yàn)槟硞€(gè)觀點(diǎn)的不同而爭(zhēng)論,在爭(zhēng)論之中也逐步加深了對(duì)概念的理解和認(rèn)識(shí),概念課教學(xué)的主要目的也就達(dá)到了。

structTNode* Lc ,* Mc;

}TNode;

voidpreThread(TNode* p, TNode*&pre) //前序線索化,其中p是一個(gè)已創(chuàng)建好的三叉樹

{

if (p != NULL)

{

if (p->Lc == NULL)

{

p->Lt = 1;

p->Lc = p->Lc;

}

if (p->Mc == NULL) p->Mc =NULL;

if (pre != NULL&&pre->Rc == NULL)

{

pre->Rc = p;

pre->Rt = 1;

}

pre = p;

if (p->Lc!=NULL)preThread(p->Lc, pre);

if(p->Mc!=NULL)preThread(p->Mc, pre);

if(p->Rc!=NULL)preThread(p->Rc, pre);

}

}

4 結(jié)束語(yǔ)

本文借鑒線索二叉樹改進(jìn)算法,將其推廣至多叉樹,并給出相應(yīng)C語(yǔ)言代碼。這種改進(jìn)后的線索化的意義在于:時(shí)間和空間復(fù)雜度不增加的情況下,線索多叉樹的線索不會(huì)中斷,每個(gè)節(jié)點(diǎn)都有其后繼節(jié)點(diǎn)(先序遍歷), 使得對(duì)它進(jìn)行遍歷和對(duì)線性鏈表一樣方便快捷。

主站蜘蛛池模板: 亚洲免费福利视频| 欧美日韩激情在线| 99热6这里只有精品| 老司机午夜精品网站在线观看| 91高清在线视频| 视频二区亚洲精品| 91亚洲精选| 亚洲综合婷婷激情| 国产幂在线无码精品| 亚洲天堂网在线视频| 九九视频免费在线观看| 国产99在线| AV在线麻免费观看网站 | 国产麻豆aⅴ精品无码| 亚洲无码高清视频在线观看 | 夜夜操天天摸| 伊人久久综在合线亚洲2019| 欧美日韩国产高清一区二区三区| 日韩精品一区二区三区中文无码| 无码高潮喷水专区久久| 欧美另类精品一区二区三区| 国产成人a在线观看视频| 美女扒开下面流白浆在线试听| 日韩国产黄色网站| 亚洲无线一二三四区男男| 欧美精品亚洲精品日韩专区va| 欧美另类第一页| 免费人成在线观看成人片| 午夜福利亚洲精品| 亚洲大学生视频在线播放| 国产三级韩国三级理| 在线永久免费观看的毛片| 欧美日韩在线亚洲国产人| 天天摸天天操免费播放小视频| 日韩欧美国产综合| 国产美女叼嘿视频免费看| 国产91无码福利在线| 欲色天天综合网| 亚洲女人在线| 精品小视频在线观看| 青青网在线国产| 国产精品偷伦视频免费观看国产| 成人免费黄色小视频| 亚洲国产精品VA在线看黑人| 国产欧美日韩另类精彩视频| 亚洲乱亚洲乱妇24p| 精品无码国产一区二区三区AV| 91精品国产福利| 精品亚洲国产成人AV| 第九色区aⅴ天堂久久香| 国产h视频免费观看| 中文无码精品A∨在线观看不卡| 欧美性猛交xxxx乱大交极品| 亚洲丝袜第一页| 天天视频在线91频| 美女一区二区在线观看| 伊人久久影视| 国产精品一区二区不卡的视频| 久久永久免费人妻精品| 夜夜拍夜夜爽| 中文字幕久久亚洲一区| 麻豆国产精品一二三在线观看| 日韩精品成人网页视频在线| 色哟哟色院91精品网站| 一本一道波多野结衣av黑人在线| 国产精品亚洲日韩AⅤ在线观看| 伊人国产无码高清视频| 无码一区18禁| 五月丁香伊人啪啪手机免费观看| 特级毛片8级毛片免费观看| 国产成人无码AV在线播放动漫| 99久视频| 亚洲综合色吧| 亚洲中文字幕97久久精品少妇| 免费看av在线网站网址| 久久久黄色片| 亚洲狠狠婷婷综合久久久久| 777国产精品永久免费观看| 精品无码一区二区三区在线视频| 亚洲国产成人久久精品软件| 在线观看免费黄色网址| 日韩欧美视频第一区在线观看|