Giáo trình cấu trúc dữ liệu và giải thuật.

144 565 0
Giáo trình cấu trúc dữ liệu và giải thuật.

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Lý thuyết cấu trúc dữ liệu và giải thuật đầy đủ.

HC VIN CÔNG NGH BU CHÍNH VIN THÔNG CU TRÚC D LIU GII THUT (Dùng cho sinh viên h đào to đi hc t xa) Lu hành ni b HÀ NI - 2007 LI NÓI U Cu trúc d liu gii thut là mt trong nhng môn hc c bn ca sinh viên ngành Công ngh thông tin. Các cu trúc d liu các gii thut đc xem nh là 2 yu t quan trng nht trong lp trình, đúng nh câu nói ni ting ca Niklaus Wirth: Chng trình = Cu trúc d liu + Gii thut (Programs = Data Structures + Algorithms). Nm vng các cu trúc d liu các gii thut là c s đ sinh viên tip cn vi vi c thit k xây dng phn mm cng nh s dng các công c lp trình hin đi. Cu trúc d liu có th đc xem nh là 1 phng pháp lu tr d liu trong máy tính nhm s dng mt cách có hiu qu các d liu này. đ s dng các d liu mt cách hiu qu thì cn phi có các thut toán áp dng trên các d liu đó. Do v y, cu trúc d liu gii thut là 2 yu t không th tách ri có nhng liên quan cht ch vi nhau. Vic la chn mt cu trúc d liu có th s nh hng ln ti vic la chn áp dng gii thut nào. Tài liu “Cu trúc d liu gii thut” bao gm 7 chng, trình bày v các cu trúc d liu các gii thut c bn nh t trong tin hc. Chng 1 trình bày v phân tích thit k thut toán. u tiên là cách phân tích 1 vn đ, t thc tin cho ti chng trình, cách thit k mt gii pháp cho vn đ theo cách gii quyt bng máy tính. Tip theo, các phng pháp phân tích, đánh giá đ phc tp thi gian thc hin gii thut cng đc xem xét trong chng. Chng 2 trình bày v đ qui, mt khái nim rt c bn trong toán hc khoa hc máy tính. Vi c s dng đ qui có th xây dng đc nhng chng trình gii quyt đc các vn đ rt phc tp ch bng mt s ít câu lnh, đc bit là các vn đ mang bn cht đ qui. Chng 3, 4, 5, 6 trình bày v các cu trúc d liu đc s dng rt thông dng nh mng danh sách liên kt, ngn xp hàng đi, cây, đ th. ó là các c u trúc d liu cng rt gn gi vi các cu trúc trong thc tin. Chng 7 trình bày v các thut toán sp xp tìm kim. Các thut toán này cùng vi các k thut đc s dng trong đó đc coi là các k thut c s cho lp trình máy tính. Các thut toán đc xem xét bao gm các lp thut toán đn gin c các thut toán cài đt phc tp nhng có thi gian thc hin ti u. Cui mi phn đu có các câu hi bài tp đ sinh viên ôn luyn t kim tra kin thc ca mình. Cui tài liu có các ph lc hng dn tr li câu hi, mã ngun tham kho tài liu tham kho. V nguyên tc, các cu trúc d liu các gii thut có th đc biu din cài đt bng bt c ngôn ng lp trình hin đi nào. Tuy nhiên, đ có đc các phân tích sâu sc h n có kt qu thc t hn, tác gi đã s dng ngôn ng lp trình C đ minh ho cho các cu trúc d liu thut toán. Do vy, ngoài các kin thc c bn v tin hc, ngi đc cn có kin thc v ngôn ng lp trình C. Cui cùng, mc đã ht sc c gng nhng chc chn không tránh khi các thiu sót. Tác gi rt mong nhn đc s góp ý ca bn đc đng nghip đ tài liu đc hoàn thin hn. Hà Ni, tháng 10/2007 3 CHNG 1 PHÂN TÍCH THIT K GII THUT Chng 1 trình bày các khái nim v gii thut phng pháp tinh chnh tng bc chng trình đc th hin qua ngôn ng din đt gii thut. Chng này cng nêu phng pháp phân tích đánh giá mt thut toán, các khái nim liên quan đn vic tính toán thi gian thc hin chng trình. Trong mi phn đu có các minh ho c th. Phn đu đa ra ví d v bài toán nút giao thông phng pháp gii quyt bài toán t phân tích v n đ cho đn thit k gii thut, tinh chnh tng bc cho ti mc c th hn. Phn 2 đa ra mt ví d v phân tích tính toán thi gian thc hin gii thut sp xp ni bt.  hc tt chng này, sinh viên cn nm vng phn lý thuyt tìm các ví d tng t đ thc hành phân tích, thit k, đánh giá gii thut. 1.1 GII THUT NGÔN NG DIN T GII THUT 1.1.1 Gii thut Trong thc t, khi gp phi mt vn đ cn phi gii quyt, ta cn phi đa ra 1 phng pháp đ gii quyt vn đ đó. Khi mun gii quyt vn đ bng cách s dng máy tính, ta cn phi đa ra 1 gii pháp phù hp vi vic thc thi bng các ch ng trình máy tính. Thut ng “thut toán” đc dùng đ ch các gii pháp nh vy. Thut toán có th đc đnh ngha nh sau: Thut toán là mt chui hu hn các lnh. Mi lnh có mt ng ngha rõ ràng có th đc thc hin vi mt lng hu hn tài nguyên trong mt khong hu hn thi gian. Chng hn lnh x = y + z là mt lnh có các tính cht trên. Trong mt thu t toán, mt lnh có th lp đi lp li nhiu ln, tuy nhiên đi vi bt k b d liu đu vào nào, thut toán phi kt thúc sau khi thc thi mt s hu hn lnh. Nh đã nói  trên, mi lnh trong thut toán phi có ng ngha rõ ràng có th đc thc thi trong mt khong thi gian hu hn. Tuy nhiên, đôi khi mt lnh có ng ngha rõ ràng đi vi ngi này nhng li không rõ ràng đi vi ngi khác. Ngoài ra, thng rt khó đ chng minh mt lnh có th đc thc hin trong 1 khong hu hn thi gian. Thm chí, k c khi bit rõ ng ngha ca các lnh, cng khó đ có th chng minh là vi bt k b d liu đu vào nào, thut toán s dng. Tip theo, chúng ta s xem xét mt ví d v  xây dng thut toán cho bài toán đèn giao thông: Gi s ngi ta cn thit k mt h thng đèn cho mt nút giao thông có nhiu đng giao nhau phc tp.  xây dng tp các trng thái ca các đèn giao thông, ta cn phi xây dng mt chng trình có đu vào là tp các ngã r đc phép ti nút giao thông (li đi thng cng đc xem nh là 1 ngã r) chia tp này thành 1 s ít nht các nhóm, sao cho tt c các ngã r trong nhóm có th đc đi cùng lúc mà không xy ra tranh chp. Sau đó, chúng ta s gn trng thái ca các đèn giao thông vi mi nhóm va đc phân chia. Vi cách phân chia có s nhóm ít nht, ta s xây dng đc 1 h thng đèn giao thông có ít trng thái nht. 4 Chng hn, ta xem xét bài toán trên vi nút giao thông đc cho nh trong hình 1.1  di. Trong nút giao thông trên, C E là các đng 1 chiu, các đng còn li là 2 chiu. Có tt c 13 ngã r ti nút giao thông này. Mt s ngã r có th đc đi đng thi, chng hn các ngã r AB (t A r sang B) EC. Mt s ngã r thì không đc đi đng thi (gây ra các tuyn giao thông xung đt nhau), chng hn AD EB. H thng đèn ti nút giao thông phi hot đ ng sao cho các ngã r xung đt (chng hn AD EB) không đc cho phép đi ti cùng mt thi đim, trong khi các ngã r không xung đt thì có th đc đi ti cng 1 thi đim. Hình 1.1 Nút giao thông Chúng ta có th mô hình hóa vn đ này bng mt cu trúc toán hc gi là đ th (s đc trình bày chi tit  chng 5).  th là mt cu trúc bao gm 1 t p các đim gi là đnh mt tp các đng ni các đim, gi là các cnh. Vn đ nút giao thông có th đc mô hình hóa bng mt đ th, trong đó các ngã r là các đnh, có mt cnh ni 2 đnh biu th rng 2 ngã r đó không th đi đng thi. Khi đó, đ th ca nút giao thông  hình 1.1 có th đc biu din nh  hình 1.2. Hình 1.2  th ngã r A B C D E ACAB AD BCBA BD DBDA DC EBEA EC ED 5 Ngoài cách biu din trên, đ th còn có th đc biu din thông qua 1 bng, trong đó phn t  hàng i, ct j có giá tr 1 khi ch khi có 1 cnh ni đnh i đnh j. AB AC AD BA BC BD DA DB DC EA EB EC ED AB 1 1 1 1 AC 1 1 1 1 1 AD 1 1 1 BA BC 1 1 1 BD 1 1 1 1 1 DA 1 1 1 1 1 DB 1 1 1 DC EA 1 1 1 EB 1 1 1 1 1 EC 1 1 1 1 ED Bng 1.1 Biu din đ th ngã r bng bng Ta có th s dng đ th trên đ gii quyt vn đ thit k h thng đèn cho nút giao thông nh đã nói. Vic tô màu mt đ th là vic gán cho mi đnh ca đ th mt màu sao cho không có hai đnh đc ni bi 1 cnh nào đó li có cùng mt màu. D thy rng v n đ nút giao thông có th đc chuyn thành bài toán tô màu đ th các ngã r  trên sao cho phi s dng s màu ít nht. Bài toàn tô màu đ th là bài toán đã xut hin đc nghiên cu t rt lâu. Tuy nhiên, đ tô màu mt đ th bt k vi s màu ít nht là bài toán rt phc tp.  gii bài toán này, ngi ta thng s dng phng pháp “vét cn” đ th tt c các kh nng có th . Có ngha, đu tiên th tin hành tô màu đ th bng 1 màu, tip theo dùng 2 màu, 3 màu, v.v. cho ti khi tìm ra phng pháp tô màu tho mãn yêu cu. Phng pháp vét cn có v thích hp vi các đ th nh, tuy nhiên đi vi các đ th phc tp thì s tiêu tn rt nhiu thi gian thc hin cng nh tài nguyên h thng. Ta có th tip cn vn đ theo hng c gng tìm ra mt gii pháp đ tt, không nht thit phi là gii pháp ti u. Chng hn, ta s c gng tìm mt gii pháp tô màu cho đ th ngã r  trên vi mt s màu khá ít, gn vi s màu ít nht, thi gian thc hin vic tìm gii pháp là khá nhanh. Gii thut tìm các gii pháp đ tt nhng cha phi ti u nh vy gi là các gii thut tìm theo “cm tính”. i vi bài toán tô màu đ th, mt thut toán cm tính thng đc s dng là thut toán “tham n” (greedy). Theo thut toán này, đu tiên ta s dng mt màu đ tô nhiu nht s đnh có th, tho mãn yêu cu bài toán. Tip theo, s dng màu th 2 đ tô các đnh cha đc tô trong bc 1, ri s dng đn màu th 3 đ tô các đnh cha đc tô trong bc 2, v.v. 6  tô màu các đnh vi màu mi, chúng ta thc hin các bc: - La chn 1 đnh cha đc tô màu tô nó bng màu mi. - Duyt qua các đnh cha đc tô màu. Vi mi đnh dng này, kim tra xem có cnh nào ni nó vi mt đnh va đc tô bi màu mi hay không. Nu không có cnh nào thì ta tô màu đnh này bng màu mi. Thut toán này đc gi là “tham n” vì ti mi bc nó tô màu t t c các đnh có th mà không cn phi xem xét xem vic tô màu đó có đ li nhng đim bt li cho các bc sau hay không. Trong nhiu trng hp, chúng ta có th tô màu đc nhiu đnh hn bng 1 màu nu chúng ta bt “tham n” b qua mt s đnh có th tô màu đc trong bc trc. Ví d, xem xét đ th  hình 1.3, trong đó đnh 1 đã đc tô màu đ. Ta thy rng hoàn toàn có th tô c 2 đnh 3 4 là màu đ, vi điu kin ta không tô đnh s 2 màu đ. Tuy nhiên, nu ta áp dng thut toán tham n theo th t các đnh ln dn thì đnh 1 đnh 2 s là màu đ, khi đó đnh 3, 4 s không đc tô màu đ. Hình 1.3  th Bây gi ta s xem xét thut toán tham n đc áp dng trên đ th các ngã r  hình 1.2 nh th nào. Gi s ta bt đu t đnh AB tô cho đnh này màu xanh. Khi đó, ta có th tô cho đnh AC màu xanh vì không có cnh ni đnh này vi AB. AD cng có th tô màu xanh vì không có cnh ni AD vi AB, AC. nh BA không có cnh ni ti AB, AC, AD nên cng có th đc tô màu xanh. Tuy nhiên, đnh BC không tô đc màu xanh vì tn ti cnh ni BC AB. Tng t nh vy, BD, DA, DB không th tô màu xanh vì tn ti cnh ni chúng ti mt trong các đnh đã tô màu xanh. Cnh DC thì có th tô màu xanh. Cui cùng, cnh EA, EB, EC cng không th tô màu xanh trong khi ED có th đc tô màu xanh. 1 5 3 4 2 a)  th ban đu 1 5 3 4 2 b) Tô màu theo thut toán tham n 1 5 3 4 2 c) Mt cách tô màu tt hn 7 Hình 1.4 Tô màu xanh cho các đnh ca đ th ngã r Tip theo, ta s dng màu đ đ tô các đnh cha đc tô màu  bc trc. u tiên là BC. BD cng có th tô màu đ, tuy nhiên do tn ti cnh ni DA vi BD nên DA không đc tô màu đ. Tng t nh vy, DB không tô đc màu đ còn EA có th tô màu đ. Các đnh cha đc tô màu còn li đ u có cnh ni ti các đnh đã tô màu đ nên cng không đc tô màu. Hình 1.5 Tô màu đ trong bc 2 Bc 3, các đnh cha đc tô màu còn li là DA, DB, EB, EC. Nu ta tô màu đnh DA là màu lc thì DB cng có th tô màu lc. Khi đó, EB, EC không th tô màu lc ta chn 1 màu th t là màu vàng cho 2 đnh này. ACAB AD BCBA BD DBDA DC EBEA EC ED ACAB AD BCBA BD DBDA DC EBEA EC ED 8 Hình 1.6 Tô màu lc màu vàng cho các đnh còn li Nh vy, ta có th dùng 4 màu xanh, đ, lc, vàng đ tô màu cho đ th ngã r  hình 1.2 theo yêu cu nh đã nói  trên. Bng tng hp màu đc mô t nh sau: Màu Ngã r Xanh AB, AC, AD, BA, DC, ED  BC, BD, EA Lc DA, DB Vàng EB, EC Bng 1.2 Bng tng hp màu Thut toán tham n không đm bo cho ra kt qu ti u là s màu ít nht đc dùng. Tuy nhiên, ngi ta có th dùng mt s tính cht ca đ th đ đánh giá kt qu thu đc. Tr li vi vn đ nút giao thông, t kt qu tô màu trên, ta có th thit k h thng đèn giao thông theo bng tng hp màu trên, trong đó m i trng thái ca h thng đèn tng ng vi 1 màu. Ti mi trng thái, các ngã r nm ti hàng tng ng vi màu đó đc cho phép đi, các ngã r còn li b cm. 1.1.2 Ngôn ng din đt gii thut k thut tinh chnh tng bc Sau khi đã xây dng đc mô hình toán hc cho vn đ cn gii quyt, tip theo, ta có th hình thành mt thu t toán cho mô hình đó. Phiên bn đu tiên ca thut toán thng đc din t di dng các phát biu tng đi tng quát, sau đó s đc tinh chnh dn tng bc thành chui các lnh c th, rõ ràng hn. Ví d trong thut toán tham n  trên, ta mô t bc thc hin  mc tng quát là “La chn 1 đnh cha đc tô màu”. Vi phát biu nh vy, ta hy vng rng ngi đc có th nm đc ý tng thc hin thao tác. Tuy nhiên, đ chuyn các phát biu đó ACAB AD BCBA BD DBDA DC EBEA EC ED 9 thành chng trình máy tính, cn phi qua 1 s bc tinh chnh cho ti khi đt đn mc các phát biu đu có th đc chuyn đi trc tip sang các lnh ca ngôn ng lp trình. Tr li ví d v bài toán tô màu đ th bng thut toán tham n. Ta s xem xét vic mô t thut toán t mc tng quát cho ti mt s mc c th hn. Ti bc nào đó, gi s ta có đ th G có 1 s đnh đã đc tô màu theo quy tc đã nói  trên. Th tc Tham_an di đây s xác đnh 1 tp các đnh cha đc tô màu thuc G mà có th cùng đc tô bi 1 màu mi. Th tc này s đc gi đi gi li nhiu ln cho ti khi tt c các đnh ca G đã đc tô màu.  mc tng quát, th t c đc mô t nh sau: void Tham_an(GRAPH: G, SET: Mau_moi) { Mau_moi = Tp rng; For mi đnh v cha đc tô màu thuc G If v không đc ni ti đnh nào trong tp Mau_moi { Tô màu mi cho đnh v; a v vào tp Mau_moi; } } Trong th tc trên, ta s dng mt ngôn ng din đt gii thut ta nh ngôn ng lp trình C. Trong ngôn ng này, các lnh đc mô t di dng ngôn ng t nhiên nhng vn tuân theo cú pháp ca ngôn ng lp trình. Ta nhn thy rng các phát biu trong th tc trên còn rt tng quát, cha tng ng vi các lnh trong ngôn ng lp trình, chng hn các điu kin ki m tra trong câu lnh For If  mc mô t hin ti là không thc hin đc trong C.  th tc có th thc thi đc, ta cn phi tinh chnh mt s bc đ có th chuyn đi v chng trình trong ngôn ng lp trình C thông thng. u tiên, ta xem xét lnh If  trên.  kim tra xem đnh v có ni ti mt đnh nào đó trong tp Mau_moi hay không, ta xem xét tng đnh w trong Mau_moi s dng đ th G đ kim tra xem có tn ti cnh ni v à w không.  lu gi kt qu kim tra, ta s dng mt bin ton_tai. Khi đó, th tc đc tinh chnh nh sau: void Tham_an(GRAPH: G, SET: Mau_moi) { int ton_tai; Mau_moi = Tp rng; For mi đnh v cha đc tô màu thuc G { ton_tai = 0; For mi đnh w thuc Mau_moi If tn ti cnh ni v w trong G ton_tai = 1; If ton_tai = = 1 { 10 Tô màu mi cho đnh v; a v vào tp Mau_moi; } } } Nh vy, ta có th thy rng điu kin kim tra trong phát biu If đã đc mô t c th hn bng các phát nh hn,và các phát biu này có th d dàng chuyn thành các lnh c th trong C. Tip theo, ta s tinh chnh các vòng lp For đ duyt qua các đnh thuc G thuc Mau_moi.  làm điu này, tt nht là ta thay For bng mt vòng lp While, bin v ban đu đc gán là phn t đu tiên cha tô màu trong tp G, ti mi bc lp, bin v s đc thay bng phn t cha tô màu tip theo trong G. Vòng lp F bên trong có th thc hin tng t. Void Tham_an(GRAPH: G, SET: Mau_moi) { int ton_tai; int v, w Mau_moi = Tp rng; v = đnh cha tô màu đu tiên trong G ; While v != NULL { ton_tai = 0; w = đnh đu tiên trong Mau_moi; While w != NULL{ If tn ti cnh ni v w trong G ton_tai = 1; w = đnh tip theo trong Mau_moi ; } If ton_tai = = 1 { Tô màu mi cho đnh v; a v vào tp Mau_moi; } v = đnh cha tô màu tip theo trong G; } } Nh vy, ta thy các phát biu trong th tc đã khá c th, tuy nhiên, đ chuyn đi thành chng trình trong ngôn ng C thì cn ti vài bc tinh chnh na. Bn đc hãy xem nh đó là bài tp t gii đ hiu rõ v ngôn ng din đt gii thut cng nh k thut tinh chnh tng bc. 1.2 PHÂN TÍCH THUT TOÁN Vi mi vn đ c n gii quyt, ta có th tìm ra nhiu thut toán khác nhau. Có nhng thut toán thit k đn gin, d hiu, d lp trình sa li, tuy nhiên thi gian thc hin ln tiêu tn . liu “Cu trúc d liu và gii thut” bao gm 7 chng, trình bày v các cu trúc d liu và các gii thut c bn nh t trong tin hc. Chng 1 trình bày. ca chng trình không ph thuc vào giá tr d liu đu vào mà ph thuc vào kích thc ca d liu đu vào. Do vy thi gian chy ca chng trình nên

