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

線索二叉樹算法的實驗與實現

2011-01-29 09:39:06郭小春
泰山學院學報 2011年6期
關鍵詞:實驗

郭小春,王 紅

(1.泰山學院信息科學技術學院,山東泰安 271021;2.泰山職業技術學院財經系,山東泰安 271000)

在計算機科學中,數據結構是一個重要的基礎理論.它在軟件開發及程序設計中都有著不可替代的應用價值.二叉樹是一種重要的數據結構,它的應用范圍非常廣泛.不僅在程序設計中,而且在圖像處理和模式識別等諸多新學科中也有很重要的應用[1-2],它是數據結構中目前很活躍的研究課題之一,而對二叉樹加線索使其成為線索二叉樹是簡化二叉樹各種操作的重要手段.

遍歷二叉樹是以一定規則將二叉樹中結點排列成一個線性序列,得到二叉樹中結點的先序序列、中序序列或后序序列.這實質上是對一個非線性結構進行線性化操作,使每個結點(除第一個和最后一個外)在這些線性序列中有且僅有一個直接前驅和直接后繼.但是,當以二叉鏈表作為存儲結構時,只能找到結點的左、右孩子信息,而不能直接得到結點在任一序列中的前驅和后繼信息,這種信息只有在遍歷的動態過程中才能得到.解決這個問題的方法是:當第一次遍歷二叉樹時,就在各結點的空余域中加線索,加線索的二叉樹就稱為線索二叉樹.加線索之后,當再遍歷時,就可在某些結點沿著線索走,從而簡化操作[3-8].

經過算法分析和實驗發現現有絕大部分“數據結構”教科書中對二叉樹的線索化實現算法存在錯誤,沒有對線索樹中非線索結點的LTag和RTag的指針賦值.為了解決這一問題提高數據結構課程在理論方面教學的嚴格性和實用性,對二叉樹線索化的算法進行了修正和實現.

1 線索二叉樹的基礎知識

n個結點的二叉鏈表中含有n+1個空指針域.利用二叉鏈表中的空指針域,存放指向結點在某種遍歷次序下的前趨和后繼結點的指針(這種附加的指針稱為“線索”).加上線索的二叉樹稱為線索二叉樹,對二叉樹以某種次序使其變為線索二叉樹的過程叫做線索化.對二叉樹的遍歷過程可以有先序、中序和后序三種順序,相應的二叉樹的線索化也有三種順序,分別稱之為先序線索化、中序線索化和后序線索化.

線索二叉樹的結點的存儲結構及意義如下:若結點有左子樹,則其lchild域指示其左孩子,否則令lchild指示其前驅;若結點有右子樹,則其rchild域指示其右孩子,否則令rchild域指示其后繼.

其中:

C語言表述的存儲結構如下:

2 線索二叉樹的實驗研究

在對線索化的二叉樹遍歷過程中發現大部分“數據結構”教材中實現二叉樹線索化的算法存在問題,容易引起死機.通過反復實驗,發現原來教材中沒有對線索樹中非線索結點的LTag和RTag的指針賦值.以中序線索化為例[3],原程序如下:

其中pre指向當前訪問的結點p的前驅.在別的教科書也同樣存在這個問題.

3 二叉樹線索化算法的修正

對原算法做出了修正,以中序線索化為例,修改后的程序如下:

當當前結點p有左孩子的時候,讓其左孩子的LTag標志域為Link.當當前結點p有右孩子的時候,讓其右孩子的RTag標志域為Link.

4 修正后的二叉樹算法線索化算法的實驗證明

用VC++對修改后的算法進行了實驗驗證,以二叉樹中序線索化算法為例.為了明確的輸出圖形,更好查看結果,論文對原數據結構做出了修改,加入了結點的位置信息.修改如下:

修正后的算法實現如下:

程序輸入的原二叉樹如圖1所示:

圖1 程序中輸入的二叉樹

運行程序后得到的遍歷結果如圖2所示:

圖2 二叉樹中序線索化結果

實驗證明,該程序經改正后算法運行是正確的、可行的.

5 結束語

