SlideShare ist ein Scribd-Unternehmen logo
1 von 12
THUẬT TOÁN ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
3.Tính xác định:  Các bước của thuật toán phải được xác định một cách chính xác. 4 . Tính chính xác :  Thuật toán phải tạo những giá trị đầu ra chính Xác ứng với mỗi tập giá trị đầu vào. 5. Tính hữu hạn:  Thuật toán phải tạo các giá trị đầu ra mong muốn theo một số hữu hạn bước ứng với mỗi tập giá trị đầu vào. 6 . Tính hiệu quả:  Mỗi bước của thuật toán phải được thực hiện một cách chính xác, và trong một khoảng thời gian hữu hạn. 7.  Tính tổng quát:  Thủ tục phải áp dụng được cho tất cả các bài toán có dạng như yêu cầu chứ không chỉ cho một tập đặc biệt các giá trị đầu vào. Ví dụ:  Các hàm sau có và thiếu những đặc tính nào của Thuật toán Int gapdoi(int n) void chia(int n) void tong(int n) { while n>0   { while n>=0  { int sum=0; n=2n; {int m=1/n;   while (int i<10) return(n);  n=n-1;   {sum+=i;} };  }   }   }
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
b. Thuật toán tìm kiếm nhị phân:  thuật toán này được dùng khi mảng(dãy) đã được sắp xếp(tăng dần). int timkiemnhiphan(int x; billy[100]; int n) { int i= 0 ;//i là điểm mút trái của khoảng tìm kiếm int j= n-1 ;//j là điểm mút phải của khoảng tìm kiếm while i<j {  int m= (i+j)/2; if x>billy[m]  i=m+1; else j=m; } if x=billy[i] cout<<“ vị trí của ”<<x<<“ là: “<< i; else  cout<<“ không tìm thấy “<<x<<” trong mảng”; }
C. Các thuật toán sắp xếp ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
b) Sắp xếp kiểu chèn(insertion sort) Void insertion sort(int a[100]; int n) { for(int j=1; j<=n-1; j++) { int i=0; while(a[j] > a[i])  //so sánh a[j] với các phần tử {   // trước nó trong dãy i++; } int m=a[i]; for(int k=0; k<=j-i-1; k++) { a[j-k]=a[j-k-1];  // chèn phần tử a[j] vào  }   //  vị trí i a[i]=m; } }
*Thuật toán tham lam đổi tiền Bài toán đổi tiền đặt ra vấn đề đổi một số lượng tiền m thành các loại tiền xu sao cho số lượng các đồng xu là ít nhất.   int change(int a[100]; int n; int m)// mãng sắp sếp theo thứ tự giảm dần {   // n là số các loại tiền(quarter, penny, nikel… int k=0;   // m là số tiền cần đổi for(int i=0; i<=n-1; i++)   // a[i] là mệnh giá đồng tiền thứ i   { while(a[i]<=m) { k++; m=m-a[i]; } } return(k); }
D. Thuật toán số nguyên ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],b) Thuật toán khai triển cơ số b (xem giáo trình) c) Thuật toán cộng hai số nguyên (xem giáo trình) d) Thuật toán nhân hai số nguyên (xem giáo trình)
D. Các Thuật Toán Đệ Quy  Định nghĩa:  Một thuật toán được gọi là đệ quy nếu nó giải bài toán bằng cách rút gọn liên tiếp bài toán gốc thành bài toán cũng như vậy nhưng có đầu vào nhỏ hơn. Ví dụ 1:  Thuật toán đệ quy tính a n   float  luythua(float a; int n) { if (n==0) return(0); else return(a* luythua(a,n-1) ); } hoặc  float  luythua(float a; int n) { if (n==0) float ketqua=0; else ketqua=a* luythua(a,n-1) ; return(ketqua); }
Ví dụ 2:  Thuật toán đệ quy tính n! long  giaithua(int n) { if (n==0) return (1); return( n* giaithua(n-1) ); } D. Độ phức tạp của thuật toán Độ phức tạp tính toán của thuật toán Độ phức tạp thời gian của thuật toán  Độ phức tạp về không gian của thuật toán(bộ nhớ cần thiết)
Độ phức tạp thời gian của một thuật toán có thể được biểu diễn  bằng số lượng các phép toán mà thuật toán đó phải thực hiện ứng với một quy mô xác định các giá trị đầu vào. Các phép toán đo độ phức tạp thời gian có thể là  phép so sánh  các số nguyên hay các phép cộng, trừ, nhân, chia số nguyên hoặc bất kì một phép tính sơ cấp nào khác. ,[object Object],[object Object],[object Object]