Ngày đăng: 24/09/2013, 00:29

Hình ảnh liên quan

Hình 1.1 Nút giao thông - Giáo trình cấu trúc dữ liệu và giải thuật.

Hình 1.1.

Nút giao thông Xem tại trang 4 của tài liệu.
Hình 1.4 Tô màu xanh cho cá cđ nh ca đ th ngã r - Giáo trình cấu trúc dữ liệu và giải thuật.

Hình 1.4.

Tô màu xanh cho cá cđ nh ca đ th ngã r Xem tại trang 7 của tài liệu.
Hình 1.5 Tô màu đ trong b c2 - Giáo trình cấu trúc dữ liệu và giải thuật.

Hình 1.5.

Tô màu đ trong b c2 Xem tại trang 7 của tài liệu.
Hình 1.6 Tô màu lc và màu vàng cho cá cđ nh còn li - Giáo trình cấu trúc dữ liệu và giải thuật.

Hình 1.6.

Tô màu lc và màu vàng cho cá cđ nh còn li Xem tại trang 8 của tài liệu.
Hình 2.1 Các li gi đ qui đc th ch in khi gi th tc Fibonaci (6) - Giáo trình cấu trúc dữ liệu và giải thuật.

Hình 2.1.

Các li gi đ qui đc th ch in khi gi th tc Fibonaci (6) Xem tại trang 17 của tài liệu.
Hình 2.3 Kt qu c hy chung trình tháp Hàn ivi 4 đa - Giáo trình cấu trúc dữ liệu và giải thuật.

