Bài giảng Cấu trúc dữ liệu 1: Chương 4A - Huỳnh Cao Thế Cường
Số trang: 36
Loại file: ppt
Dung lượng: 322.00 KB
Lượt xem: 14
Lượt tải: 0
Xem trước 4 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Chương 2 cung cấp kiến thức về cấu trúc cây (trees). Chương này gồm có những nội dung chính sau: Các thuật ngữ cơ bản trên cây, kiểu dữ liệu trừu tượng cây, cài đặt cây, cây nhị phân, cây tìm kiếm nhị phân. Mời các bạn tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Cấu trúc dữ liệu 1: Chương 4A - Huỳnh Cao Thế Cường TRƯỜNGĐẠIHỌCANGIANGKHOAKỸTHUẬTCÔNGNGHỆMÔITRƯỜNG CẤUTRÚCDỮLIỆU1 Giảngviênphụtrách: HUỲNHCAOTHẾCƯỜNG BộmônTinhọc email:hctcuong@agu.edu.vn 1 1 CẤU TRÚC CÂY (TREES)CácthuậtngữcơbảntrêncâyKiểudữliệutrừutượngcâyCàiđặtcâyCâynhịphânCâytìmkiếmnhịphân 2 CÁC THUẬT NGỮ CƠ BẢN TRÊN CÂYCâylàmộttậphợpcácphầntửgọilànút(nodes),trong đócómộtnútđượcphânbiệtgọilànútgốc(root).Mốiquanhệchacon(parenthood):đểxácđịnhhệ thốngcấutrúctrêncácnút.Mỗinút,trừnútgốc,códuynhấtmộtnútcha.Mộtnút cóthểcónhiềunútconhoặckhôngcónútconnào.MỗinútbiểudiễnmộtphầntửtrongtậphợpđangxétMốiquanhệchaconđượcbiểudiễntheoquiướcnút chaởdòngtrênnútconởdòngdướivàđượcnốibởi mộtđoạnthẳng. 3 Các thuật ngữ cơ bảnĐịnhnghĩa Mộtnútđơnđộclàmộtcây.Nútnàycũngchínhlànút gốccủacây. GiảsửtacónlàmộtnútđơnđộcvàkcâyT1,..,Tkvới cácnútgốctươngứnglàn1,..,nkthìcóthểxâydựng mộtcâymớibằngcáchchonútnlàchacủacácnútn1,.., nk.CâymớinàycónútgốclànútnvàcáccâyT1,..,Tk đượcgọilàcáccâycon.Tậprỗngcũngđượccoilàmột câyvàgọilàcâyrỗngkíhiệu. 4Các thuật ngữ cơ bản 5 Các thuật ngữ cơ bảnNếun1,..,nklàmộtchuỗicácnúttrêncâysaochonilànút chacủanútni+1,vớii=1..k1,thìchuỗinàygọilàmột đườngđitrêncây(hayngắngọnlàđườngđi)từn1đến nk.Độdàiđườngđiđượcđịnhnghĩabằngsốnúttrên đườngđitrừ1.Nhưvậyđộdàiđườngđitừmộtnútđến chínhnóbằngkhông. 6 Các thuật ngữ cơ bản alàtiềnbối(ancestor)củab,cònbgọilàhậuduệ (descendant)củanúta:Nếucóđườngđitừnútađếnnútb mộtnútvừalàtiềnbốivừalàhậuduệcủachínhnó. Tiềnbốihoặchậuduệcủamộtnútkhácvớichínhnó gọilàtiềnbốihoặchậuduệthựcsự. Trêncâynútgốckhôngcótiềnbốithựcsự.nútlá(leaf):lànútkhôngcóhậuduệthựcsự.núttrunggian(interior):LànútkhôngphảilàláCâyconcủamộtcâylàmộtnútcùngvớitấtcảcáchậu duệcủanó. 7 Các thuật ngữ cơ bảnChiềucaocủamộtnút:độdàiđườngđilớnnhấttừnút đótớilá.Chiềucaocủacây:chiềucaocủanútgốc.Độsâucủamộtnút:độdàiđườngđitừnútgốcđếnnút đó.Cácnútcócùngmộtđộsâuitagọilàcácnútcócùng mộtmứci. Theođịnhnghĩanàythìnútgốcởmức0,cácnútconcủa nútgốcởmức1. 8 Các thuật ngữ cơ bảnThứtựcácnúttrongcây Nếutaphânbiệtthứtựcácnútconcủacùngmộtnútthì câygọilàcâycóthứtự,thứtựquiướctừtráisang phải. Trongtrườnghợptakhôngphânbiệtrõràngthứtựcác nútthìtagọilàcâykhôngcóthứtự. • Cácnútconcùngmộtnútchagọilàcácnútanhem ruột(siblings). • Quanhệtráisangphảicủacácanhemruộtcóthể mởrộngchohainútbấtkỳtheoquitắc:nếua,blà haianhemruộtvàabêntráibthìcáchậuduệcủaa làbêntráimọihậuduệcủab. 9Các thuật ngữ cơ bản 10 Các thuật ngữ cơ bảnCácthứtựduyệtcâyquantrọng Duyệtcâylàmộtquitắcchophépđiqualầnlượttấtcả cácnútcủacâymỗinútđúngmộtlần,danhsáchliệtkê cácnút(tênnúthoặcgiátrịchứabêntrongnút)theothứ tựđiquagọilàdanhsáchduyệtcây. Cóbacáchduyệtcâyquantrọng: • Duyệttiềntự(preorder)NLR • Duyệttrungtự(inorder)LNR • Duyệthậutự(posorder)LRN 11 Các thuật ngữ cơ bảnĐịnhnghĩacácphépduyệtcâytổngquátmộtcáchđệ qui: Câyrỗngthìdanhsáchduyệtcâylàrỗngvànóđược coilàbiểuthứcduyệttiềntự,trungtự,hậutựcủacây. Câychỉcómộtnútthìdanhsáchduyệtcâygồmchỉ mộtnútđóvànóđượccoilàbiểuthứcduyệttiềntự, trungtự,hậutựcủacây. 12 Các thuật ngữ cơ bảnNgượclại:giảsửcâyTcónútgốclànvàcócáccâycon làT1,..,Tnthì: BiểuthứcduyệttiềntựcủacâyTlàli ...
Nội dung trích xuất từ tài liệu:
Bài giảng Cấu trúc dữ liệu 1: Chương 4A - Huỳnh Cao Thế Cường TRƯỜNGĐẠIHỌCANGIANGKHOAKỸTHUẬTCÔNGNGHỆMÔITRƯỜNG CẤUTRÚCDỮLIỆU1 Giảngviênphụtrách: HUỲNHCAOTHẾCƯỜNG BộmônTinhọc email:hctcuong@agu.edu.vn 1 1 CẤU TRÚC CÂY (TREES)CácthuậtngữcơbảntrêncâyKiểudữliệutrừutượngcâyCàiđặtcâyCâynhịphânCâytìmkiếmnhịphân 2 CÁC THUẬT NGỮ CƠ BẢN TRÊN CÂYCâylàmộttậphợpcácphầntửgọilànút(nodes),trong đócómộtnútđượcphânbiệtgọilànútgốc(root).Mốiquanhệchacon(parenthood):đểxácđịnhhệ thốngcấutrúctrêncácnút.Mỗinút,trừnútgốc,códuynhấtmộtnútcha.Mộtnút cóthểcónhiềunútconhoặckhôngcónútconnào.MỗinútbiểudiễnmộtphầntửtrongtậphợpđangxétMốiquanhệchaconđượcbiểudiễntheoquiướcnút chaởdòngtrênnútconởdòngdướivàđượcnốibởi mộtđoạnthẳng. 3 Các thuật ngữ cơ bảnĐịnhnghĩa Mộtnútđơnđộclàmộtcây.Nútnàycũngchínhlànút gốccủacây. GiảsửtacónlàmộtnútđơnđộcvàkcâyT1,..,Tkvới cácnútgốctươngứnglàn1,..,nkthìcóthểxâydựng mộtcâymớibằngcáchchonútnlàchacủacácnútn1,.., nk.CâymớinàycónútgốclànútnvàcáccâyT1,..,Tk đượcgọilàcáccâycon.Tậprỗngcũngđượccoilàmột câyvàgọilàcâyrỗngkíhiệu. 4Các thuật ngữ cơ bản 5 Các thuật ngữ cơ bảnNếun1,..,nklàmộtchuỗicácnúttrêncâysaochonilànút chacủanútni+1,vớii=1..k1,thìchuỗinàygọilàmột đườngđitrêncây(hayngắngọnlàđườngđi)từn1đến nk.Độdàiđườngđiđượcđịnhnghĩabằngsốnúttrên đườngđitrừ1.Nhưvậyđộdàiđườngđitừmộtnútđến chínhnóbằngkhông. 6 Các thuật ngữ cơ bản alàtiềnbối(ancestor)củab,cònbgọilàhậuduệ (descendant)củanúta:Nếucóđườngđitừnútađếnnútb mộtnútvừalàtiềnbốivừalàhậuduệcủachínhnó. Tiềnbốihoặchậuduệcủamộtnútkhácvớichínhnó gọilàtiềnbốihoặchậuduệthựcsự. Trêncâynútgốckhôngcótiềnbốithựcsự.nútlá(leaf):lànútkhôngcóhậuduệthựcsự.núttrunggian(interior):LànútkhôngphảilàláCâyconcủamộtcâylàmộtnútcùngvớitấtcảcáchậu duệcủanó. 7 Các thuật ngữ cơ bảnChiềucaocủamộtnút:độdàiđườngđilớnnhấttừnút đótớilá.Chiềucaocủacây:chiềucaocủanútgốc.Độsâucủamộtnút:độdàiđườngđitừnútgốcđếnnút đó.Cácnútcócùngmộtđộsâuitagọilàcácnútcócùng mộtmứci. Theođịnhnghĩanàythìnútgốcởmức0,cácnútconcủa nútgốcởmức1. 8 Các thuật ngữ cơ bảnThứtựcácnúttrongcây Nếutaphânbiệtthứtựcácnútconcủacùngmộtnútthì câygọilàcâycóthứtự,thứtựquiướctừtráisang phải. Trongtrườnghợptakhôngphânbiệtrõràngthứtựcác nútthìtagọilàcâykhôngcóthứtự. • Cácnútconcùngmộtnútchagọilàcácnútanhem ruột(siblings). • Quanhệtráisangphảicủacácanhemruộtcóthể mởrộngchohainútbấtkỳtheoquitắc:nếua,blà haianhemruộtvàabêntráibthìcáchậuduệcủaa làbêntráimọihậuduệcủab. 9Các thuật ngữ cơ bản 10 Các thuật ngữ cơ bảnCácthứtựduyệtcâyquantrọng Duyệtcâylàmộtquitắcchophépđiqualầnlượttấtcả cácnútcủacâymỗinútđúngmộtlần,danhsáchliệtkê cácnút(tênnúthoặcgiátrịchứabêntrongnút)theothứ tựđiquagọilàdanhsáchduyệtcây. Cóbacáchduyệtcâyquantrọng: • Duyệttiềntự(preorder)NLR • Duyệttrungtự(inorder)LNR • Duyệthậutự(posorder)LRN 11 Các thuật ngữ cơ bảnĐịnhnghĩacácphépduyệtcâytổngquátmộtcáchđệ qui: Câyrỗngthìdanhsáchduyệtcâylàrỗngvànóđược coilàbiểuthứcduyệttiềntự,trungtự,hậutựcủacây. Câychỉcómộtnútthìdanhsáchduyệtcâygồmchỉ mộtnútđóvànóđượccoilàbiểuthứcduyệttiềntự, trungtự,hậutựcủacây. 12 Các thuật ngữ cơ bảnNgượclại:giảsửcâyTcónútgốclànvàcócáccâycon làT1,..,Tnthì: BiểuthứcduyệttiềntựcủacâyTlàli ...
Tìm kiếm theo từ khóa liên quan:
Cấu trúc dữ liệu Bài giảng Cấu trúc dữ liệu Giải thuật Cơ sở dữ liệu Cấu trúc cây Kiểu dữ liệu trừu tượng câyGợi ý tài liệu liên quan:
-
62 trang 402 3 0
-
Đề thi kết thúc học phần học kì 2 môn Cơ sở dữ liệu năm 2019-2020 có đáp án - Trường ĐH Đồng Tháp
5 trang 378 6 0 -
Đề cương chi tiết học phần Cấu trúc dữ liệu và giải thuật (Data structures and algorithms)
10 trang 317 0 0 -
13 trang 294 0 0
-
Giáo trình Cơ sở dữ liệu: Phần 2 - TS. Nguyễn Hoàng Sơn
158 trang 294 0 0 -
Phân tích thiết kế hệ thống - Biểu đồ trạng thái
20 trang 288 0 0 -
Tài liệu học tập Tin học văn phòng: Phần 2 - Vũ Thu Uyên
85 trang 256 1 0 -
Đề cương chi tiết học phần Quản trị cơ sở dữ liệu (Database Management Systems - DBMS)
14 trang 246 0 0 -
8 trang 186 0 0
-
Giáo trình về dữ liệu và các mô hình cơ sở dữ liệu
62 trang 185 0 0