Nắm vững cơ sở triết lý về kết cấu dữ liệu. Các nghệ thuật kiến thiết giải thuật. Cmùi hương trình cần có các công dụng sau: Cho phnghiền nhập lệ bài toán: số đô thị, khoảng cách thân các đô thị (có thể mang số liệu tự vào tập tin). Xuất ra phương án tìm được. Nếu miêu tả bên dưới dạng đồ hoạ càng xuất sắc. Mô bỏng thực tiễn của những thức giấc ĐBSCL.

You watching: Code thực hành định hướng vật dụng thị


Bạn đang xem: Code thực hành lý thuyết đồ thị

*

Quý khách hàng sẽ xem câu chữ tài liệu các bài luyện tập và thực hành thực tế môn học tập Lý thuyết thứ thị, nhằm thiết lập tư liệu về thứ chúng ta clichồng vào nút ít DOWNLOAD nghỉ ngơi trênBÀI TẬPhường. VÀ THỰC HÀNHMÔN HỌCLý tmáu vật thịMỤC LỤCCHƯƠNG 1: ĐẠI CƯƠNG VỀ ĐỒ THỊ Xét ví dụ thực tếBài 1.1. Với mỗi trường vừa lòng sau, vẽ các quy mô đồ gia dụng thị màn trình diễn những con đường bay với phân tích về các loại vật thị được sử dụng. Trong số đó kế hoạch cất cánh mỗi ngày như sau:- Từ TP.HCM: tất cả một chuyến cho thủ đô hà nội, một chuyến mang đến Thành Phố Đà Nẵng, một chuyến cho Prúc Quốc, một chuyến mang đến Nghệ An, một chuyến mang đến Hải Phòng; - Từ Hà Nội: gồm hai chuyến mang lại TP..HCM, một chuyến mang đến Đà Nẵng, một chuyến cho Nghệ An, một chuyến mang đến Hải Phòng; - Từ Đà Nẵng: tất cả một chuyến mang lại Hải Phòng Đất Cảng, nhị chuyến cất cánh mang đến TP.HCM; một chuyến đến Hà Nội; - Từ Nghệ An: có một chuyến cho Hà Thành, một chuyến đến TP..HCM;- Từ Hải Phòng: có một chuyến đến Thành Phố Hà Nội, một chuyến cho Thành Phố Hồ Chí Minh, với một chuyến mang đến Đà Nẵng;- Từ Phú Quốc: có một chuyến mang đến Thành Phố Hồ Chí Minh. a) Đồ thị trình diễn những tỉnh thành gồm chuyến cất cánh thân chúng.b) Đồ thị màn trình diễn số chuyến cất cánh vận động thân những thị trấn, cộng với một khuim biểu thị chuyến du ngoạn đặc trưng chiêm ngưỡng cảnh vật thành thị, cất và hạ cánh trên Prúc Quốc.c) Đồ thị biểu diễn vừa đủ đọc tin về hướng cất cánh cùng số chuyến bay giữa các thành phố.Phần hướng dẫna) Đồ thị vô hướngPhú QuốcNghệ AnHà NộiHải PhòngĐà NẵngTPhường. HCMb) Đa đồ dùng thị vô hướngPhụ QuốcNghệ AnHà NộiHải PhòngĐà NẵngTP.. HCMc) Đa thiết bị thị tất cả hướngPrúc QuốcNghệ AnHà NộiHải PhòngĐà NẵngTP.. HCMBài 1.2. Xác định coi thứ thị như thế nào sau đó là đồ vật thị đơn, đa thiết bị thị, thiết bị thị được bố trí theo hướng. a)b) c)d)Bài 1.3. Trong cuộc chiến vòng tròn, đội H thắng team G, nhóm C, với đội A; nhóm G chiến thắng nhóm A với đội C; team C chiến hạ đội A. Hãy quy mô hóa công dụng này bởi một vật dụng thị gồm hướng…Các thuật ngữ thiết bị thịBài 2.1. Xác định con số những đỉnh, con số các cạnh, cùng bậc của những đỉnh trong số vật dụng thị sau. Cho biết đỉnh làm sao là đỉnh cô lập, đỉnh như thế nào là đỉnh treo.cafeda)baedcb)bbhgec)cdifaBài 2.2. Tìm tổng những bậc của các đỉnh trong những trang bị thị làm việc các Bài 2.1, cùng kiểm triệu chứng rằng nó bằng hai lần số những cạnh vào đồ dùng thị.Bài 2.3. Có thể mãi sau một đồ thị đối chọi gồm 15 đỉnh, mỗi đỉnh tất cả bậc bởi 5 không? Tại sao?Bài 2.4. Trong một buổi chiêu đãi, đông đảo người phần lớn hợp tác nhau. Chứng tỏ rằng tổng thể người được bắt tay là một vài chẵn. Giả sử không có bất kì ai từ bỏ bắt tay mình.adcbBài 2.5. Xác định số đỉnh, số cạnh, số bậc vào cùng số bậc ra của mỗi đỉnh đối với thiết bị thị được bố trí theo hướng sau.Bài 2.6. Hãy xác minh tổng những bậc vào với tổng những bậc ra các đỉnh của thiết bị thị vào bài bác 2.5 một biện pháp trực tiếp. Chứng tỏ rằng bọn chúng hầu như bởi tổng những cạnh của vật thị.Bài 2.7. Đồ thị sẽ sở hữu được từng nào cạnh trường hợp nó tất cả những đỉnh bậc 4, 3, 3, 2, 2. Vẽ một thiết bị thị điều này.Bài 2.8. Có trường thọ trang bị thị đối chọi cất năm đỉnh cùng với các bậc sau đây? Nếu bao gồm hãy vẽ thứ thị đó.acdba) 3, 3, 3, 3, 2. b) 1, 2, 3, 4, 5.c) 1, 2, 3, 4, 4.Bài 2.9.See more: Auditions và Interviews - Frequently Asked QuestionsSee more: Codeskin - Fortnite Skin Codes Vẽ tất cả các đồ gia dụng thị con của thiết bị thị sau.Bài 2.10. Tìm phù hợp của những cặp vật dụng thị đối chọi sau badceafbedgcb)abcdeffbda)Biểu diễn các đồ vật thị với sự đẳng cấu vật thị Bài 3.1. Dùng list kề màn trình diễn các vật dụng thị sau.acdba)adcbb)Bài 3.2. Biểu diễn các vật thị trong bài 3.1 bởi ma trận kề.Bài 3.3. Vẽ những vật dụng thị ứng với ma trận kề được đến nlỗi sau.a) b) c) Bài 3.4. Dùng ma trận links nhằm trình diễn những đồ vật thị vào Bài 3.1.Bài 3.5. Xác định xem những cặp thiết bị thị đang đến có là đẳng cấu ko.u4u5u2u3v1v2v4v5u1v3a)Tính liên thôngBài 4.1. Các list đỉnh dưới đây gồm làm cho đường đi trong đồ gia dụng thị bên dưới hay không? Đường đi nào là đơn? Đường đi nhé là chu trình? Độ lâu năm của các lối đi này là bao nhiêu?a) (a, e, b, c, b) b) (a, e, a, d, b, c, a) c) (e, b, a, d, b, e) d) (c, b, d, a, e, c)Bài 4.2. Các list đỉnh tiếp sau đây gồm tạo nên lối đi trong đồ vật thị dưới hay không? Đường đi nào là đơn? Đường đi nào là chu trình? Độ nhiều năm của các đường đi này là bao nhiêu?a) (a, b, e, c, b) b) (a, d, a, d, a) c) (a, d, b, e, a) d) (a, b, e, c, b, d, a)Bài 4.3. Xác định xem các thiết bị thị vẫn mang lại tất cả liên thông không.Bài 4.4. Có bao nhiêu nhân tố liên thông trong những trang bị thị sinh hoạt những những bài tập 4.3? Tìm những nguyên tố liên thông kia.Bài 4.5. Tìm tất cả những đỉnh cắt và cạnh cắt của thứ thị.Bài thực hành thực tế số 1: Biểu diễn đồ gia dụng thịcác bài tập luyện 1: Nhtràn lên ma trận kề của một đơn đồ thị (tự keyboard và phát âm tự tập tin).Kiểm tra tính đúng theo lệ của trang bị thị (quý giá trê tuyến phố chéo chính đông đảo bằng 0).Kiểm tra coi vật dụng thị là vô phía xuất xắc hữu hướng?Nếu ma trận kề được nhập tự bàn phím thì xuất ra thành tập tin matranke.txt Nếu ma trận được gọi từ tập tin thì xuất kết quả ma trận ra màn hình hiển thị hiển thị.Xuất ra bậc của tất cả những đỉnh của đồ gia dụng thị (số cạnh nối cho tới đỉnh).Kiểm tra tính liên thông của đồ dùng thị? Xuất ra toàn bộ các nhân tố liên thông nếu tất cả.các bài luyện tập 2: Nhtràn vào ma trận trọng số của một đối kháng vật dụng thị (trường đoản cú bàn phím với phát âm trường đoản cú tập tin).Kiểm tra tính hòa hợp lệ của đồ gia dụng thị (giá trị trên phố chéo chính những bởi 0).Kiểm tra coi trang bị thị là vô hướng tốt hữu hướng?Nếu ma trận kề được nhập trường đoản cú bàn phím thì xuất ra thành tập tin trongso.txt Nếu ma trận được phát âm tự tập tin thì xuất kết quả ma trận ra screen hiển thị.Xuất ra cạnh bao gồm trọng số nhỏ duy nhất cùng lớn nhất.Hướng dẫn:Cmùi hương trình nhập vào ma trận kề của vật dụng thị trường đoản cú bàn phím#include #include main(){ int n,m,i,j; int a;// Doc n, m tu ban phimprintf(" Nhap n, m ");scanf("%d %d",&n,&m);// Doc mang a kich thuoc n*mfor (i=0;i d +a then // nếu đk tối ưu xảy ra begin d:=d+a; // gán quý giá buổi tối ưu new Truoc:= k; // cất giữ vết dịch chuyển. end;End;Một số crúc ý:Thuật tân oán trên thao tác cùng với vật dụng thị có trọng số ko âm,hoặc không tồn tại chu trình nhưng mà tổng trọng số là âm.Thuật tân oán trên thao tác với ma trận kề sẽ sở hữu độ phức tạp là O(n3).Thuật toán tìm đường đi nthêm độc nhất DijkstraThuật toán thù này xác minh lối đi nlắp nhất giữa 2 đỉnh ví dụ tự u mang lại v. Tư tưởng của thuật tân oán như sau:Dùng một tập S tàng trữ những đỉnh đã có để mắt. Cách đơn giản tuyệt nhất rõ ràng giữa đỉnh sẽ chăm sóc với đỉnh chưa phê chuẩn là cần sử dụng mảng vươn lên là tâm lý Free.Dùng mảng prúc D xác minh cực hiếm khoảng cách ngắn duy nhất đi tự u mang lại k. Ban đầu ta chỉ gán D = 0 và D = ∞ cùng với v ≠ u.Bắt đầu quy trình để mắt những đỉnh k khác u và quy trình lặp chỉ chấm dứt Lúc :Đã đạt cho đỉnh đích v .Hoặc quan yếu duyệt tiếp được nữa.Mỗi bước của quy trình trông nom như sau:Xác định đỉnh k trong những những đỉnh không được chu đáo, làm sao để cho D là bé nhỏ độc nhất vô nhị.Nếu k được chọn chính là đỉnh đích v ta xong vòng lặp.Nếu cực hiếm D được chọn là ∞ (Tức là không lựa chọn thêm được nữa) ta cũng xong vòng lặp.Trong trường phù hợp còn sót lại, ta chuyển k vào tập S (gán Free = 0) với về tối ưu những đỉnh còn lại theo vẻ ngoài sau: trường hợp D > D + A è D = D + A;Thuật toán thù được trình bày nlỗi sau:Procedure Dijstra (u, v);Begin while True vì begin Tìm đỉnh k vừa lòng Free = 1 với D nhỏ độc nhất vô nhị ; if D = ∞ hoặc k = v then BREAK; For v trực thuộc V bởi vì If Free = 1 với d>d+a then begin d:=d+a; Truoc:=u; end; end;End;Một số chụ ý:Thuật toán thao tác với đồ vật thị gồm trọng số ko âm,hoặc không có quy trình nhưng mà tổng trọng số âm.Độ phức hợp của thuật toán là O(n2).Thuật tân oán search lối đi ngắn độc nhất vô nhị Floyd- WarshallThuật toán này xác định lối đi nđính thêm tốt nhất giữa phần nhiều cặp đỉnh vào thiết bị thị.Tư tưởng thuật tân oán nhỏng sau:Để khẳng định đường đi nđính thêm tuyệt nhất thân phần lớn cặp đỉnh vào vật thị, thì ta đề xuất xác minh toàn bộ n*(n-1) quý hiếm, tương ứng với những cặp (u,v) bên trên thứ thị.lúc đó ta sử dụng luôn luôn ma trận trọng số Anxn làm cho ma trận lưu lại hiệu quả. lúc kia A là giá trị khoảng cách ngắn thêm duy nhất đi tự đỉnh i cho đỉnh j.Tư tưởng thuật toán thù này cũng tương đối đơn giản:Chọn 1 đỉnh là trung gian, trả sử là đỉnh k.Tối ưu hóa lối đi tự đỉnh u mang lại đỉnh v theo k. Tức là ta so sánh A cùng với tổng A cùng A. Nếu đi tự u cho v dài ra hơn đối với đi tự u qua k rồi mang đến v thì ta sẽ về tối ưu giá trị A.Ta thấy bao gồm n giải pháp lựa chọn đỉnh k, cùng với mỗi k gồm n cách chọn đỉnh căn nguyên u và với mỗi u ta gồm n phương pháp lựa chọn đỉnh kết thúc v. do vậy ta tất cả 3 vòng lặp lồng nhau.Cũng áp dụng bốn tưởng này để xác minh những nhân tố liên thông của đồ gia dụng thị. Đây là thuật toán Warshall. Tư tưởng chủ yếu là:Nếu từ u đế k tất cả đường đi, có nghĩa là A = 1 cùng từ bỏ k mang đến v cũng có thể có đường đi, Có nghĩa là A = 1 thì chắc chắn có đường đi từ u mang lại v trần A = 1.Cả 2 thuật toán đều sở hữu độ phức tạp là : O(n3). Thuật tân oán được bộc lộ nhỏng sau:Procedure Floyd_WarshallBegin For k = 1 khổng lồ n do For u = 1 to n bởi For v = 1 khổng lồ n bởi vì If A > A + A then A = A + A; End;Procedure WarshallBegin For k = 1 lớn n vị For u = 1 khổng lồ n do For v = 1 lớn n do If A = 1 và A = 1 then A = 1; End;CHƯƠNG 4: CÂY Bài 1. Tìm cây khung nhỏ tuyệt nhất bằng thuật toán thù Prlặng của đồ thị tất cả các đỉnh A, B, C, D, E, F, H, I được đến vì ma trận trọng số sau.ABCDEFHIABCDEFHI .Bài 2. Tìm cây khung nhỏ tuổi tốt nhất của thiết bị thị sau theo thuật toán Kruskal cùng Pryên. Bài 3. Tìm cây form nhỏ tuổi duy nhất bằng thuật tân oán Pryên của vật thị gồm các đỉnh A, B, C, D, E, F, H, I được đến bởi vì ma trận trọng số sau.ABCDEFGHABCDEFGHYêu cầu viết các công dụng trung gian vào từng bước một lặp, công dụng sau cuối buộc phải chỉ dẫn tập cạnh cùng độ nhiều năm của cây size nhỏ tuổi tốt nhất.Bài thực hành số 4: Các thuật tân oán về câyBài tập: Cài đặt các thuật toán thù tra cứu cây size nhỏ dại nhất.Hướng dẫn:Rõ ràng 1 thứ thị mang lại ta nhiều cây khung. Vấn đề là khẳng định cây form như thế nào trong vật dụng thị tất cả trọng số sao để cho tổng trọng số là bé nhỏ duy nhất.Thuật toán thù Prim – Dijsktra khẳng định cây khung nhỏ xíu nhất.Tư tưởng của thuật tân oán này là dựa trên thuật tân oán tra cứu đường đi tối ưu Dijsktra.Dùng tập S để tàng trữ các đỉnh đã có được duyệt. ban sơ S = Ø.Đối cùng với bài bác tân oán tra cứu đường đi ngắn độc nhất vô nhị thân 2 điểm u,v, thì thuật toán Dijsktra đã lần lượt chọn những đỉnh bên trên trang bị thị sao cho giá trị khoảng cách từ bỏ đỉnh u cho đỉnh bắt đầu duyệt y là nhỏ tốt nhất có thể được. Quá trình dừng lại Khi đỉnh v được chu đáo.Đối cùng với bài toán thù xác minh cây form nhỏ duy nhất, thì quy trình ưng chuẩn những đỉnh cũng như bên trên, tuy nhiên chỉ dừng lại lúc không thể săn sóc đạt thêm đỉnh nào nữa. Chú ý tại chỗ này biến D chưa hẳn là khoảng cách đi từ đỉnh u mang đến v nhưng là khoảng cách tự v đến S (là khoảng cách nthêm duy nhất từ v mang đến 1 đỉnh trong tập S).Nếu cực hiếm khoảng cách tại đỉnh sau cuối ≠ ∞, thì ta sẽ có một cây size bé độc nhất vô nhị.Trong trường đúng theo ngược chở lại thì không xác định được cây form nhỏ xíu tuyệt nhất.Thuật toán được miêu tả nhỏng sau: độ phức hợp của thuật tân oán là O(n2).Procedur Prim_Dijsktra;Begin Chọn 1 đỉnh u là nơi bắt đầu của cây.