Hình 2.3.

Kt qu c hy chung trình tháp Hàn ivi 4 đa Xem tại trang 22 của tài liệu.
Theo lu tc thông th ng, quân mã tô (x,y) có th đi ti 8ô trên bà nc nh trong hình : - Giáo trình cấu trúc dữ liệu và giải thuật.

heo.

lu tc thông th ng, quân mã tô (x,y) có th đi ti 8ô trên bà nc nh trong hình : Xem tại trang 25 của tài liệu.
Hình 2.5 Kt qu c hy ch ng trình mã đi t un - Giáo trình cấu trúc dữ liệu và giải thuật.

Hình 2.5.

Kt qu c hy ch ng trình mã đi t un Xem tại trang 28 của tài liệu.
Hình 2.6 Các nc chi u ca quân hu - Giáo trình cấu trúc dữ liệu và giải thuật.

Hình 2.6.

Các nc chi u ca quân hu Xem tại trang 30 của tài liệu.
Hình 3.3 Danh sách liên kt kép - Giáo trình cấu trúc dữ liệu và giải thuật.

Hình 3.3.

Danh sách liên kt kép Xem tại trang 45 của tài liệu.
3.2.3.2 Danh sách liên kt kép - Giáo trình cấu trúc dữ liệu và giải thuật.

