Bài tập toán rời rạc 2 Bộ môn Công nghệ phần mềm

58 2.8K 2
Bài tập toán rời rạc 2 Bộ môn Công nghệ phần mềm

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

MC LC Bài 1 Các khái niem cơ bn ca lý thuyêt ñô th ............................................. 3 Mc tiêu .................................................................................................................................. 3 a. Nhac li lý thuyêt ................................................................................................................. 3 b. ðê bài tap ............................................................................................................................ 3 c. Hưng dan gii .................................................................................................................... 4 d. Bài tap t gii ...................................................................................................................... 5 Bài 2 Bieu dien ñô th trên máy tính ................................................................... 6 Mc tiêu .................................................................................................................................. 6 a. Nhac li lý thuyêt ................................................................................................................. 6 b. ðê bài tap ............................................................................................................................ 6 c. Hưng dan gii .................................................................................................................... 7 d. Bài tap t gii .................................................................................................................... 10 Bài 3 ðô th Euler .................................................................................................. 12 Mc tiêu ................................................................................................................................ 12 a. Nhac li lý thuyêt ............................................................................................................... 12 b. ðê bài tap .......................................................................................................................... 13 c. Hưng dan gii .................................................................................................................. 13 d. Bài tap t gii .................................................................................................................... 14 Bài 4 ðô th Hamilton ........................................................................................... 15 Mc tiêu ................................................................................................................................ 15 a. Nhac li lý thuyêt ............................................................................................................... 15 b. ðê bài tap .......................................................................................................................... 15 c. Hưng dan gii .................................................................................................................. 15 d. Bài tap t gii .................................................................................................................... 19 Bài 5 Tho luan cài ñat ñô th, các thuat toán liet kê chu trình Euler và Hamilton.20 Bài 6 Thuat toán tìm kiêm trên ñô th và 7ng d9ng ...................................... 20 Mc tiêu ................................................................................................................................ 20 a. Nhac li lý thuyêt ............................................................................................................... 20 b. ðê bài tap .......................................................................................................................... 20 c. Hưng dan gii .................................................................................................................. 21 d. Bài tap t gii .................................................................................................................... 28 Bài 7 Cây và cây khung ......................................................................................... 29 Mc tiêu ................................................................................................................................ 29 a. Nhac li lý thuyêt ............................................................................................................... 29 b. ðê bài tap .......................................................................................................................... 30 c. Hưng dan gii .................................................................................................................. 30 d. Bài tap t gii .................................................................................................................... 36 Bài 8 Tho luan vê cài ñat thuat toán tìm cây khung nh? nhât trên ñô th ................... 38 Bài 9, 10 Bài toán tìm ñưBng ñi ngan nhât ...................................................... 38 Mc tiêu ................................................................................................................................ 38 a. Nhac li lý thuyêt ............................................................................................................... 38 b. ðê bài tap .......................................................................................................................... 38 c. Hưng dan gii .................................................................................................................. 40 d. Bài tap t gii .................................................................................................................... 47 Bài 12 Bài toán luông cDc ñEi trong mEng ....................................................... 50 Mc tiêu ................................................................................................................................ 50 a. Nhac li lý thuyêt ............................................................................................................... 50 b. ðê bài tap .......................................................................................................................... 51 c. Hưng dan gii .................................................................................................................. 51 d. Bài tap t gii .................................................................................................................... 53

