0

cấu trúc dữ liệu và giải thuật phần 22

Cấu trúc dữ liệu và giải thuật (phần 1) doc

Cấu trúc dữ liệu giải thuật (phần 1) doc

Kỹ thuật lập trình

... mà một giải thuật cần đối với dữ liệu nhập tốt nhất”.2. Trường hợp trung bình: Thời gian tính toán màmột giải thuật cần đối với dữ liệu nhập thông thường”. VVííddụụ2. Giải thuật ... Với phần lớn các bài toán, thường có nhiều giải thuật khác nhau để giải một bài toán.- Làm cách nào để chọn giải thuật tốt nhất để giải một bài toán?- Làm cách nào để so sánh các giải thuật ... thuật cùng giải được một bài toán? Phân tích độ phức tạp của một giải thuật: Dự đoán các tài nguyên mà giải thuật đó cần KhKháái nii niệệmm Tài nguyên của một giải thuật: Bộ...
  • 10
  • 319
  • 0
Cấu trúc dữ liệu và giải thuật (phần 2) pptx

Cấu trúc dữ liệu giải thuật (phần 2) pptx

Kỹ thuật lập trình

... vấn đề con để giải quyết, sau đó kết hợp lại2. Giải thuật đệ qui: Để giải quyết 1 vấn đề, giải thuật gọi lại chính nó 1 hay nhiều lần để giải quyết những vấn đề con3. Giải thuật chia để trị: ... tại hai hằng số c0 N0 sao cho g(N) nhỏ hơn c0 vi mi N>N0ã Theta ln: Theta(f) = (f) O(f) ThuThuậật tot toáán chia đn chia đểểtrtrịị1. Khái niệm: Giải thuật chia để trị ... factorial (int n){ if (n == 0) return 1;else return n * factorial(n - 1);} Tính tối ưu của giải thuật đệ qui?int factorial (int n){ int c, fact = 1;for (c = 1; c<= n; c++)fact*= c;return...
  • 10
  • 353
  • 0
Cấu trúc dữ liệu và giải thuật (phần 3) pdf

Cấu trúc dữ liệu giải thuật (phần 3) pdf

Kỹ thuật lập trình

... 3 10 }Ban đầu mảng A có {5} đã sắp xếp1. Chèn 8 vào {5}  {5,8}2. Chèn 6 vào {5,8}  {5,6,8}3. Chèn 3 vào {5,6,8}  {3,5,6,8}4. Chèn 10 vào {3,5,6,8}  {3,5,6,8,10} Ôn tÔn tậập Insertion ... sortShell sortGiới thiệu:– Được phát minh bởi Donald L.Shell vào năm 1959– Shell sort là thuật toán hiệu quả nhất trong nhóm các thuật toán sắp xếp có độ phức tạp O(n2). – Shell sort là sự ... (k>0)&&(a[k-1]>x);k )a[k]=a[k-1];a[k]=x;}} Shell sortShell sortÝ tưởng thuật toán:- Thuật toán Shell sort với số bước giảm dần- Chọn khoảng cách giữa các bước d = n; d=(d+1)/2-...
  • 10
  • 440
  • 0
Cấu trúc dữ liệu và giải thuật (phần 4) docx

Cấu trúc dữ liệu giải thuật (phần 4) docx

Kỹ thuật lập trình

... 102, 310, 111, 213, 013, 120, 222 , 023, 323, 130, 330, 231,032 Radix sortRadix sortBucket Number Contents0 002, 013, 023, 0321 102, 111, 120, 1302 201, 213, 222 , 2313 301, 310, 323, 330 ... dãy [310, 213, 023, 130, 013, 301, 222 , 032, 201, 111, 323, 002, 330, 102, 231, 120]Bucket Number Contents0 310, 130, 330, 1201 301, 201, 111, 2312 222 , 032, 002, 1023 213, 023, 013, 323 ... 023, 013, 323 310, 130, 330, 120, 301, 201, 111, 231, 222 , 032, 002, 102, 213, 023, 013, 323 Radix sortRadix sort Thuật toán:– Xem các phần tử trong mảng gồm các lớp có độ ưu tiên khác nhau....
  • 10
  • 357
  • 0
Cấu trúc dữ liệu và giải thuật (phần 5) ppsx

