Các khái niêm: Đồ thị vô hướng, có hướng, hỗn hợp, có trọng số, kề nhau, liên thuộc, cạnh bội, khuyên, đơn đồ thị, đa đồ thị, bậc, bậc vào, bậc ra, đỉnh cô lập, đường đi, chu trình, độ d[r]
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC ĐÀ NẴNG CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc
ĐỀ CƯƠNG ÔN TẬP THI ĐẦU VÀO CAO HỌC
NGÀNH: KHOA HỌC MÁY TÍNH
MÔN THI: TOÁN RỜI RẠC
1 Bài toán đếm – Bài toán tồn tại
1.1 Các nguyên lý cơ bản: Nguyên lý nhân, nguyên lý cộng, nguyên lý bù trừ, nguyên lý Dirichlet
1.2 Các cấu hình tổ hợp cơ bản: Chỉnh hợp lặp, chỉnh hợp không lặp, hoán vị, tổ hợp
1.3 Các cấu hình tổ hợp suy rộng: hoán vị lặp, tổ hợp lặp
2 Kỹ thuật đếm nâng cao
2.1 Hệ thức truy hồi: Cách lập hệ thức truy hồi
2.2 Giải hệ thức truy hồi: Phương pháp lặp, phương pháp phương trình đặc trưng
3 Bài toán liệt kê
3.1 Phương pháp quay lui (đệ quy )
3.2 Phương pháp lặp (sinh kế tiếp)
4 Đại số Boole
4.1 Các khái niệm: Đại số Boole, biến, tục biến, biểu thức, hàm, hội sơ cấp, tuyển chuẩn tắc, tuyển chuẩn tắc đầy đủ
4.2 Cách tìm dạng tuyển chuẩn tắc
4.3.Cách tìm dạng tuyển chuẩn tắc đầy đủ
4.4 Bảng chân trị
4.5 Tìm biểu thức tối thiểu bằng bản đồ Karnaugh
5 Đại số mệnh đề
5.1 Mệnh đề và chân trị
5.2 Phép tính mệnh đề: Phép phủ định, phép hội, phép tuyển, phép tuyển chọn, phép kéo theo, phép tương đương
5.3 Dạng mệnh đề (mệnh đề phức hợp)
5.4 Hằng đúng và mâu thuẩn
5.5 Tương đương Logic
5.6 Chứng minh hằng đúng/hằng sai: dùng bảng chân trị, dung tương đương logic 5.7.Các qui tắc suy diễn: Qui tắc Modus Ponens, qui tắc Tam đoạn luận, qui tắc Modus Tollens, qui tắc Tam đoạn luận rời, qui tắc Mâu thuẩn, Phản ví dụ
Trang 26 Đồ thị
6.1 Các khái niêm: Đồ thị (vô hướng, có hướng, hỗn hợp, có trọng số), kề nhau, liên thuộc, cạnh bội, khuyên, đơn đồ thị, đa đồ thị, bậc, bậc vào, bậc ra, đỉnh cô lập, đường đi, chu trình, độ dài của đường đi, trọng số của đồ thị, liên thông, liên thông mạnh, liên thông yếu, cầu, đồ thị con, thành phần liên thông, đường đi Euler, chu trình Euler, đồ thị Euler, đồ thị bán Euler, đường đi Hamilton, chu trình Hamilton, đồ thị Hamilton, đồ thị bán Hamilton, đồ thị đầy đủ, đồ thị hai phía, đồ thị phẳng
6.2 Các định lý: Định lý bắt tay, định lý Euler, định lý Kuratovski, công thức Euler
6.3 Ma trận kề - Ma trận trọng số
6.4 Thuật toán tìm chu trình Euler
7 Các bài toán tối ưu trên đồ thị
7.1 Bài toán tìm đường đi ngắn nhất: Thuật toán Dijkstra, thuật toán Floyd
7.2 Bài toán tìm cây khung nhỏ nhất: Các khái niệm, thuật toán Prim, thuật toán Kruskal
7.3 Bài toán tìm luồng cực đại: Các khái niệm, thuật toán Ford-Fulkerson
NGÔN NGỮ LẬP TRÌNH
Các thuật toán được mô tả bằng ngôn ngữ tựa ngôn ngữ C hoặc tựa ngôn ngữ Pascal
TÀI LIỆU THAM KHẢO
[1] Nguyễn Đức Nghĩa và Nguyễn Tô Thành, Toán rời rạc, NXB Giáo dục, 1997.
[2] Nguyễn Hữu Anh, Toán rời rạc, NXB Lao động Xã hội, 2006.
[3] Đỗ Đức Giáo, Toán rời rạc, NXB Đại học Quốc gia Hà nội, 2000.
[4] Phan Thanh Tao, Bài giảng Toán rời rạc, Tài liệu lưu hành nội bộ, 2015.
[5] James L Hein, Discrete Mathematics, Jones and Bartlett publishers, 1995.
[6] K.H Rosen, Discrete Mathematics and Its Applications, Mc Graw Hill, 1994.
Bản dịch tiếng Việt “Toán rời rạc ứng dụng trong tin học” của Phạm Văn Thiều và Đặng
Hữu Thịnh, NXB Giáo dục, 2003
Trang 3MÔN THI: Kỹ thuật lập trình
1 Các thành phần cơ bản
1.1 Các kiểu dữ liệu chuẩn: Kiểu ký tự, chuỗi ký tự, số nguyên, số thực 1.2 Các lệnh đơn: Lệnh gán, tăng, giảm, nhập, xuất
1.3 Các hàm chuẩn
2 Lệnh rẽ nhánh
2.1 Lệnh IF
2.2 Lệnh SWITCH…CASE (CASE…OF)
3 Lệnh vòng lặp
3.1 Vòng lặp FOR
3.2 Vòng lặp WHILE
3.2 Vòng lặp DO…WHILE (REPEAT…UNTIL)
4 Hàm (Chương trình con)
4.1 Định nghĩa hàm
4.2 Lệnh gọi hàm
4.3 Biến cục bộ, biến toàn cục
4.4 Tham số là con trỏ (Tham biến)
4.5 Hàm đệ quy
5 Kiểu mảng
5.1 Khai báo mảng
5.2 Định nghĩa kiểu (typdef /type)
5.3 Mảng là tham số của hàm
5.4 Kiểu chuỗi ký tự
5.7 Mảng nhiều chiều
6 Kiểu cấu trúc (Bản ghi)
6.1 Khai báo kiểu cấu trúc
6.2 Truy cập trường
6.3 Mảng cấu trúc
6.4 Con trỏ chỉ đến cấu trúc
7 Các thuật toán sắp xếp và tìm kiếm
Trang 47.1 Sắp xếp chọn (hoán đổi trực tiếp)
7.2 Sắp xếp nổi bọt
7.3 Sắp xếp chèn
7.4 Sắp xếp nhanh
7.5 Tìm kiếm tuần tự
7.6 Tìm kiếm nhị phân
8 Danh sách đặc và danh sách liên kết
8.1 Khai báo kiểu danh sách
8.2 Các thao tác trên danh sách: Tạo danh sách, chèn phần tử, xóa phần tử, duyệt danh sách, sắp xếp danh sách, đảo danh sách
9 Cây nhị phân
9.1 Khai báo cây nhị phân
9.2 Các thao tác trên cây nhị phân: Tạo cây, thêm nút, xóa nút, duyệt cây (tiền tự-NLR, trung tự-LNR, hậu tự-LRN)
9.3 Cây nhị phân tìm kiếm và các thao tác trên cây
NGÔN NGỮ LẬP TRÌNH
Các chương trình được viết bằng ngôn ngữ C hoặc ngôn ngữ Pascal
TÀI LIỆU THAM KHẢO
[1] Khoa Công nghệ Thông tin, Trường ĐHBK-ĐHĐN, Giáo trình Tin học Đại cương,
NXB TT&TT, 2013
[2] Khoa Công nghệ Thông tin, Trường ĐHBK-ĐHĐN, Giáo trình Thực hành Tin học Đại cương, NXB TT&TT, 2014.
[3] Trần Quốc Chiến, Giáo trình Cấu trúc dữ liệu và giải thuật, Tài liệu lưu hành nội bộ,
2013
[4] Quách Tuấn Ngọc, Ngôn ngữ lập trình Pascal, Trường ĐHBK Hà nội, 1993
[5] Đỗ Xuân Lôi, Cấu trúc dữ liệu và giải thuật, NXB Khoa học Kỹ thuật, 1996
[6] Larry Nyhoff-Sanford Leedstma, Lập trình nâng cao bằng Pascal với các cấu trúc dữ liệu, bản dịch tiếng Việt của Lê Minh Trung, NXB Đà nẵng, 1998.
[7] Robert Sedgewick, Cẩm nang thuật toán , bản dịch tiếng Việt của Trần Đan Thư,
NXB Khoa học Kỹ thuật, 1995
[8] Alfred V Aho-John E Hopcroft-Jeffey D Ulman, Data Structures and Algorithms
Addison-Wesley Publishing Company, 1987