M CL C Bài Các khái ni m b n c a lý thuy t ñ th M c tiêu a Nh c l i lý thuy t b ð t p c Hư ng d n gi i d Bài t p t gi i Bài Bi u di n đ th máy tính M c tiêu a Nh c l i lý thuy t b ð t p c Hư ng d n gi i d Bài t p t gi i 10 Bài ð th Euler 12 M c tiêu 12 a Nh c l i lý thuy t 12 b ð t p 13 c Hư ng d n gi i 13 d Bài t p t gi i 14 Bài ð th Hamilton 15 M c tiêu 15 a Nh c l i lý thuy t 15 b ð t p 15 c Hư ng d n gi i 15 d Bài t p t gi i 19 Bài Th o lu n cài ñ t đ th , thu t tốn li t kê chu trình Euler Hamilton.20 Bài Thu t tốn tìm ki m đ th ng d ng 20 M c tiêu 20 a Nh c l i lý thuy t 20 b ð t p 20 c Hư ng d n gi i 21 d Bài t p t gi i 28 Bài Cây khung 29 M c tiêu 29 a Nh c l i lý thuy t 29 b ð t p 30 c Hư ng d n gi i 30 d Bài t p t gi i 36 Bài Th o lu n v cài đ t thu t tốn tìm khung nh nh t ñ th 38 Bài 9, 10 Bài tốn tìm đư ng ng n nh t 38 M c tiêu 38 a Nh c l i lý thuy t 38 b ð t p 38 c Hư ng d n gi i 40 d Bài t p t gi i 47 Bài 12 Bài tốn lu ng c c đ i m ng 50 M c tiêu 50 a Nh c l i lý thuy t 50 b ð t p 51 c Hư ng d n gi i 51 d Bài t p t gi i 53 Bài t p TỐN R I R C B mơn Công ngh ph n m m - 2011 L I NĨI ð U Có th nói tốn h c r i r c môn tiên quy t hi u qu nh t ñ ngư i h c nâng cao tư tốn h c phân tích, thi t k thu t toán rèn luy n k l p trình v i nh ng thu t tốn ph c t p Khơng nh ng th cịn “c a ngõ” đ ngư i h c có th ti p c n v i r t nhi u modul khoa h c máy tính (như Chương trình d ch, lý thuy t tính tốn, Trí tu nhân t o, ) Bài t p ñ c ng c nâng cao ki n th c môn h c V n i dung, bám sát v i chương trình c a nhà trư ng h th ng t p ñư c biên so n theo chương lý thuy t V i m i s ñư c chia thành ph n: Ph n A Nh c l i lý thuy t: tóm t t ki n th c b n, ví d lưu ý h u ích, kinh nghi m l p trình Ph n B ð t p: đưa lo i t p khác nhau, v i m c ñ khác Ph n C Bài t p m u: Hư ng d n gi i m t s tiêu bi u ph n B, có phân tích thu t tốn cài đ t chương trình Ph n D Bài t p t gi i: Ngư i h c th c hi n vi c gi i t p Mong r ng tài li u ñáp ng ñư c ph n nhu c u c a h c sinh, sinh viên B môn: Công ngh ph n m m Khoa: Công ngh thông tin Trư ng: ð i h c sư ph m k thu t Hưng Yên Trang Bài t p TOÁN R I R C B môn Công ngh ph n m m - 2011 Bài Các khái ni m b n c a lý thuy t ñ th M c tiêu - Lưu tr đư c đ th máy tính theo nh ng phương pháp khác - Cài ñ t đư c chương trình chuy n đ i gi a phương pháp - Sinh viên có kh t h c a Nh c l i lý thuy t - ðơn đ th vơ hư ng (ð nh nghĩa 1.1) - ða đ th vơ hư ng (ð nh nghĩa 1.2) - ðơn đ th có hư ng (ð nh nghĩa 1.4) - ða đ th có hư ng (ð nh nghĩa 1.5) - ðư ng ñi ñ dài n (ð nh nghĩa 1.6) - Chu trình ñư ng ñi có ñ nh ñ u trùng v i ñ nh cu i - ðư ng ñi (chu trình) đư c g i đơn n u khơng có c nh b l p l i - ð th vô hư ng liên thông (ð nh nghĩa 1.8) - ð th có hư ng liên thơng m nh (ð nh nghĩa 1.11) - ð th có hư ng liên thông y u (ð nh nghĩa 1.12) - C u (ð nh nghĩa 1.10) - ð th ñ nh hư ng ñư c: ð th vô hư ng liên thơng đ nh hư ng đư c ch m i c nh c a n m nh t m t chu trình (ð nh lý 1.1) - ð nh k : ð nh V ñư c g i k v i đ nh U n u có c nh (U,V) - Bi u di n ñ th G(V,E) d ng hình h c Bi u di n đ nh: l y ñi m m t ph ng hay không gian tương ng v i ph n t c a t p V dùng ký hi u ph n t ñ ghi ñi m tương ng Bi u di n c nh: N u c nh e v i hai ñ nh đ u A, B đư c bi u di n b ng ño n th ng hay m t ño n n i gi a hai ñi m A, B không ñi qua ñi m tương ng không gian A B Bi u di n cung: n u cung e có đ nh ñ u C, ñ nh cu i D, đư c bi u di n b ng m t ño n th ng ho c ño n cong ñư c ñ nh hư ng ñi t C sang D khơng qua m tương ng trung gian khác C D Chú ý: Hình nh n ñư c g i d ng bi u di n hình h c c a đ th G(V, E) ðôi ngư i ta g i d ng bi u di n hình h c m t ñ th b ð t p Bài Cho G ñ th g m ph n G1, G2, G3 G4 sau: a Ch t p đ nh, c nh(vơ hư ng,có hư ng, khun, ) c a m i ñ th ñã cho? Ch lo i đ th đó? b ð th G, G1, G2, G3, G4 G5 có liên thơng khơng? N u đ th khơng liên thơng ch thành ph n liên thông? c ð th G, G1, G2, G3, G4 G5 có chu trình khơng? Ch chu trình c a đ th (n u có)? Trang Bài t p TỐN R I R C B môn Công ngh ph n m m - 2011 G1 c Hư ng d Bài a Tên ñ th G1 G2 G3 G4 G G2 G4 G3 n gi i T p ñ nh V 1, 2, 3, 5, 6, 8, 1, 2, 3, 4, 5, 6, 7, 8, 9, T p c nh E (1,2); (1,4); (2,3); (2,4); (3,4) (5,7); (6,5); (6,7) (8,9) Lo i đ Vơ hư Có hư Vô hư (1,2); (1,4); (2,3); (2,4); (3,4); (8,9); (5,7); (6,5); (6,7) H nh p b Tên ñ th G1 G2 G3 G4 G Tính liên thơng Có Có Có Có Không Tên thành ph n liên thông G1 G2 G3 G4 G1, G2, G3, G4 c Tên ñ th G1 G2 G3 G4 G Có chu trình? Có Khơng Khơng Khơng Có Tên chu trình (1, 2, 4, 1); (1, 2, 3, 4, 1); (2, 3, 4, 2) (1, 2, 4, 1); (1, 2, 3, 4, 1); (2, 3, 4, 2) Trang th ng ng ng Bài t p TỐN R I R C B mơn Cơng ngh ph n m m - 2011 d Bài t p t gi i Bài t p ð th sau đ th vơ hư ng hay đ th có hư ng? ðưa c nh vô hư ng (n u có) c a đ th ? ðưa c nh có hư ng (n u có) c a đ th ? Tính b c đ nh c a đ th vơ hư ng? Tính b c vào(ra) c a đ nh đ th có hư ng? Ki m tra tính liên thơng c a ñ th ? ðưa ñư ng ñi ñ dài c a đ th ? Ch nh t chu trình c a đ th (n u có)? Bài t p Khi v ngh hè m i b n sinh viên c a l p TK7 trư ng ðHSPKTHY ñ u trao ñ i ñ a ch v i nh t m t n a s b n l p Ch ng minh r ng th i gian ngh hè m i b n c a l p TK7 đ u có th báo tin tr c ti p hay gián ti p cho b n l p Hư ng ñ n: Bư c 1: Xây d ng ñ th • ð nh: L y ñi m m t ph ng hay không gian tương ng v i b n h c sinh l p TK7 • C nh: Hai m x, y đư c n i b ng m t c nh ch b n x, y trao ñ i ñ a ch cho - ð th ñư c ký hi u b ng G2 mơ t tồn b quan h trao ñ i ñ a ch l p TK7 Bư c 2: V n d ng k t qu ñ nh lý ñ suy k t lu n Vì m i b n h c sinh l p TK7 trao ñ i ñ a ch v i nh t m t n a s b n l p, nên b c c a m i đ nh c a G2 khơng nh m t n a s ñ nh c a đ th Khi đó, đ th G2 liên thơng B i v y hai đ nh x, y đ u có xích n i v i Khi thơng qua b n tương ng v i đ nh thu c xích , mà b n tương ng v i ñ nh x báo tin ñư c cho tương ng v i ñ nh y ngư c l i Bài t p Trong m t cu c h p có hai đ i bi u khơng quen m i đ i bi u có m t s l ngư i quen ñ n d Ch ng minh r ng ln ln có th x p m t s đ i bi u ng i chen gi a hai ñ i bi u nói trên, đ ngư i ng i gi a hai ngư i mà anh (ch ) ta quen Trang Bài t p TOÁN R I R C B môn Công ngh ph n m m - 2011 Bài Bi u di n ñ th máy tính M c tiêu - Nêu đư c cách bi u di n ñ th bi u di n đ th máy tính máy tính - ðưa đư c ma tr n k , danh sách c nh, cung tương ng v i ñ th cho trư c - Lưu tr ñư c ñ th máy tính theo nh ng phương pháp khác - Phân tích đư c toán th c t tương ng ph n lý thuy t h c - Sinh viên có kh t h c a Nh c l i lý thuy t - Bi u di n ñ th d ng ma tr n k A=( ai,j: i, j = 1, 2, ,n) ai,j = , n u có c nh t i sang j hay (i, j) ∈ E, i, j =1, 2, ., n ai, j = 0, trư ng h p l i t c khơng có c nh(i, j) - Bi u di n ñ th d ng danh sách c nh (cung) E=(ei,j: i= 1, 2, ,m; j = 1, 2) (ei,1,ei,2) c nh th i m c nh (cung) c a ñ th - Bi u di n ñ th d ng danh sách k Ke(v)= { u ∈ V: (v,u)∈ E } b ð t p Bài Cho G ñ th g m ph n G1, G2, G3 G4 sau: G1 G2 G4 G3 a Bi u di n ñ th G,G1,G2,G3,G4 dư i d ng ma tr n k b Bi u di n ñ th G,G1,G2,G3,G4 dư i d ng danh sách c nh(cung) c Bi u di n ñ th G,G1,G2,G3,G4 dư i d ng danh sách k Bài Xây d ng chương trình đ c d li u t file text (ñ th bi u di n d ng danh sách c nh) lưu vào ma tr n k hi n th hình Trang Bài t p TỐN R I R C c Hư ng d n gi i Bài Tên ñ th a ma tr n k G1 G2 G3 G4 G 1234 0101 1001 0001 1110 567 001 101 000 89 01 10 0 1234567890 0101000000 1001000000 0001000000 1110000000 0000001000 0000101000 0000000000 0000000010 0000000100 0000000000 B môn Công ngh ph n m m - 2011 b danh sách c nh(cung) Danh sách c nh 12 14 23 24 34 Danh sách cung 57 65 67 Danh sách c nh 89 c.danh sách k Danh sách cung 12 14 21 23 24 32 34 41 42 43 57 65 67 124 214 34 4123 57 657 89 98 124 214 34 4123 57 657 89 98 Bài Xây d ng chương trình đ c d li u t file text (ñ th bi u di n d ng danh sách c nh) lưu vào ma tr n k hi n th hình Chương trình minh h a: using System; using System.IO; Trang Bài t p TOÁN R I R C B môn Công ngh ph n m m - 2011 namespace LTDT { class mtrke_DScanh { //I: "d:/trr/DScanh.in", luu thi theo DS canh vao tep text //O: "d:/trr/mtrke.out" Doc tep va ghi BD ma tran ke static string filenameIN = "d:/dsc"; static string filenameOUT = "d:/mtk"; static public void nhaptep() { int m, n, x, A, B; Console.Write("nhap so dinh cua thi: n="); n = int.Parse(Console.ReadLine()); Console.Write("nhap so canh cua thi: m="); m = int.Parse(Console.ReadLine()); StreamWriter ft = File.CreateText(filenameIN); //ghi Dl vao tep DScanh.in //D1: luu so dinh va so canh //D2 Dm+1 ft.WriteLine("{0} {1}", n, m); //ghi DL vao D1 cua tep DScanh.in Console.Write("nhap dau va Trong So"); for (int i = 0; i < m; i++) { Console.Write("Canh thu {0}:", i + 1); A = int.Parse(Console.ReadLine()); B = int.Parse(Console.ReadLine()); x = int.Parse(Console.ReadLine()); ft.WriteLine("{0} {1} {2}", A, B, x); //ghi DL vao } ft.Close(); } //doc tep "d:/trr/DScanh.in", DS canh, ghi BD ma tran ke "d:/trr/mtrke.out" static public void doctep() { try { StreamReader fi = new StreamReader(filenameIN); StreamWriter fo = File.CreateText(filenameOUT); //lan luot doc DL ve tung canh tep DScanh.in, luu Gtr thu dc vao mang a[i,j] // lan luot ghi Dl tu a[i,j] vao teo mtrke.out Trang Bài t p TỐN R I R C B mơn Cơng ngh ph n m m - 2011 string s; int i, j, n, m; s = fi.ReadLine(); string[] n1 = new string[3]; n1 = s.Split('\t'); n = int.Parse(n1[0]); m = int.Parse(n1[1]); int[,] a = new int[n, n]; //mang luu thi theo mtran ke //tep "d:/trr/DScanh.out" luu D1 so dinh va so canh cua dthi //d2 dm+1, Di+1 lan luot luu thong tinh ve canh thu i for (int k = 0; k < m; k++) { s = fi.ReadLine(); j = 0; n1 = s.Split('\t'); i = int.Parse(n1[0]) - 1; j = int.Parse(n1[1]) - 1; a[j, i] = a[i, j] = int.Parse(n1[2]); } //ghi Dl vao tep mtrke.out fo.WriteLine("{0}", n); //Line n+1, dg i+1: a[i][j],j=0 n-1 for (i = 0; i < n; i++) { for (j = 0; j < n; j++) { Console.Write("{0} ", a[i, j]); fo.Write("{0} ", a[i, j]); //ghi vao tep } fo.WriteLine(); Console.WriteLine(); } fi.Close(); fo.Close(); } catch (Exception e) { Console.WriteLine("Khong the doc duoc noi dung tep"); Console.WriteLine(e.Message); } Trang Bài t p TỐN R I R C B mơn Công ngh ph n m m - 2011 } public static void Main() { nhaptep(); doctep(); Console.ReadLine(); } } } K t qu ñ u vào ñ u tương "d:/dsc.in" "d:/mtk.out" 15 33 33 17 85 85 85 33 18 20 85 85 17 17 18 16 85 85 85 20 16 85 85 85 85 14 85 85 85 14 18 20 85 85 16 354 85 459 468 14 ng cho chương trình "d:/dsc.in" "d:/mtk.out" 14 124 040000080 188 0 0 11 238 080704002 11 0 14 0 347 0 10 0 364 0 14 10 0 392 000002016 459 11 0 0 14 002000670 10 672 781 796 897 d Bài t p t gi i Bài t p Bi u di n ñ th dư i d ng d ng ma tr n k , danh sách c nh, danh sách k Trang 10 Bài t p TOÁN R I R C 2 B môn Công ngh ph n m m - 2011 2,8 2,8* 1,∞ 5,15 5,15* 2,7* - D a vào b ng ta có đư ng ng n nh t => => => v i th i gian 15 Bài Cho đ th có tr ng s G = (V,E) Tìm đư ng ng n nh t t ñ nh xp t i ñ nh kt using System; using System.IO; namespace LTDT { //thuat toan Dijkstra: giam so lan tai moi dinh public class DijkstragiamTS1lan { static string filename = "d:/b3.mtk"; static int[,] a; //luu thi mtran ke static int xp, kt, n, countxet; // n la so dinh cua thi, count dem so thu tu duyet static int[] truoc, D, kq, xet; //kq luu thhu tu duyet; xet luu trang thai dinh //n la so dinh cua thi //doc thi (BD theo ma tran ke) tu tep txt static public void doctep(string filename) //hien thi thi (BD theo DScanh hoac Mtran ke) static private void hien_dt(int[,] x) //Duyet thi => dua thu tu duyet //ten n dinh cua dt la 1,2, n //ta coi nhu ten cac dinh la n-1 static private void init() { //danh dau chua xet cho tat ca cac dinh cua thi //truoc la mang luu ten dinh truoc dinh do; luc dau gan = xp truoc = new int[n]; xet=new int[n]; countxet = 0; for (int i = 0; i < n; i++) { truoc[i] = xp; xet[i]=0;//chua xet } truoc[xp] = -1; //D la mang luu chi so nhan tai cac dinh; luc dau gan chi so nhan tai moi dinh la so cuc lon, tru dinh xp Trang 44 Bài t p TỐN R I R C B mơn Cơng ngh ph n m m - 2011 D = new int[n]; for (int i = 0; i < n; i++) D[i] = 100000; D[xp] = 0; } //tt: moi dinh dc ghi chi so nhan:=> tut tg TT la giam chi so nhan toi cuc tieu /*CTDL: sd mang chieu luu thi BD theo mtran ke =>a[n,n] sd mang chieu luu chi so nhan tai moi dinh cua thi =>ts[n] sd mang chieu luu dinh truoc cua dinh (moi dinh cua thi co dinh trc no, gtri mang trc co the thay doi phat hien co cach di ma chi so nhan nho hon (=>truoc[n] sd mang chieu luu ket qua: duong di ngan nhat tu dinh xp =>toi dinh ket thuc */ //Tim d?nh chua xét có nhãn = min, n?u t?t c? d?nh d?u du?c xét r?i=> tr? l?i -1 static public int findmin() { int nhanmin = 10000,dinhmin=1000; for (int i = 0; i < n; i++) if ((xet[i] == 0) && (D[i] < nhanmin)) { nhanmin = D[i]; dinhmin = i; } return dinhmin; } static private void Dijkstra() { init(); //toi hang doi rong thi => stop while (countxet 0) && (D[v] > D[u] + a[u, v])) { Trang 45 Bài t p TOÁN R I R C B môn Công ngh ph n m m - 2011 D[v] = D[u] + a[u, v]; //phat hien dh di de giam chi so nhan thi = > gan lai D[i] truoc[v] = u; //danh dau tai buoc hien thoi, truoc dinh i la dinh } } } } // in ket qua duong di man hinh static void showduong() { Console.WriteLine("\nduong di ngan nhat tu {0} den {1} nhu sau:", xp + 1, kt + 1); for (int i = kq.Length - 1; i > 0; i ) Console.Write("{0} => ", kq[i] + 1); Console.Write("{0}\n", kt + 1); } //dua vao mang truoc[n]: luu dinh truoc=> lai duong di ngan nhat tu dinh xp toi dinh kt static void timduong() { int tg, count = 0; //count de dem so dinh di qua tren dg : xp=>kt tg = kt; kq = new int[1]; while (tg != xp)//truoc[xp]=-1 { kq[count] = tg; tg = truoc[tg]; count++; Array.Resize(ref kq, count + 1); } kq[count] = xp; showduong(); } static void Main() { doctep(filename); Console.Write("nhap ten dinh xuat phat: "); xp = int.Parse(Console.ReadLine()); xp ; for (kt = 0; kt

Ngày đăng: 27/06/2014, 08:37

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan