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

數據結構中樹的遍歷課程設計與實現

2017-02-01 10:51:24田曉輝
文化創新比較研究 2017年12期
關鍵詞:結構信息

田曉輝

(渭南師范學院網絡安全與信息化學院, 陜西渭南 714099)

1 樹形結構

1.1 樹的定義[1]

一棵有根樹T,簡稱為樹,可定義為n(n≥0)個結點的有限集合。當n=0時,T稱為空樹;否則,T是非空樹,記作:

1.2 樹的存儲結構

樹的主要存儲結構有以下三種[2]:

[1]雙親表示法:

用一組連續的空間來存儲樹中的結點,在保存每個結點的同時附設一個指示器來指示其雙親結點在表中的位置。

[2]孩子表示法

把每個結點的孩子結點排列起來,構成一個單鏈表,稱為孩子鏈表。n個結點共有n 個孩子鏈表(葉子結點的孩子鏈表為空表),而 n 個結點的數據和 n個孩子鏈表的頭指針又組成一個順序表。

[3]孩子兄弟表示法

這種表示法又稱為樹的二叉表示法,或者二叉鏈表表示法,即以二叉鏈表作為樹的存儲結構。鏈表中每個結點設有兩個鏈域,分別指向該結點的第一個孩子結點和下一個兄弟(右兄弟)結點。

2 課程設計

2.1 問題描述

給出某操作系統的目錄和文件信息,編程將其以樹狀結構顯示。輸入的信息有兩種,第一種為目錄信息。目錄下面可以存放文件或子目錄,即目錄結點可能存在孩子結點,若存在,其孩子結點信息要求在該目錄信息的下一行給出,孩子結點信息要求用圓括號“()”括起。目錄的輸入格式為:[目錄名稱]大小。第二種是文件信息。輸入格式為:文件名稱 大小。目錄名或文件名為長度小于等于10的字符串,且目錄名或文件名不能包含‘(’,‘)’和‘*’。目錄的“大小”都表示為 1,文件的“大小”輸入值為文件的實際大小。

編程實現如下輸出,要求是有層次結構的樹,每層結點(目錄結點或文件結點)都要比上一層結點多縮進多個空格。同層目錄或文件結點在同一列顯示。計算所有目錄的大小(為其子目錄大小+子文件大小+1),并在目錄名和文件后面顯示各自大小。

2.2 算法思想

本文對目錄樹采用孩子兄弟鏈表法結合雙親法的存儲結構,根據輸入的目錄和文件信息,先創建樹,再把孩子兄弟存儲結構的樹以顯式的樹狀結構輸出,每個結點要按其所在層次作相應的縮進。其中,創建樹采用層序遍歷算法實現,輸出樹采用先序遍歷算法實現。若某結點的第一個孩子結點有右孩子結點(兄弟結點),則需要按其所在層次進行縮進后輸出連接符|和多個空格;否則只輸出多個空格;計算某目錄的大小時,為該目錄結點的左子樹(以其第一個孩子為根的樹)所有結點的“大小”的和再加該目錄的“大小”。

3 實現

3.1 樹的存儲結構

在輸出樹結構時,由于先輸出的是同一層結點的第一個結點及其對應的子樹,再輸出同一層結點的第二個結點及其對應的子樹,所以,使用孩子兄弟鏈表存儲結構時,用先序遍歷算法遍歷該結構,剛好可以實現上面的輸出順序的要求;其次,由于每一個目錄結點(雙親結點)下面可能存在子目錄或文件結點(孩子結點),在縮進處理上,輸出子目錄或文件結點信息時,要比其雙親的目錄結點信息縮進更多,為了便于處理縮進,在孩子兄弟存儲結構中增加了parent 域,得到了改進后的孩子兄弟存儲結構[3]。

3.2 關鍵算法的設計

(1)創建樹的改進孩子兄弟存儲結構:

首先讀入根目錄名稱和大小,創建根結點,將根結點的三個指針域置空;

讀入下一行目錄或文件信息并創建結點。創建新結點,該結點是根結點的第一孩子結點,建立其和根結點的鏈接。然后循環做如下的操作:若本行后面還有文件或目錄信息,建立新結點,建立其和雙親結點的鏈接,建立其和前一兄弟結點的鏈接。將該結點的“大小”值加到根結點的“大小”中去。重復該過程,直到本行信息讀取結束。

重復上面的過程,直到整體輸入結束。

(2)輸出樹:

設當前指針(位置)為根目錄,先輸出根結點;

將當前指針改為根結點的第一孩子結點

循環做如下操作:

輸出當前指針對應的結點及其子樹;

將當前指針移向當前指針的下一兄弟結點;

直至當前指針為空。

4 測試

運行程序時,輸入異常的測試數據時,提示“Input Error!”。輸入正確的測試數據:

得到如下圖1所示結果。

圖1 樹型結構

[1]殷人昆.數據結構C語言描述[M].北京:機械工業出版社,2011.6:108-109

[2]耿國華.數據結構(用 C語言描述)[M].北京:高等教育出版社.2016:181-183

[3]何欽銘,陳根才.數據結構課程設計[M].杭州:浙江大學出版社,2015.8:24-41

猜你喜歡
結構信息
《形而上學》△卷的結構和位置
哲學評論(2021年2期)2021-08-22 01:53:34
論結構
中華詩詞(2019年7期)2019-11-25 01:43:04
新型平衡塊結構的應用
模具制造(2019年3期)2019-06-06 02:10:54
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
論《日出》的結構
創新治理結構促進中小企業持續成長
現代企業(2015年9期)2015-02-28 18:56:50
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
基于BIM的結構出圖
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 亚瑟天堂久久一区二区影院| 青草精品视频| 毛片网站观看| 黄色一及毛片| 亚洲天堂首页| 国内精品小视频福利网址| 国产综合欧美| 91亚洲精品第一| 在线一级毛片| 国产精品久久久久鬼色| 国产91特黄特色A级毛片| av一区二区三区高清久久| 亚洲人成网站色7777| 在线免费观看a视频| 69av免费视频| 一区二区日韩国产精久久| 日本精品一在线观看视频| 国产成人无码播放| 久久久久久国产精品mv| 欧美成一级| 亚洲AV成人一区国产精品| 这里只有精品免费视频| 中文字幕 日韩 欧美| 国产一区二区丝袜高跟鞋| 色哟哟国产成人精品| 最新国产成人剧情在线播放| 国产欧美日韩精品第二区| 久久a级片| 国产乱子伦视频三区| 国产无码性爱一区二区三区| 国产精品手机在线观看你懂的| 青草91视频免费观看| 成年片色大黄全免费网站久久| 波多野结衣久久精品| 亚洲区视频在线观看| 久久精品中文字幕免费| 亚洲av无码成人专区| 不卡无码网| 国产精品嫩草影院视频| 8090午夜无码专区| 日韩无码精品人妻| 97在线国产视频| 99精品视频播放| 五月六月伊人狠狠丁香网| 欧美日在线观看| 久久中文字幕不卡一二区| 欧美成在线视频| 三区在线视频| 亚洲综合一区国产精品| 久久伊人操| 国产小视频在线高清播放| 国产网站免费看| 国产色偷丝袜婷婷无码麻豆制服| 亚洲精品自产拍在线观看APP| 亚洲国产清纯| 国产日韩欧美精品区性色| 在线日本国产成人免费的| 精品人妻AV区| 中文字幕 日韩 欧美| 久久伊伊香蕉综合精品| 免费人成在线观看视频色| 伊人久久婷婷五月综合97色| 波多野结衣久久高清免费| 欧美三级自拍| 极品国产在线| 国产无码制服丝袜| 欧美不卡二区| 亚洲欧美精品一中文字幕| 综合久久久久久久综合网| 国产亚洲欧美在线视频| 人妻中文字幕无码久久一区| 2021天堂在线亚洲精品专区| 国产精品太粉嫩高中在线观看| 波多野结衣第一页| 亚洲视频三级| 中文字幕乱码二三区免费| 婷婷开心中文字幕| 被公侵犯人妻少妇一区二区三区| 456亚洲人成高清在线| 国产成人精品18| 麻豆AV网站免费进入| 亚洲成在线观看 |