在實驗過程中,論文針對“數據結構”課程中二叉樹的線索化算法中出現的指針未定義指向的問題進行了研究,給出了解決方案,并通過實踐證明改正的正確性、可行性.對提高“數據結構”課程在理論方面教學的嚴格性和實用性具有一定的意義.

[1]T.Pavlidis.Algorithms for Graphies and Image Processing,Computer Science Press,1982.

[2]傅京孫.模式識別及其應用[M].北京:科學出版社,1985.

[3]嚴蔚敏,吳偉民.數據結構(C語言版)[M].北京:清華大學出版社,1997.

[4]譚卓群,楊冬青,唐世渭,等.數據結構與算法[M].北京:高等教育出版社,2005

[5]王國均.數據結構-C語言描述[M].北京:科學出版社,2005.

[6]嚴蔚敏.數據結構與算法分析[M].北京:清華大學出版社,2004.

[7]吉根林,林波.數據結構教程(C++版)[M].北京:電工工業大學出版社,2009.

[8]耿國華.數據結構—C語言描述[M].北京:高等教育出版社,2005.

猜你喜歡
實驗
我做了一項小實驗
記住“三個字”,寫好小實驗
我做了一項小實驗
我做了一項小實驗
記一次有趣的實驗
有趣的實驗
小主人報(2022年4期)2022-08-09 08:52:06
微型實驗里看“燃燒”
做個怪怪長實驗
NO與NO2相互轉化實驗的改進
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
主站蜘蛛池模板: 精品免费在线视频| 国产女人综合久久精品视| 18禁不卡免费网站| 国产高清免费午夜在线视频| 毛片免费高清免费| 欧美亚洲国产视频| 亚洲AV电影不卡在线观看| 九色综合伊人久久富二代| 国产素人在线| 亚洲一级色| 国内99精品激情视频精品| 一级毛片在线播放免费| 国产美女一级毛片| 欧美精品成人| 久久精品66| 亚洲国产成人精品一二区| 国产H片无码不卡在线视频| 国产极品美女在线观看| 亚洲成在线观看 | 伊大人香蕉久久网欧美| 国产资源免费观看| 欧美特黄一免在线观看| 国产99在线观看| 亚洲人成网7777777国产| 人妻熟妇日韩AV在线播放| 在线国产欧美| 波多野结衣在线se| 久久夜色精品| 色精品视频| 69国产精品视频免费| 高清视频一区| 凹凸国产熟女精品视频| 日本免费精品| 亚洲成A人V欧美综合天堂| 久久精品无码中文字幕| 欧美三级视频在线播放| 国产91丝袜在线观看| 亚洲最大在线观看| 青青操视频免费观看| 久久综合九色综合97婷婷| 国产成人精品高清不卡在线| 国产aⅴ无码专区亚洲av综合网| 亚洲女同欧美在线| 国产乱人伦精品一区二区| 日韩东京热无码人妻| 亚洲伦理一区二区| 亚洲欧美另类专区| 国产成人91精品| 看你懂的巨臀中文字幕一区二区| 国产成人精品在线| 精品一区二区三区水蜜桃| 久久国产精品77777| 久热中文字幕在线观看| 97超碰精品成人国产| 日韩欧美中文字幕在线精品| 日本一区二区不卡视频| 亚洲日韩高清无码| 天天激情综合| 亚洲国产成人久久精品软件| 久久黄色免费电影| 无码免费试看| 欧美成人免费一区在线播放| 国产精品亚洲片在线va| 三级视频中文字幕| 香蕉久久国产精品免| 日韩欧美网址| 激情视频综合网| 日本在线欧美在线| 亚洲资源站av无码网址| 丰满人妻久久中文字幕| 最近最新中文字幕免费的一页| 伊人久久大香线蕉aⅴ色| 久久青草免费91线频观看不卡| 强乱中文字幕在线播放不卡| 亚洲欧洲日本在线| 伊人激情久久综合中文字幕| 思思99热精品在线| 中文字幕欧美日韩高清| 国产91在线|日本| 黄色网页在线观看| 免费aa毛片| 一区二区欧美日韩高清免费|