1 / 27

CAÂY NHÒ PHAÂN TÌM KIEÁM

CAÂY NHÒ PHAÂN TÌM KIEÁM. SINH VIEÂN THÖÏC HIEÄN: TRAÀN HÖÔNG LAN LÔÙP 3B K30101049 VOÕ THÒ LÖÔNG LÔÙP 3B K30101057. Caáu truùc caây ---------------------.

otto
Download Presentation

CAÂY NHÒ PHAÂN TÌM KIEÁM

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CAÂY NHÒ PHAÂN TÌM KIEÁM

  2. SINH VIEÂN THÖÏC HIEÄN: TRAÀN HÖÔNG LAN LÔÙP 3B K30101049 VOÕ THÒ LÖÔNG LÔÙP 3B K30101057

  3. Caáu truùc caây--------------------- • ÑN 1: Caây laø taäp hôïp T caùc phaàn töû (goïi laø nuùt cuûa caây) trong ñoù coù moät nuùt ñaëc bieät goïi laø goác), caùc nuùt coøn laïi ñöôïc phaân chia thaønh nhöõng taäp hôïp rôøi nhau T1, T2,…,Tn theo quan heä phaân caáp trong ñoù Ti cuõng laø moät caây. Moãi nuùt ôû caáp i seõ quaûn lyù moät soá nuùt ôû caáp i+1. Quan heä naøy goïi laø quan heä cha-con.

  4. Caáu truùc caây-------------------- • ÑN 2: Caáu truùc caây vôùi kieåu cô sôû T laø moät nuùt caáu truùc roãng ñöôïc goïi laø caây roãng (NULL). Moät nuùt maø thoâng tin chính cuûa noù coù kieåu T, noù lieân keát vôùi moät soá höõu haïn caùc caáu truùc caây khaùc cuõng coù kieåu cô sôû T. Caùc caáu truùc naøy ñöôïc goïi laø caây con cuûa caây ñang xeùt.

  5. Moät soá khaùi nieäm cô baûn: • Baäc cuûa moät nuùt: laø soá caây con cuûa nuùt ñoù. • Baäc cuûa moät caây: laø baäc lôùn nhaát cuûa caùc nuùt trong caây. Caây coù baäc n thì goïi laø caây n-phaân. • Nuùt goác: laø nuùt khoâng coù nuùt cha. • Nuùt laù: laø nuùt khoâng coù nuùt con. • Nuùt nhaùnh: laø nuùt coù baäc khaùc khoâng vaø khoâng laø nuùt goác. • Möùc cuûa moät nuùt: • Möùc (goác T)=0

  6. Goïi T1,T2,T3…Tn laø caùc caây con cuûa T möùc (T1)=möùc (T2)=…=möùc (T)+1 • Ñoä daøi ñöôøng ñi töø goác ñeán nuùt x: laø soá nhaùnh caàn ñi qua keå töø goác ñeán x. • Ñoä daøi ñöôøng ñi toång cuûa caây: PT=  PX ,xT. Trong ñoù PX laø ñoä daøi ñöôøng ñi töø goác ñeán x. • Ñoä daøi ñöôøng ñi trung bình : Pi =PT/n (n laø soá nuùt cuûa caây T)

  7. möùc --------------------------------------- 8 0 ------ ------------ ---------------------- 1 5 0 1 ----- ---- 9 ------ --------------- 4 28 25 2 ---------------------- 27 3 Nuùt goác: nuùt coù giaù trò laø 8Baäc cuûa nuùt goác laø 3, laø baäc cao nhaát cuûa caùc nuùt trong caây ->baäc cuûa caây laø 3. Ñoä daøi töø goác ñeán nuùt coù giaù trò 27 laø 3.Ñoä daøi toång cuûa caây: PT=1+1+1+2+2+2+2+3=14Ñoä daøi trung bình: Pi=14/9

  8. CAÂY NHÒ PHAÂN------------------- • Ñn: laø caây maø moãi nuùt coù toái ña 2 con. • Moät soá tính chaát: • Soá nuùt naèm ôû möùc i ≤ 2i • Soá nuùt laù ≤ 2h-1 • Chieàu cao h cuûa caây ≥ log2(soá nuùt trong caây) • Soá nuùt trong caây ≤ 2h-1 • h=möùc cao nhaát +1

  9. 8 1 0 5 9 28 25 4 4 29 27 Caây nhò phaân

  10. Bieåu dieãn caây: • Söû duïng phöông phaùp caáp phaùt lieân keát ñeå bieåu dieãn caây: ÖÙng vôùi moãi nuùt, ta duøng bieán ñoäng löu tröõ caùc thoâng tin sau: - Thoâng tin löu tröõ taïi nuùt. - Ñòa chæ nuùt goác cuûa caây con traùi trong boä nhôù. - Ñòa chæ nuùt goác cuûa caây con phaûi trong boä nhôù. Phöông phaùp naøy ñöôïc duøng chuû yeáu trong bieåu dieãn caây nhò phaân vì tính meàm deûo cuûa phöông thöùc caáp phaùt lieân keát

  11. Khai baùo: struct TNODE { data key; //data laø kieåu döõ lieäu öùng vôùi thoâng tin löu taïi nuùt TNODE *pleft, *pright; }; typedef TNODE *TREE;

  12. Ñoâi khi ñn caây nhò phaân, ngöôøi ta quan taâm ñeán caû 2 chieàu cha-con. Luùc ñoù caây nhò phaân coù caùch bieåu dieãn nhö sau: • struct TNODE • { data key; TNODE* pparent; TNODE* pleft; TNODE* pright; }; typedef TNODE *TREE;

  13. * + * 4 - 0 - - 27 25 + 9 28 8 15 DUYEÄT CAÂY NHÒ PHAÂN---------------------------- • Cho caây nhò phaân:

  14. Theo thöù töï tröôùc (NLR) • void NLR (Tree Root) • { if(Root !=NULL) • { <xöû lyù Root>;//theo yeâu caàu NLR (Root→pleft); NLR (Root→pright); Vd: *+--9 28+15 8 0 *4-27 25 { {

  15. Theo thöù töï giöõa (LNR) • void LNR (Tree Root) • { if(Root !=NULL) • {LNR (Root→pleft); • <xöû lyù Root>;//theo yeâu caàu LNR (Root→pright); Vd: {[(9-28)-(15+8)]+0}*[4*(27-25)] } }

  16. Theo thöù töï sau (LRN)void LRN (Tree Root){ if(Root !=NULL) • {LRN (Root→pleft); LRN (Root→pright); <xöû lyù Root>;//theo yeâu caàu Vd: 9 28-15 8+-0+ 27 25** } }

  17. Bieåu dieãn caây toång quaùt baèng caây nhò phaân Treân caây toång quaùt, baäc cuûa caùc nuùt dao ñoäng trong moät bieân ñoä lôùn ->nhieàu khoù khaên laõng phí khi bieåu dieãn. Hôn nöõa cacù thao taùc laïi phöùc taïp hôn so vôùi caây nhò phaân.Vì theá neáu khoâng caàn thieát söû duïng caây toång quaùt thì ngöøôi ta söû duïng caây nhò phaân. Quaù trình chuyeån thöïc hieän theo quy taéc: • Giöõ laïi nuùt con traùi nhaát laøm nuùt con. • Caùc nuùt coøn laïi chuyeån thaønh nuùt con phaûi. • Trong caây nhò phaân môùi, con traùi theå hieän quan heä cha-con, con phaûi theå hieän quan heä anh em trong caây toång quaùt ban ñaàu.

  18. A B C D E F G J I K H Caây toång quaùt

  19. Chuyeån thaønh caây nhò phaân A B C D E J I H F K G

  20. ÖÙng duïng cuûa caây nhò phaân------------------ • Caây nhò phaân coù theå duøng ñeå giaûi quyeát nhieàu vaán ñeà.Chuùng ñaëc bieät höõu ích trong vieäc moâ hình hoùa caùc pheùp thöû hai khaû naêng ñöôïc laëp ñi laëp laïi nhieàu laàn. (Ví duï: baät, taét; ñuùng, sai; leân, xuoáng…)

  21. Caùc ví duï---------------------- • Ví duï 1: Caây döôùi ñaây minh hoïa cho caùc khaû naêng coù theå xaûy ra khi tung 1 ñoàng xu leân 3 laàn N S N S S N S N S N S N S N

  22. T E N M I A • VD2: Caây döôùi ñaây duøng ñeå minh hoïa moät phaàn baûng maõ Morse. ETIANM - - -

  23. VD3: Maõ Huffman: -Khaùc vôùi baûng maõ ASCII, maõ Morse vaø maõ Huffman bieåu dieãn caùc kí töï baèng nhöõng chuoãi coù ñoä daøi khaùc nhau.-YÙ töôûng chính cuûa vieäc laøm naøy: Duøng maõ ngaén hôn cho nhöõng kí töï xuaát hieän thöôøng xuyeân hôn, maõ daøi hôn cho nhöõng kí töï ít xuaát hieän thöôøng xuyeân hôn. Töø ñoù laøm giaûm ñoä daøi vaên baûn ñöôïc maõ hoùa.

  24. Caùch xaây döïng baûng maõ Huffman: • Giaû söû coù moät taäp kí töï caàn maõ hoùa {C1,C2,..,Cn} vôùi saùc xuaát xuaát hieän laø {d1,d2,…dn}. • B1: Xaây döïng caây nhò phaân coù moät nuùt laø nhöõng kí töï C1,C2,..,Cnvôùi caùc troïng soá d1,d2,…,dn. • B2: Thöïc hieän caùc böôùc sau n-1 laàn: • Tìm caây T’, T’’ coù goác coù troïng soá nhoû nhaát d’ vaø d’’ • Theâm 2 caây naøy baèng 1 caây coù goác coù troïng soá laø d’+ d” vaø 2 caây con laø T’ vaø T”. Ñaùnh daáu 2 muõi teân(->) chæ 2 caây naøy laàn löôït laø 0,1. • -Maõ cuûa kí töï Cilaø daõy nhò phaân töø goác ñeán Ci

  25. Vd: B C D A E 0.2 0.45 0.15 0.2 0 1 B C D A • E 0.45 0.35 0.2 0 1 0.2 0 1 B C D • E A 0.1 0.1 0.15 0.2 0.45 • Vd: B C D A E

  26. 0.55 0 1 0.35 0 1 0.2 0 1 D A B C 1 0 0.55 1 0 0.35 1 0 0.2 1 1 0 • E D A B C 0.45 • E

  27. B: 0000 C: 0001 D: 001 A: 01 E: 1 • Nhaän xeùt: • - Maõ Huffman coù theå ñöôïc giaûi maõ ngay vì khoâng daõy bit naøo bieåu dieãn cho moät kyù töï xuaát hieän ôû ñaàu daõy bit bieåu dieãn cho moät kí töï khaùc. • - Morse khoâng coù ñaëc ñieåm naøy, neân noù phaûi duøng bit thöù 3 ñeå chia caùch caùc kyù töï. • Vd: 00101001 = DAD

More Related