Cấu trúc dữ liệu giải thuật (phần 5) ppsx

Kỹ thuật lập trình

... giá trị các đỉnh con. - Một khi danh sách dữ liệu đã được vun thành đống, gốc của nó là phần tử lớn nhất, thuật toán sẽ giải phóng nó khỏi đống để đặt vào cuối danh sách. Heap sortHeap sort ... (chọn phần tử lớn nhất (hoặc nhỏ nhất) đặt vào cuối (hoặc đầu) danh sách, sau đó tiếp tục với phần còn lại của danh sách).- Sắp xếp chọn có độ phức tạp O(n2). Nhưng Heapsort sử dụng cấu trúc ... sortHeap sort Giải thuật: - Xem danh sách n phần tử là cây nhị phân. - Cây nhị phân được xác định như sau: tại nút thứ i tương ứng với chỉ số thứ i của mảng có con trái lànút 2*(i+1)-1 con phải...
  • 10
  • 448
  • 0
Cấu trúc dữ liệu và giải thuật (phần 6) potx

Cấu trúc dữ liệu giải thuật (phần 6) potx

Kỹ thuật lập trình

... Đánh giá thuật toán:- Độ phức tạp của giải thuật là O(nlgn)- Ưu điểm: Nhanh, hiệu quả, không đòi hỏi vềkhông gian bộ nhớ- Nhược điểm: Khi dãy số đã sắp xếp có thứ tự thì giải thuật này ... …,an] thành 2 dãy b,c theo nguyên tắc luân phiên từng nhóm k phần tử- B3: Trộn từng cặp dãy con gồm k phần tử của dãy b,c vào a- B4: k=k*2;- Nếu k <n thì quay lại B2. - Ngược ... tửnhỏ hơn trong hai phần tửa[i], a[j] vào dãy bwhile (j < right) { j++; k++; b[k] = a[j] }//đặt các phần tửcòn lại của dãy a[m+1,r] vào cuối dãy bwhile (i < mid) { i++;...
  • 10
  • 326
  • 0
Cấu trúc dữ liệu và giải thuật (phần 7) pdf

Cấu trúc dữ liệu giải thuật (phần 7) pdf

Kỹ thuật lập trình

... dụng trong các cấu trúc dữ liệu là danh sách liên kết hoặc file Merge sort trMerge sort trựực tic tiếếpp41 Merge sort trMerge sort trựực tic tiếếpp Đánh giá thuật toán:- ... Merge sort Ưu nhược điểm:- Thuật toán trộn tự nhiên tận dụng được các đường chạy tự nhiên của dãy- Tuy nhiên, trộn tự nhiên đòi hỏi không gian bộ nhớ để lưu các dãy phụ b, c- Thuật toán ... gianB1: Phân phối các run luân phiên vào a1,a2,a3a1: (3,5);(4,15,20)a2: (2,7,12);(1,2,8,23)a3: (8);(7,21,27)B2: Trộn các run của a1,a2,a3 luân phiên phân phối vào b1,b2,b3 Natural Merge sortNatural...
  • 10
  • 378
  • 0
Cấu trúc dữ liệu và giải thuật (phần 8) pdf

Cấu trúc dữ liệu giải thuật (phần 8) pdf

Kỹ thuật lập trình

... ca mng ny vo mng kia. Việc sao chép này có thể loại bỏ nếu ta bắt đầu với Fn-1run của mảng 1 Fn-2run của mảng 2. Với Fn-1, Fn-2là các số liên tiếp trong nãy Fibonaci Polyphase Merge ... hiệu quả bởi vì trong cùng 1 lần duyệt thìphân nữa số mảng luôn luôn giữ vai trò trộn (nguồn) phân nữa giữ vai trò phân phối (đích)  Cải tiến: Thay đổi vai trò của các mảng trong cùng...
  • 5
  • 307
  • 0
Cấu trúc dữ liệu và giải thuật (phần 9) pdf

Cấu trúc dữ liệu giải thuật (phần 9) pdf

Kỹ thuật lập trình