Weitere ähnliche Inhalte

Was ist angesagt?

Giáo trình Phân tích và thiết kế giải thuật - CHAP 6
Giáo trình Phân tích và thiết kế giải thuật - CHAP 6Giáo trình Phân tích và thiết kế giải thuật - CHAP 6
Giáo trình Phân tích và thiết kế giải thuật - CHAP 6Nguyễn Công Hoàng
 
bai tap cau truc du lieu ptit
bai tap cau truc du lieu ptitbai tap cau truc du lieu ptit
bai tap cau truc du lieu ptitMit Rin
 
Chuong 2 co so phan tich do phuc tap cua giai thuat - sinh vien 2
Chuong 2   co so phan tich do phuc tap cua giai thuat - sinh vien 2Chuong 2   co so phan tich do phuc tap cua giai thuat - sinh vien 2
Chuong 2 co so phan tich do phuc tap cua giai thuat - sinh vien 2Hồ Lợi
 
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuậtĐề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuậtHưởng Nguyễn
 
Nmlt C06 Ham
Nmlt C06 HamNmlt C06 Ham
Nmlt C06 HamCuong
 
Bài tập CTDL và GT 9
Bài tập CTDL và GT 9Bài tập CTDL và GT 9
Bài tập CTDL và GT 9Hồ Lợi
 
Bài tập ôn lập trình
Bài tập ôn lập trìnhBài tập ôn lập trình
Bài tập ôn lập trìnhThai Hoc Vu
 
Chuong 2. de quy dai hoc
Chuong 2. de quy   dai hocChuong 2. de quy   dai hoc
Chuong 2. de quy dai hocVũ Nam
 