3.2.3.2.

Danh sách liên kt kép Xem tại trang 45 của tài liệu.
Hình 4.1 Cài đt ng nx pb ng m ng - Giáo trình cấu trúc dữ liệu và giải thuật.

Hình 4.1.

Cài đt ng nx pb ng m ng Xem tại trang 49 của tài liệu.
Hình 4.2 Cài đt ng nx pb ng danh sách liên kt - Giáo trình cấu trúc dữ liệu và giải thuật.

Hình 4.2.

Cài đt ng nx pb ng danh sách liên kt Xem tại trang 50 của tài liệu.
Hình 5.1 Cây - Giáo trình cấu trúc dữ liệu và giải thuật.

Hình 5.1.

Cây Xem tại trang 68 của tài liệu.
Hình 5.3 Cài đt câ yb ng danh sách các nút con - Giáo trình cấu trúc dữ liệu và giải thuật.

Hình 5.3.

Cài đt câ yb ng danh sách các nút con Xem tại trang 69 của tài liệu.
Gis ta có mt câ yT v ig cn và k cây con là T1, T2, ..., Tk nh hình v. - Giáo trình cấu trúc dữ liệu và giải thuật.

is.

ta có mt câ yT v ig cn và k cây con là T1, T2, ..., Tk nh hình v Xem tại trang 70 của tài liệu.
Hình 5.5 Cây nh phân - Giáo trình cấu trúc dữ liệu và giải thuật.