Xem thêm: Dừng Ngay Ý Định Mổ Mắt Cận Bao Nhiêu Độ Thì Mổ Được ? 17 Tuổi Bị Cận 4

D = 0; D = ∞ với v ≠ u; S = Ø while True vì begin Tìm đỉnh k thoả mãn Free = 1 và D nhỏ tốt nhất ; If (ko khẳng định được k OR D = ∞) then Break. Else F := F U (T,k), S = S U k ; Free = 0 For v Î V bởi vì If Free = 1 và D> A then // chăm chú đk này!!!!! begin D:= A; T:=k; end; end;End;Thuật tân oán Kruskal (thuật toán thù tđắm say lam – nạp năng lượng tham)Tư tưởng của thuật toán thù như sau:Khởi chế tạo ra tập những cạnh của cây size F = Ø.Chọn những cạnh của đồ gia dụng thị theo trọng số từ bỏ nhỏ đến lớn, sao để cho nó không tạo ra quy trình vào tập F.Đưa cạnh vừa chọn vào tập F cùng xóa nó khỏi tập cạnh E của thứ thị.Quá trình lặp lại cho tới lúc trong tập F tất cả đúng n-1 cạnh.Thuật tân oán biểu lộ nhỏng sau:Procedure Kruskal;Begin F := Ø; // khởi tạo nên tập trống rỗng While |F| Các tệp tin thêm cố nhiên tư liệu này:Chulặng mục: giftcode