Chap1 new (tran dai's conflicted copy 2013 04-02)
Chap1 new (tran dai's conflicted copy 2013 04-02)Chap1 new (tran dai's conflicted copy 2013 04-02)
Chap1 new (tran dai's conflicted copy 2013 04-02)Loc Tran
 
Giáo trình Phân tích và thiết kế giải thuật - CHAP 5
Giáo trình Phân tích và thiết kế giải thuật - CHAP 5Giáo trình Phân tích và thiết kế giải thuật - CHAP 5
Giáo trình Phân tích và thiết kế giải thuật - CHAP 5Nguyễn Công Hoàng
 
Giáo trình Phân tích và thiết kế giải thuật - CHAP 7
Giáo trình Phân tích và thiết kế giải thuật - CHAP 7Giáo trình Phân tích và thiết kế giải thuật - CHAP 7
Giáo trình Phân tích và thiết kế giải thuật - CHAP 7Nguyễn Công Hoàng
 
Nmlt C07 Mang1 Chieu
Nmlt C07 Mang1 ChieuNmlt C07 Mang1 Chieu
Nmlt C07 Mang1 ChieuCuong
 
Tính toán khoa học - Chương 0: Introduction
Tính toán khoa học - Chương 0: IntroductionTính toán khoa học - Chương 0: Introduction
Tính toán khoa học - Chương 0: IntroductionChien Dang
 
Bài tập CTDL và GT 7
Bài tập CTDL và GT 7Bài tập CTDL và GT 7
Bài tập CTDL và GT 7Hồ Lợi
 
Ctdl+va+gt chuong+1 4
Ctdl+va+gt chuong+1 4Ctdl+va+gt chuong+1 4
Ctdl+va+gt chuong+1 4Do Ngoc Tuan
 

Was ist angesagt? (20)

Giáo trình Phân tích và thiết kế giải thuật - CHAP 6
Giáo trình Phân tích và thiết kế giải thuật - CHAP 6Giáo trình Phân tích và thiết kế giải thuật - CHAP 6
Giáo trình Phân tích và thiết kế giải thuật - CHAP 6
 
Chuong 3
Chuong 3Chuong 3
Chuong 3
 
Đệ Quy, Quay Lui, Nhánh Cận
Đệ Quy, Quay Lui, Nhánh CậnĐệ Quy, Quay Lui, Nhánh Cận
Đệ Quy, Quay Lui, Nhánh Cận
 
bai tap cau truc du lieu ptit
bai tap cau truc du lieu ptitbai tap cau truc du lieu ptit
bai tap cau truc du lieu ptit
 
Chuong 2
Chuong 2Chuong 2
Chuong 2
 
Chuong 2 co so phan tich do phuc tap cua giai thuat - sinh vien 2
Chuong 2   co so phan tich do phuc tap cua giai thuat - sinh vien 2Chuong 2   co so phan tich do phuc tap cua giai thuat - sinh vien 2
Chuong 2 co so phan tich do phuc tap cua giai thuat - sinh vien 2
 
Thuat Toan 2
Thuat Toan 2Thuat Toan 2
Thuat Toan 2
 
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuậtĐề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
Đề thi mẫu trắc nghiệm cấu trúc dữ liệu cà giải thuật
 
Nmlt C06 Ham
Nmlt C06 HamNmlt C06 Ham
Nmlt C06 Ham
 
Đề tài: Thiết kế và phân tích thuật toán, HAY
Đề tài: Thiết kế và phân tích thuật toán, HAYĐề tài: Thiết kế và phân tích thuật toán, HAY
Đề tài: Thiết kế và phân tích thuật toán, HAY
 
Bài tập CTDL và GT 9
Bài tập CTDL và GT 9Bài tập CTDL và GT 9
Bài tập CTDL và GT 9
 
Bài tập ôn lập trình
Bài tập ôn lập trìnhBài tập ôn lập trình
Bài tập ôn lập trình
 
Chuong 2. de quy dai hoc
Chuong 2. de quy   dai hocChuong 2. de quy   dai hoc
Chuong 2. de quy dai hoc
 
Chap1 new (tran dai's conflicted copy 2013 04-02)
Chap1 new (tran dai's conflicted copy 2013 04-02)Chap1 new (tran dai's conflicted copy 2013 04-02)
Chap1 new (tran dai's conflicted copy 2013 04-02)
 
Giáo trình Phân tích và thiết kế giải thuật - CHAP 5
Giáo trình Phân tích và thiết kế giải thuật - CHAP 5Giáo trình Phân tích và thiết kế giải thuật - CHAP 5
Giáo trình Phân tích và thiết kế giải thuật - CHAP 5
 
Giáo trình Phân tích và thiết kế giải thuật - CHAP 7
Giáo trình Phân tích và thiết kế giải thuật - CHAP 7Giáo trình Phân tích và thiết kế giải thuật - CHAP 7
Giáo trình Phân tích và thiết kế giải thuật - CHAP 7
 
Nmlt C07 Mang1 Chieu
Nmlt C07 Mang1 ChieuNmlt C07 Mang1 Chieu
Nmlt C07 Mang1 Chieu
 
Tính toán khoa học - Chương 0: Introduction
Tính toán khoa học - Chương 0: IntroductionTính toán khoa học - Chương 0: Introduction
Tính toán khoa học - Chương 0: Introduction
 
Bài tập CTDL và GT 7
Bài tập CTDL và GT 7Bài tập CTDL và GT 7
Bài tập CTDL và GT 7
 
Ctdl+va+gt chuong+1 4
Ctdl+va+gt chuong+1 4Ctdl+va+gt chuong+1 4
Ctdl+va+gt chuong+1 4
 

Ähnlich wie Thuat Toan

Bai toan va thuat toan
Bai toan va thuat toanBai toan va thuat toan
Bai toan va thuat toanHữu Duy Duy
 
Ctdl+va+gt chuong+1 4
Ctdl+va+gt chuong+1 4Ctdl+va+gt chuong+1 4
Ctdl+va+gt chuong+1 4Do Ngoc Tuan
 
304686218-Chia-đoi-tập-vdgdhợp-2.docx
304686218-Chia-đoi-tập-vdgdhợp-2.docx304686218-Chia-đoi-tập-vdgdhợp-2.docx
304686218-Chia-đoi-tập-vdgdhợp-2.docxNguynAnThch
 
Bai3 timkiem sapxep
Bai3 timkiem sapxepBai3 timkiem sapxep
Bai3 timkiem sapxepHồ Lợi
 
Bai3 timkiemsapxep
Bai3 timkiemsapxepBai3 timkiemsapxep
Bai3 timkiemsapxepnhà tôi
 
Ctdl lab07-cac thuat-toan_sap_xep
Ctdl lab07-cac thuat-toan_sap_xepCtdl lab07-cac thuat-toan_sap_xep
Ctdl lab07-cac thuat-toan_sap_xepNguyễn Ngọc Hà
 
Các phương pháp đếm nâng cao
Các phương pháp đếm nâng caoCác phương pháp đếm nâng cao
Các phương pháp đếm nâng caoThế Giới Tinh Hoa
 
đề 2003
đề 2003đề 2003
đề 2003dvcuong
 
THCS_W11_BaiDocThem
THCS_W11_BaiDocThemTHCS_W11_BaiDocThem
THCS_W11_BaiDocThemCNTT-DHQG
 
Ctdl C05
Ctdl C05Ctdl C05
Ctdl C05giang
 
Session 4
Session 4Session 4
Session 4pnanhvn
 
Chuong 1 Matlab co ban.pdf
Chuong 1 Matlab co ban.pdfChuong 1 Matlab co ban.pdf
Chuong 1 Matlab co ban.pdfHngTrn365275
 
Chuong 1 Matlab co ban.pdf
Chuong 1 Matlab co ban.pdfChuong 1 Matlab co ban.pdf
Chuong 1 Matlab co ban.pdfnguyenkaka2
 
BoiDuongHSGTin_DuyetToanBoVaCacPhuongPhapCaiTien.pptx
BoiDuongHSGTin_DuyetToanBoVaCacPhuongPhapCaiTien.pptxBoiDuongHSGTin_DuyetToanBoVaCacPhuongPhapCaiTien.pptx
BoiDuongHSGTin_DuyetToanBoVaCacPhuongPhapCaiTien.pptxHongNgcCnh2
 
Bài tập CTDL và GT 8
Bài tập CTDL và GT 8Bài tập CTDL và GT 8
Bài tập CTDL và GT 8Hồ Lợi
 

Ähnlich wie Thuat Toan (20)

Bai toan va thuat toan
Bai toan va thuat toanBai toan va thuat toan
Bai toan va thuat toan
 
Ctdl+va+gt chuong+1 4
Ctdl+va+gt chuong+1 4Ctdl+va+gt chuong+1 4
Ctdl+va+gt chuong+1 4
 
304686218-Chia-đoi-tập-vdgdhợp-2.docx
304686218-Chia-đoi-tập-vdgdhợp-2.docx304686218-Chia-đoi-tập-vdgdhợp-2.docx
304686218-Chia-đoi-tập-vdgdhợp-2.docx
 
Gt de quy
Gt de quyGt de quy
Gt de quy
 
Gt de quy_2
Gt de quy_2Gt de quy_2
Gt de quy_2
 
344444
344444344444
344444
 
Bai3 timkiem sapxep
Bai3 timkiem sapxepBai3 timkiem sapxep
Bai3 timkiem sapxep
 
Bai3 timkiemsapxep
Bai3 timkiemsapxepBai3 timkiemsapxep
Bai3 timkiemsapxep
 
Ctdl lab07-cac thuat-toan_sap_xep
Ctdl lab07-cac thuat-toan_sap_xepCtdl lab07-cac thuat-toan_sap_xep
Ctdl lab07-cac thuat-toan_sap_xep
 
Các phương pháp đếm nâng cao
Các phương pháp đếm nâng caoCác phương pháp đếm nâng cao
Các phương pháp đếm nâng cao
 
đề 2003
đề 2003đề 2003
đề 2003
 
THCS_W11_BaiDocThem
THCS_W11_BaiDocThemTHCS_W11_BaiDocThem
THCS_W11_BaiDocThem
 
Quy hoạch động
Quy hoạch độngQuy hoạch động
Quy hoạch động
 
Quy Hoach Dong
Quy Hoach DongQuy Hoach Dong
Quy Hoach Dong
 
Ctdl C05
Ctdl C05Ctdl C05
Ctdl C05
 
Session 4
Session 4Session 4
Session 4
 
Chuong 1 Matlab co ban.pdf
Chuong 1 Matlab co ban.pdfChuong 1 Matlab co ban.pdf
Chuong 1 Matlab co ban.pdf
 
Chuong 1 Matlab co ban.pdf
Chuong 1 Matlab co ban.pdfChuong 1 Matlab co ban.pdf
Chuong 1 Matlab co ban.pdf
 
BoiDuongHSGTin_DuyetToanBoVaCacPhuongPhapCaiTien.pptx
BoiDuongHSGTin_DuyetToanBoVaCacPhuongPhapCaiTien.pptxBoiDuongHSGTin_DuyetToanBoVaCacPhuongPhapCaiTien.pptx
BoiDuongHSGTin_DuyetToanBoVaCacPhuongPhapCaiTien.pptx
 
Bài tập CTDL và GT 8
Bài tập CTDL và GT 8Bài tập CTDL và GT 8
Bài tập CTDL và GT 8
 

Mehr von guestfea9c55

Mehr von guestfea9c55 (9)

14 Kotel
14 Kotel14 Kotel
14 Kotel
 
Nato1968
Nato1968Nato1968
Nato1968
 
Software Engineering Risk Management Software Application
Software Engineering Risk Management   Software ApplicationSoftware Engineering Risk Management   Software Application
Software Engineering Risk Management Software Application
 
Asundi
AsundiAsundi
Asundi
 
03
0303
03
 
Ch1
Ch1Ch1
Ch1
 
9 Nguyen Ly Dem Co Ban
9  Nguyen Ly Dem Co Ban9  Nguyen Ly Dem Co Ban
9 Nguyen Ly Dem Co Ban
 
Culture
CultureCulture
Culture
 
Lecture08
Lecture08Lecture08
Lecture08
 

Thuat Toan

  • 1.
  • 2.
  • 3. 3.Tính xác định: Các bước của thuật toán phải được xác định một cách chính xác. 4 . Tính chính xác : Thuật toán phải tạo những giá trị đầu ra chính Xác ứng với mỗi tập giá trị đầu vào. 5. Tính hữu hạn: Thuật toán phải tạo các giá trị đầu ra mong muốn theo một số hữu hạn bước ứng với mỗi tập giá trị đầu vào. 6 . Tính hiệu quả: Mỗi bước của thuật toán phải được thực hiện một cách chính xác, và trong một khoảng thời gian hữu hạn. 7. Tính tổng quát: Thủ tục phải áp dụng được cho tất cả các bài toán có dạng như yêu cầu chứ không chỉ cho một tập đặc biệt các giá trị đầu vào. Ví dụ: Các hàm sau có và thiếu những đặc tính nào của Thuật toán Int gapdoi(int n) void chia(int n) void tong(int n) { while n>0 { while n>=0 { int sum=0; n=2n; {int m=1/n; while (int i<10) return(n); n=n-1; {sum+=i;} }; } } }
  • 4.
  • 5. b. Thuật toán tìm kiếm nhị phân: thuật toán này được dùng khi mảng(dãy) đã được sắp xếp(tăng dần). int timkiemnhiphan(int x; billy[100]; int n) { int i= 0 ;//i là điểm mút trái của khoảng tìm kiếm int j= n-1 ;//j là điểm mút phải của khoảng tìm kiếm while i<j { int m= (i+j)/2; if x>billy[m] i=m+1; else j=m; } if x=billy[i] cout<<“ vị trí của ”<<x<<“ là: “<< i; else cout<<“ không tìm thấy “<<x<<” trong mảng”; }
  • 6.
  • 7. b) Sắp xếp kiểu chèn(insertion sort) Void insertion sort(int a[100]; int n) { for(int j=1; j<=n-1; j++) { int i=0; while(a[j] > a[i]) //so sánh a[j] với các phần tử { // trước nó trong dãy i++; } int m=a[i]; for(int k=0; k<=j-i-1; k++) { a[j-k]=a[j-k-1]; // chèn phần tử a[j] vào } // vị trí i a[i]=m; } }
  • 8. *Thuật toán tham lam đổi tiền Bài toán đổi tiền đặt ra vấn đề đổi một số lượng tiền m thành các loại tiền xu sao cho số lượng các đồng xu là ít nhất. int change(int a[100]; int n; int m)// mãng sắp sếp theo thứ tự giảm dần { // n là số các loại tiền(quarter, penny, nikel… int k=0; // m là số tiền cần đổi for(int i=0; i<=n-1; i++) // a[i] là mệnh giá đồng tiền thứ i { while(a[i]<=m) { k++; m=m-a[i]; } } return(k); }
  • 9.
  • 10. D. Các Thuật Toán Đệ Quy Định nghĩa: Một thuật toán được gọi là đệ quy nếu nó giải bài toán bằng cách rút gọn liên tiếp bài toán gốc thành bài toán cũng như vậy nhưng có đầu vào nhỏ hơn. Ví dụ 1: Thuật toán đệ quy tính a n float luythua(float a; int n) { if (n==0) return(0); else return(a* luythua(a,n-1) ); } hoặc float luythua(float a; int n) { if (n==0) float ketqua=0; else ketqua=a* luythua(a,n-1) ; return(ketqua); }
  • 11. Ví dụ 2: Thuật toán đệ quy tính n! long giaithua(int n) { if (n==0) return (1); return( n* giaithua(n-1) ); } D. Độ phức tạp của thuật toán Độ phức tạp tính toán của thuật toán Độ phức tạp thời gian của thuật toán Độ phức tạp về không gian của thuật toán(bộ nhớ cần thiết)
  • 12.