Microsoft PowerPoint IP 10 Advanced Topics MộtMột sốsố vấnvấn đềđề nângnâng caocao GV GV NguyễnNguyễn Minh Minh HuyHuy MộtMột sốsố vấnvấn đềđề nângnâng caocao 1Nhập môn lập trình GV Nguyễn Minh Huy Nộ[.]
Một số vấn đề nâng cao GV Nguyễn Minh Huy Nhập mơn lập trình - GV Nguyễn Minh Huy Nội dung Mảng động động Đệ quy quy Các thuật tốn thơng dụng dụng Nhập mơn lập trình - GV Nguyễn Minh Huy Nội dung Mảng động động Đệ quy quy Các thuật tốn thơng dụng dụng Nhập mơn lập trình - GV Nguyễn Minh Huy Mảng động Vấn đề với mảng tĩnh tĩnh:: Phải khai báo kích thước tối đa đa Không phải lúc dùng hết hết Tốn nhiều nhớ nhớ Nhu cầu mảng kích thước tùy biến biến Khái niệm trỏ trỏ:: Biến “lưu động động” ” Có thể “định cư” cư” nhiều ô nhớ nhớ “Trỏ Trỏ”” đến ô nhớ khác nhau Nhập mơn lập trình - GV Nguyễn Minh Huy Mảng động Con trỏ C: Khai báo báo:: > *; Lấy địa biến biến:: > = &; int x = 5; int y = 6; int *p *p;; p = &x; &x; 11 x 50 y 73 p 11 Truy xuất liệu ô nhớ nhớ:: > = *; > = [ trỏ>[< > ]; int z = *p; *p; int t = p[2] p[2];; Nhập mơn lập trình - GV Nguyễn Minh Huy Mảng động Con trỏ C: Lệnh xin cấp vùng nhớ nhớ:: Cú pháp pháp:: calloc calloc((, >, < > ); Trả về: về: địa vùng nhớ (thành công công), ), NULL ((thất thất bại) bại) Địa trả phải kiểu với trỏ nhận nhận Lệnh thu hồi vùng nhớ nhớ:: Cú pháp pháp:: free( free(< > ); int *p = (int *) calloc( calloc( 5, sizeof( sizeof( int ) ); p 65 0 0 HocSinh *h = (HocSinh *) calloc calloc(( 3, sizeof( sizeof( HocSinh ) ); h 78 free(p); free(p free(h free( h ); Nhập môn lập trình - GV Nguyễn Minh Huy hoten:??? ngaysinh:??? diemvan:??? diemtoan:??? hoten:??? ngaysinh:??? diemvan:??? diemtoan:??? hoten:??? ngaysinh:??? diemvan:??? diemtoan:??? Nội dung Mảng động động Đệ quy quy Các thuật tốn thơng dụng dụng Nhập mơn lập trình - GV Nguyễn Minh Huy Đệ quy Khái niệm đệ quy quy:: Định nghĩa khái niệm dựa nó Cấu trúc trúc:: Ví dụ: dụ: định nghĩa lũy thừa xn Phần định nghĩa trường hợp (tường minh) Phần định nghĩa đệ quy quy LT(x, 0) = LT(x, n) = x * LT(x, n – 1), n > Ưu điểm điểm:: Nêu chất vấn đề đề Ngắn gọn gọn,, dễ hiểu hiểu Nhập mơn lập trình - GV Nguyễn Minh Huy Đệ quy Hàm đệ quy quy:: Dùng cài đặt khái niệm đệ quy quy Cấu trúc trúc:: về> ( hàm>(< số>) { if () bản>; else >; } long luythua luythua(float (float x, int n) { if ( n == ) return 1; 1; return x * luythua luythua(x, (x, n – 1); 1); } Nhập môn lập trình - GV Nguyễn Minh Huy Nội dung Mảng động động Đệ quy quy Các thuật tốn thơng dụng dụng Nhập mơn lập trình - GV Nguyễn Minh Huy 10 Các thuật tốn thơng dụng Bài toán xếp xếp:: Nhập vào mảng N số nguyên nguyên Sắp xếp xuất mảng theo thứ tự tăng Thuật toán Interchange Sort Thuật toán Selection Sort Thuật toán Quicksort Quicksort s Nhập mơn lập trình - GV Nguyễn Minh Huy 11 Các thuật tốn thơng dụng Bài tốn xếp xếp:: Nghịch thế: thế: Cặp phần tử đứng không thứ tự tự (ai, aj) nghịch i < j > aj Thuật toán Interchange Sort: Xét tất cặp phần tử mảng mảng Với cặp cặp,, hoán vị chúng nghịch thế Nhập mơn lập trình - GV Nguyễn Minh Huy 12 Các thuật tốn thơng dụng Bài tốn tìm kiếm: kiếm: Trị chơi đoán số: số: B1: người chơi nghĩ số nguyên N (1