... cộng: 10So sánh với các thuật toán khác: Thuật toán Phép nhân Phép cộngCơ bản 13 7Horner 7 7Xử lý hệ số 5 10 ThuThuậật tot toáán cơ bn cơ bảảnn Thuật toán:result = a0+ ... Thuật toán:result = an;for (int i=n-1;i>=0;i ){ result = result * x;result = result + ai;} ThuThuậật tot toáán tin tiềền xn xửửlý hlý hệệssốốĐánh giá thuật ... ai*xpower;}Đánh giá thuật toán:- Số phép cộng: 1+ (n-1) = n- Số phép nhân: 1+ 2*(n-1) = 2n-1 TTổổng kng kếết t Bài tập: Phân tích đa thức sau theo 2 phương pháp Horner Xử lý hệ sốx7+6x6+4x4-2x3+3x2-7x+5Thuật...
  • 10
  • 333
  • 0
Cấu trúc dữ liệu và giải thuật (phần 10) pot

Cấu trúc dữ liệu giải thuật (phần 10) pot

Kỹ thuật lập trình

... A 22 )(B11+B 22 ) P2= (A21+ A 22 ) * B11P3= A11* (B12- B 22 ) P4= A 22 * (B21- B11) P5= (A11+ A12) * B 22 P6= (A21- A11) * (B11+ B12) P7= (A12- A 22 ) ... trị (x1,…,xn) Ví dụ: ThuThuậật tot toáán Strassenn Strassen Đánh giá giải thuật: - Thuật toán Strassen có độ phức tạp O(nlog7) = O(n2,81) ... (A21- A11) * (B11+ B12) P7= (A12- A 22 ) * (B21+ B 22 ) C11= P1+ P4- P5+ P7C12= P3+ P5C21= P2+ P4C 22 = P1+ P3- P2+ P6 ThuThuậật tot toáán Strassenn...
  • 10
  • 664
  • 2
Cấu trúc dữ liệu và giải thuật (phần 11) pptx

Cấu trúc dữ liệu giải thuật (phần 11) pptx

Kỹ thuật lập trình

... Trình bày các bước của thuật toán Gaus-Jordan của hệ phương trình sau ThuThuậật tot toáán Gaussn Gauss--JordanJordan- Từ hệ phương trình  Ma trận n dòng n+1 cộtBiến đổi...
  • 3
  • 255
  • 0
Cấu trúc dữ liệu và giải thuật (phần 12) pdf

Cấu trúc dữ liệu giải thuật (phần 12) pdf

Kỹ thuật lập trình

... hiện tiếp theo bằng cách thay đổi giá trị đầu của đoạn text- Thuật toán thông thường: - So sánh kí tự đầu của đoạn text kí tự đầu của chuỗi con- Nếu trùng so sánh kí ... P=”abcababcabd” Prefix(11)=0 String matchingString matching Thuật toán:isub= 0; itext = 0; //ví trịhiện tại của chuỗi và đoạn textstarttext=0; //vịtrí bắt đầuwhile (itext ... <>P[q])k=PI[k];if(P[k+1]==P[q])k++;PI[q]=k;} KnuthKnuth--MorrisMorris--PrattPratt Thuật toán tính KMP:– Xác định độ dài q của xâu vừa là prefix của P,vừa làsuffix của T[1 i] với...
  • 10
  • 301
  • 0
Cấu trúc dữ liệu và giải thuật (phần 13) ppt

Cấu trúc dữ liệu giải thuật (phần 13) ppt

Kỹ thuật lập trình

... PI[6]=3P=”abcabca” PI[7]=4 BoyerBoyer--MooreMoore Thuật toán:– Gọi s là vị trí cần khảo sỏt. Ban u s=0. Lp chng no s<=n-m:ã So sỏnh 2 xâu P T, lần lượt từvịtrí cuối cùng, cho ... P=”abcabca”P[0+1]=T[11]  q=0+1=1 KnuthKnuth--MorrisMorris--PrattPratt Đánh giá thuật toán:- Thuật toán Knuth-Morris-Pratt có chi phí về thời gian là O(m+n) với nhiều nhất là 2n-1 lần ... so sánh ký tự trong quá trình tìm kiếm. BoyerBoyer--MooreMoore Ý tưởng:- Khác với KMP, thuật toán Boyer-Moore kiểm tra các ký tự mẫu từ phải sang trái- Hàm int Last(char c, char*P):...
  • 10
  • 346
  • 1

Xem thêm