Hình 5.5.

Cây nh phân Xem tại trang 72 của tài liệu.
Hình 5.7 Cây nh phân tìm k im - Giáo trình cấu trúc dữ liệu và giải thuật.

Hình 5.7.

Cây nh phân tìm k im Xem tại trang 73 của tài liệu.
Ví d, cây nh phân hình bên di có th đc b iu di nb ng danh sách liên kt nh sau: - Giáo trình cấu trúc dữ liệu và giải thuật.

d.

cây nh phân hình bên di có th đc b iu di nb ng danh sách liên kt nh sau: Xem tại trang 74 của tài liệu.
Hình 6.1 th có h ng - Giáo trình cấu trúc dữ liệu và giải thuật.

Hình 6.1.

th có h ng Xem tại trang 77 của tài liệu.
Hình 6.3 th có tr ng s - Giáo trình cấu trúc dữ liệu và giải thuật.

Hình 6.3.

th có tr ng s Xem tại trang 79 của tài liệu.
Ví d, vi đ th có h ng (V, E) nh trong hình vd i, mat rn kca nó là: - Giáo trình cấu trúc dữ liệu và giải thuật.

d.

vi đ th có h ng (V, E) nh trong hình vd i, mat rn kca nó là: Xem tại trang 79 của tài liệu.
Hình 6.5 B iu di nđ th vô h ng b ng matr k - Giáo trình cấu trúc dữ liệu và giải thuật.

