15
1 I.LÝ THUY T. 1. Khái ni m: + MỘT tập hợp các phần tử dữ liệu ban đầu trong một bài toán được gọi là d li u c ơ s + Gi i thu t (Algorithm) là một dãy các qui tắc chặt chẽ xác định một trình tự các thao tác trên một đối tượng cụ thể để giải quyết một vấn đề hoặc để hoàn thành một mục đích cuối cùng nào đó + C u tr ú c d li u là sự kết hợp các dữ liệu cơ sở theo một phương thức nào đó nhằm liên kết chúng thành một cấu trúc thống nhất tiện lợi cho quá trình xử 2. Ph ươ ng ph á p thi ế t k ế d li u: + TOP DOWN : Trước hết người ta xác định các vấn đề chủ yếu nhất mà việc giải quyết bài toán yêu cầu , bao quát được toàn bộ bài toán . Sau đó phân chia nhiệm vụ cần giải quyết thành các niệm vụ cụ thể hơn, tức là chuyển dần từ môdule chính đến các môdun con từ trên xuống dưới , do vậy phương pháp có tên gọi là thiết kế " từ đỉnh xuống + BOTTOM UP : Trước hết người ta tiến hành giải quyết các vấn đề cụ thể ,sau đó trên cơ sở đánh giá mức độ tương tự về chức năng của các vấn đề này trong việc giải quyết bài toán người ta gộp chúng lại thành từng nhóm cùng chức năng từ dưới lên trên cho đến môđun chính . Sau đó sẽ thiết kế thêm một số chương trình làm phong phú hơn ,đầy đủ hơn chức năng của các phân hệ và cuối cùng là thiết kế một chương trình làm nhiệm vụ tập hợp các môđun thành một hệ chương trình thống nhất, hoàn chỉnh 3. PP xác đị nh độ ph c t p gi i thu t theo k ý ph á p ch O l n: + Qui tắc cộng Giả sử T1( n ) và T2( n) là thời gian thực hiện hai giải thuật A1 và A2 với T1(n) = O(f(n)) và T2 = O(f(n)) . Khi đó thời gian thực hiện A1 rồi đến A2 sẽ là T = T1(n) + T2 (n) và được đánh giá bằng đại lượng O(max(f(n),g(n)). + Qui tắc nhân Giả sử T1( n ) và T2( n) là thời gian thực hiện hai giải thuật A1 và A2 với T1(n) = O(f(n)) và T2 = O(f(n)) . Khi đó thời gian thực hiện A1 và A2 lồng nhau sẽ là T1(n)T2 (n) = O ( f(n)x g(n)). XÁC ĐỊNH ĐỘ PHỨC TẠP THUẬT TOÁN Cách tính độ phức tạp của một số giải thuật đơn giản. QUY TẮC XÁC ĐỊNH ĐỘ PHỨC TẠP Độ phức tạp tính toán của giải thuật: O(f(n)) Việc xác định độ phức tạp tính toán của giải thuật trong

tài liệu ôn thi cấu trúc dữ liệu và giải thuật

  • Upload
    ta-linh

  • View
    14

  • Download
    3

Embed Size (px)

Citation preview

I.L THUYT.1. Khi nim:+ MT tp hp cc phn t d liu ban u trong mt bi ton c gi l d liu c s+ Gii thut (Algorithm) l mt dy cc qui tc cht ch xc nh mt trnh t cc thao tc trn mt i tng c th gii quyt mt vn hoc hon thnh mt mc ch cui cng no + Cu trc d liu l s kt hp cc d liu c s theo mt phng thc no nhm lin kt chng thnh mt cu trc thng nht tin li cho qu trnh x l2. Phng php thit k d liu:+ TOP DOWN: Trc ht ngi ta xc nh cc vn ch yu nht m vic gii quyt bi ton yu cu , bao qut c ton b bi ton . Sau phn chia nhim v cn gii quyt thnh cc nim v c th hn, tc l chuyn dn t mdule chnh n cc mdun con t trn xung di , do vy phng php c tn gi l thit k " t nh xung+ BOTTOM UP: Trc ht ngi ta tin hnh gii quyt cc vn c th ,sau trn c s nh gi mc tng t v chc nng ca cc vn ny trong vic gii quyt bi ton ngi ta gp chng li thnh tng nhm cng chc nng t di ln trn cho n mun chnh . Sau s thit k thm mt s chng trnh lm phong ph hn ,y hn chc nng ca cc phn h v cui cng l thit k mt chng trnh lm nhim v tp hp cc mun thnh mt h chng trnh thng nht, hon chnh3. PP xc nh phc tp gii thut theo k php ch O ln:+ Qui tc cngGi s T1( n ) v T2( n) l thi gian thc hin hai gii thut A1 v A2 vi T1(n) = O(f(n)) v T2 = O(f(n)) . Khi thi gian thc hin A1 ri n A2 s l T = T1(n) + T2 (n) v c nh gi bng i lng O(max(f(n),g(n)).+ Qui tc nhnGi s T1( n ) v T2( n) l thi gian thc hin hai gii thut A1 v A2 vi T1(n) = O(f(n)) v T2 = O(f(n)) . Khi thi gian thc hin A1 v A2 lng nhau s l T1(n)T2 (n) = O ( f(n)x g(n)).XC NH PHC TP THUT TONCch tnh phc tp ca mt s gii thut n gin.QUY TC XC NH PHC TP phc tp tnh ton ca gii thut: O(f(n)) Vic xc nh phc tp tnh ton ca gii thut trong thc t c th tnh bng mt s quy tc n gin sau:Quy tc b hng s: T(n) = O(c.f(n)) = O(f(n)) vi c l mt hng s dngQuy tc ly max: T(n) = O(f(n)+ g(n)) = O(max(f(n), g(n))) Quy tc cng: T1(n) = O(f(n)) T2(n) = O(g(n)) T1(n) + T2(n) = O(f(n) + g(n)) Quy tc nhn: on chng trnh c thi gian thc hin T(n)=O(f(n)) Nu thc hin k(n) ln on chng trnh vi k(n) = O(g(n)) th phc tp s l O(g(n).f(n))V d 1:s = 0;for (i=0; i