Các Thuật Toán Cơ Bản Trong Lập Trình - 123doc
Có thể bạn quan tâm
Các thuật toán cơ bản trong lập trình 20 1,9K 47 TẢI XUỐNG 47
Đang tải... (xem toàn văn)
XEM THÊM TẢI XUỐNG 47Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1 / 20 trang TẢI XUỐNG 47THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng | |
---|---|
Số trang | 20 |
Dung lượng | 408,13 KB |
Nội dung
Kiểm tra số nguyên tố + Định nghĩa: Là số nguyên lớn 1, có ước Các số ngun tố từ 1100: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97 + Thuật toán: Để kiểm tra số nguyên n có phải số nguyên tố hay không, ta làm theo bước - Nếu n> KMP("abcabcabcabc", "cabc") Match at position Match at position Match at position Điểm thú vị cuối là, ký tự chuỗi s so sánh với nhiều gọi delay thuật tốn), tỉ lệ vàng! (đại lượng + Code hoàn chỉnh: Visual C# Code: using System; namespace Knuth_Morris_Pratt { class Test { private char[] s; private char[] p; public void Nhap() { Console.Write("Nhap xau S:"); string stdin1 = Console.ReadLine(); s = new char[stdin1.Length]; s = stdin1.ToCharArray(); Console.Write("Nhap xau P:"); string stdin2 = Console.ReadLine(); p = new char[stdin2.Length]; p = stdin2.ToCharArray(); } private int[] compute_MP_map() // map[i]=| border(p[0 i-1]) | { int m = p.Length; // p is the input pattern int[] MP_map = new int[m + 1]; // lưu ý ta phải tính map[0 m] // init MP_map[0] = -1; // hiểu // bay gio di tinh map[1 m] int i = 0; int j = MP_map[i]; while (i < m) { while (j >= && (p[i] != p[j])) j = MP_map[j]; j++; i++; MP_map[i] = j; } return MP_map; } private int[] compute_KMP_map() //thuật toán KMP cải tiến { int m = p.Length; int[] KMP_map = new int[m + 1]; int[] MP_map = compute_MP_map(); KMP_map[0] = -1; KMP_map[m] = MP_map[m]; for (int i = 1; i < m; i++) { int j = MP_map[i]; if (p[i] != p[j]) KMP_map[i] = j; else KMP_map[i] = MP_map[j]; } return KMP_map; } public void Morris_Pratt() { int[] map = compute_KMP_map(); int n = s.Length; int m = p.Length; int i = 0; string res = ""; for (int j = 0; j < { while ((i >= 0) i++; (i=m-1) i=-1 , lợi dụng if (i == m) { res += (j i = map[i]; } } Console.Write(res); } n; j++) && (p[i] != s[j])) i = map[i]; // Có khả xảy ra: hết chuỗi p điều m + 1).ToString() + " "; static void Main(string[] args) { Test object1 = new Test(); object1.Nhap(); object1.Morris_Pratt(); //Console.WriteLine("done"); Console.ReadLine(); } } } Liệt kê dãy nhị phân có độ dài n + Ví dụ: n=3 ta có dãy nhị phân sau Code: 0 0 1 1 0 1 0 1 1 1 + Tác giả: CayDan + Code: - Phương pháp sinh: C Code: void LKNhiPhan(int n) { int x[30]; for (int i=0; i=0) { for (i=0; i=0) && (x[i] == 1)) i ; if(i>=0) { x[i] = 1; for (int j= i+1; jNgày đăng: 27/08/2017, 14:30
Xem thêm
- Các thuật toán cơ bản trong lập trình
TỪ KHÓA LIÊN QUAN
- các thuật toán cơ bản trong pascal
- các thuật toán cơ bản trong c
Từ khóa » Các Thuật Toán Cơ Bản Trong Lập Trình
-
6 THUẬT TOÁN CƠ BẢN CHO LẬP TRÌNH VIÊN - ITPlus Academy
-
10 Thuật Toán Hàng đầu Dành Cho Lập Trình Viên | TopDev
-
Cơ Bản Về Thuật Toán - Giúp Bạn Học Thuật Toán đơn Giản Hơn
-
5 Thuật Toán Mà Mọi Lập Trình Viên Nên Biết - VNTALKING
-
Thuật Toán Và Phân Tích Thuật Toán - Viblo
-
Học Thuật Toán Thế Nào Cho Hiệu Quả? - CodeLearn
-
Tìm Hiểu Về Các Thuật Toán Cơ Bản Trong Lập Trình (Phần 1) - CodeGym
-
Chuyên Mục Thuật Toán - Học Thuật Toán Với Ngôn Ngữ C/C++
-
4.4. Những Thuật Toán Quyền Năng - Lập Trình Tân Binh
-
Hướng Dẫn Viết Sơ đồ Khối Thuật Toán Trong Lập Trình
-
Lập Trình Tư Duy, Thuật Toán, Phân Tích Bài Toán Hướng đối Tượng
-
Cấu Trúc Dữ Liệu & Giải Thuật - Freetuts
-
Thuật Toán – Wikipedia Tiếng Việt
-
Sách Sáng Tạo Trong Thuật Toán Và Lập Trình Tập 2 | Shopee Việt Nam