Hình 6.5.

B iu di nđ th vô h ng b ng matr k Xem tại trang 80 của tài liệu.
Ví d, vi đ th có h ng nh hình 6.1, các danh sách kca nó là: - Giáo trình cấu trúc dữ liệu và giải thuật.

d.

vi đ th có h ng nh hình 6.1, các danh sách kca nó là: Xem tại trang 81 của tài liệu.
Hình 6.9 Duy tđ th theo chi ur ng - Giáo trình cấu trúc dữ liệu và giải thuật.

Hình 6.9.

Duy tđ th theo chi ur ng Xem tại trang 83 của tài liệu.
Hình 7.1 Quicksort - Giáo trình cấu trúc dữ liệu và giải thuật.

Hình 7.1.

Quicksort Xem tại trang 95 của tài liệu.
Xét cây nh phân hình 7.2 tin hành chèn nút có khoá là 30 vào cây, ta tin hành các bc nh  sau:  - Giáo trình cấu trúc dữ liệu và giải thuật.

t.

cây nh phân hình 7.2 tin hành chèn nút có khoá là 30 vào cây, ta tin hành các bc nh sau: Xem tại trang 115 của tài liệu.
5) L nl ly các s đã lu trong ng nx ph in th ra màn hình, đó chính là d ng nh phân c a s  ban  đu - Giáo trình cấu trúc dữ liệu và giải thuật.

5.

L nl ly các s đã lu trong ng nx ph in th ra màn hình, đó chính là d ng nh phân c a s ban đu Xem tại trang 119 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan