#2 [Lý thuyết đồ thị]. Biểu Diễn Đồ Thị Trên Máy Tính | Ma Trận Kề | Danh Sách Kề | Danh Sách Cạnh

  Рет қаралды 86,037

28tech

28tech

Күн бұрын

Nội dung video cung cấp các cách biểu diễn đồ thị trên máy tính và cách chuyển đổi giữa chúng
00:00 : Biểu diễn đồ thị bằng ma trận kề
14:15 : Biểu diễn đồ thị bằng danh sách cạnh
20:10 : Biểu diễn đồ thị bằng danh sách kề
26:30 : Bài tập chuyển đổi giữa các cách biểu diễn đồ thị trên máy tính
_____________________________________________
🎯🎯🎯 THÔNG TIN VÀ LIÊN HỆ :
📌 Đăng ký học với mình : 28tech.com.vn
📌 Blog học lập trình miễn phí : blog.28tech.com.vn
📌 Facebook page : / 28techandedu
📌 Group hỏi đáp về lập trình : / 28techgroup
📌 Zalo / Phone : 0965303260
📌 Email: xuanloc2711@gmail.com
___________________________________________________________
🎯🎯🎯 CÁC PLAYLIST HỌC LẬP TRÌNH :
Lập trình C++ : • Cách Tự Học Lập Trình ...
CTDL & Giải Thuật : • [CTDL & GT]. Buổi 1. V...
Lập trình C : • Ngôn Ngữ Lập trình C++
Lập trình Python : • [PYTHON] Bài 1. Vì Sao...
Lý thuyết đồ thị : • Lý Thuyết Đồ Thị | Gra...
Java : • Java Collections
Trò chuyện với 28tech : • Trò Chuyện Với 28Tech
Các website hữu ích với dân IT : • #1. Tự Học Lập Trình ...
___________________________________________________________
📚 TÀI LIỆU HỌC LẬP TRÌNH :
📌 drive.google.com/drive/folder...
© Copyright 28Tech
#28tech

Пікірлер: 113
@28tech_
@28tech_ 2 жыл бұрын
Thông tin các khóa học mình đang hướng dẫn : 28tech.com.vn/
@bongnguyenthi8053
@bongnguyenthi8053 4 ай бұрын
cam on anh ve bai hoc nay
@dragon7083
@dragon7083 8 ай бұрын
Hay lắm, cảm ơn bạn ❤
@sangnguyenn2367
@sangnguyenn2367 Жыл бұрын
Xin cảm ơn thầy nhiều lắm
@nguyenvantuan4240
@nguyenvantuan4240 2 жыл бұрын
anh ơi anh có thể hướng dẫn phần insert vertex, delete vertex, insert edge, delete edge, display vertex and edge ko ạ?
@xyznguyenabc468
@xyznguyenabc468 Жыл бұрын
hay quá anh ơi em đang hoang mang phần đồ thị
@quangnhat6164
@quangnhat6164 9 ай бұрын
Xem anh từ hồi mới mở kênh, cái ma trận kề thường dùng làm gì ạ, thấy độ phức tạp lớn quá
@user-tr1ds1de9e
@user-tr1ds1de9e Ай бұрын
Dạ ad ơi cho em hỏi, ở phần chuyển ma trận kề sang danh sách cạnh thì khi nhập 1 vào ma trận thì nó đã đánh dấu sự xuất hiện của biến r ạ? tại em thấy mới có cin >> a[i][j] th và xuống dưới điều kiện cũng lạ nên hơi bối rối ạ, mong ad giải đáp giúp em ;3
@jimminh
@jimminh Жыл бұрын
Anh ơi,các file bài tập này anh đã ẩn hay sao mà em ko tìm dc ạ.
@reviewphimhay4893
@reviewphimhay4893 Жыл бұрын
anh ơi ,cho em hỏi làm thế nào để đếm đường đi giữa các đỉnh trong đồ thị vô hướng ạ , em xin cảm ơn
@khoihoang5252
@khoihoang5252 Жыл бұрын
ad có thể mở lại link bài tập và slide k ạ ? e ấn vào k được
@hieuangnhat2855
@hieuangnhat2855 5 ай бұрын
silde bài tập lấy ở đâu vậy ạ
@user-so3ei1hb6v
@user-so3ei1hb6v 7 ай бұрын
thanks a nhiều
@nguyenvanbong5302
@nguyenvanbong5302 2 жыл бұрын
Em học trên lớp thầy dạy không hiểu 1 xíu nào, giờ gần thi may quá lại tìm thấy kênh a dạy, a dạy nghe rất dễ hiểu. Em cảm ơn anh nhiều, mong anh ra thêm nhiều video bổ ích như này nữa
@gianglo123
@gianglo123 Жыл бұрын
kiến thức này học ở đại học à b
@xyznguyenabc468
@xyznguyenabc468 Жыл бұрын
@@gianglo123 dr bro
@amuseandrelaxtv2820
@amuseandrelaxtv2820 8 ай бұрын
môn ctdl nhé, vừa trượt xong :((@@gianglo123
@user-su9wz4jv3f
@user-su9wz4jv3f Ай бұрын
em cảm ơn anh
@taiuc2923
@taiuc2923 2 жыл бұрын
Anh ơi anh ra series quy hoạch động đi anh em thấy cái đó hay mà coi ytb mấy kênh kia khó hiểu quá
@tuhoang9328
@tuhoang9328 7 ай бұрын
anh làm ma trận liên thuộc được không ạ
@chaynhungkhongkhet833
@chaynhungkhongkhet833 2 жыл бұрын
Cảm ơn những bài giảng của anh
@28tech_
@28tech_ 2 жыл бұрын
Ok thank you em đã ủng hộ.
@tanhkoi
@tanhkoi Жыл бұрын
slide và bài tập trên drive không vào được anh ơi
@hobinh8744
@hobinh8744 Жыл бұрын
anh ơi những link gg drive anh còn giữ không ạ? Bị lỗi hết rồi anh ơi
@vupham8570
@vupham8570 11 ай бұрын
Cho em hỏi emplace_back vs push_back nó khác nhau chỗ nào vậy ạ
@quyphu4886
@quyphu4886 8 ай бұрын
anh ơi, anh up slide bài tập lại được không ạ, tại giờ e mở nó báo k tồn tại
@thinh4348
@thinh4348 8 ай бұрын
sao code chuyen doi tu MTK to DSC e cin so dinh roi no tu end ctrinh v a?
@sangnguyenn2367
@sangnguyenn2367 Жыл бұрын
32:53 khúc này không có pair được không vậy thầy?
@dangpham5461
@dangpham5461 7 ай бұрын
baif hay quas nhung ma e ko bt vao dau de xem duoc bai tap aj
@tungbach30
@tungbach30 Жыл бұрын
a có thể tải lại slide dc kh ạ tại e kh vào dc ý ạ
@TrungNguyen-xb2jn
@TrungNguyen-xb2jn Жыл бұрын
while(ss>>num) điều kiện này nghĩa là gì vậy anh
@namcao3317
@namcao3317 2 жыл бұрын
Bài tập quá hay và đầy đủ lun a
@28tech_
@28tech_ 2 жыл бұрын
Thank u e :D
@luongminhthevinh
@luongminhthevinh Жыл бұрын
bạn ơi cho mình xin file bài tập với slide được không ạ do link trong phần mô tả bị lỗi mất :((
@nguyenhoanghai9588
@nguyenhoanghai9588 7 ай бұрын
nếu có rồi thì cho mình ké với ạ @@luongminhthevinh
@luongminhthevinh
@luongminhthevinh 7 ай бұрын
@@nguyenhoanghai9588 chưa có luôn ông ơi
@binhnguyen209
@binhnguyen209 Жыл бұрын
Quá hay anh ơi !!
@28tech_
@28tech_ Жыл бұрын
Cảm ơn em nhé
@_PhamHoangNhan-dm2bi
@_PhamHoangNhan-dm2bi Жыл бұрын
rat bo ich
@Thachoanhdi
@Thachoanhdi 3 ай бұрын
Nice
@phamduy2053
@phamduy2053 24 күн бұрын
Em yêu anh
@ThienNguyen-yd2hb
@ThienNguyen-yd2hb 9 ай бұрын
Có file bài tập ko cho m xin file và bạn
@ta-3efilm465
@ta-3efilm465 Жыл бұрын
a ơi cho em xin thư mục bài với ạ :( em cảm ơn nhiều
@babyfish276
@babyfish276 2 жыл бұрын
hay lam a
@28tech_
@28tech_ 2 жыл бұрын
ok e :D
@aotien5904
@aotien5904 2 жыл бұрын
quá đỉnh ạ
@28tech_
@28tech_ 2 жыл бұрын
🥰🥰🥰
@28tech_
@28tech_ 2 жыл бұрын
Viễn Thông giờ cũng khổ nhỉ, phải học cả đồ thị. :D
@ngochuytran9136
@ngochuytran9136 9 ай бұрын
anh ơi cho em xin lại slide được không ạ :>
@tuannhatbui3125
@tuannhatbui3125 2 жыл бұрын
anh ơi cho e hỏi. E cũng có dùng devc++ 5.11 như anh , lệnh stoi(num) nó báo ko được a ạ!!
@28tech_
@28tech_ 2 жыл бұрын
Uh vì stoi chỉ có trong C++ 11 trở lên. Em chuyển sang chuẩn C++ 11 như sau. Vào tool->compiler option->setting->code genaration->language standard->GNU C++11 là được.
@tracnang66
@tracnang66 2 жыл бұрын
vector adj[1001] nghĩa là tại adj[i] có 1001 phần tử kiểu int à anh.
@28tech_
@28tech_ 2 жыл бұрын
Ko adj là mảng có 1001 phần tử. Mỗi phần tử là 1 vector
@mylife1500
@mylife1500 2 жыл бұрын
thầy ơi thầy, thầy có thể hướng dẫn cho con bài này đc không ạ , con không hiểu yêu cầu của đề bài : Lập trình cho phép chuyển đổi cấu trúc dữ liệu biểu diễn đồ thị dưới dạng ma trận kề sang danh sách kề và ngược lại
@28tech_
@28tech_ 2 жыл бұрын
Ơ trong video mình có hướng dẫn hết rồi mà.
@hoangluu6634
@hoangluu6634 11 ай бұрын
Em học và dùng Dev C cũng hơn 1 năm rồi nhưng mà không thể dùng được stoi() cũng như for(int it : egde){}, anh đã cài đặt gì để sử dụng được nó vậy ạ ?
@28tech_
@28tech_ 11 ай бұрын
Em chạy chuẩn C++ cao tý là đc. Vào tool-compiler option-setting-code generation-language standard- gnuc++11 nha
@hoangluu6634
@hoangluu6634 11 ай бұрын
đỉnh quá anh ạ, em cảm ơn.
@huynhphuctan9014
@huynhphuctan9014 2 жыл бұрын
anh có thể code đọc file xuất ra màn hình kết quả là danh sách kề được không ạ, em học hơi yếu nên chưa làm được ạ
@28tech_
@28tech_ 2 жыл бұрын
Bạn thêm câu lệnh này vào trước khi đọc input freopen("input.txt", "r", stdin); với input.txt là file bạn lưu đầu vào, sau đó dùng cin đọc như đọc từ bàn phím.
@nguyenhoa5409
@nguyenhoa5409 2 жыл бұрын
anh ơi cho e hỏi là cái danh sách kề của đồ thị có hướng với đồ thị vô hướng có giống nhau ko anh
@28tech_
@28tech_ 2 жыл бұрын
Khác nhau chứ em. Dske của đồ thị vô hướng nếu cạnh u v thì trong dsk của u có v và ngươc lại. Còn có hướng thì không có điều đó
@nguyenhoa5409
@nguyenhoa5409 2 жыл бұрын
@@28tech_ thế là danh sách kề của đỉnh đấy là những đỉnh là đỉnh cuối còn đỉnh mình đang xét là đỉnh đầu ạ
@tientruong1172
@tientruong1172 Жыл бұрын
Cho xin lại slide được không ạ. Không tải được slide
@hanguyentrong8779
@hanguyentrong8779 2 жыл бұрын
anh ơi a cho em hỏi với ạ cái câu lệnh for(int x: adj[i]) ấy ạ lúc đi thi máy nó k nhận cái câu đấy thì mình dùng câu nào để thay thế ạ vì máy nó không chuyển thành GNU c++11 ạ
@28tech_
@28tech_ 2 жыл бұрын
Trong dev c e chuyển được mà. Còn ko thì em duyệt theo chỉ số cũng được
@longnguyenhuu7530
@longnguyenhuu7530 Жыл бұрын
bt2: dscanh - dske #include using namespace std; vector adj[1001]; //n dinh m canh int main(){ int n, m; cin >> n >> m; for(int i=0; i>x>>y; adj[x].push_back(y); adj[y].push_back(x); } for(int i = 1; i
@sonchu8972
@sonchu8972 7 ай бұрын
dạ cho em hỏi xcode sao k có thư viện nó k nhận ạ
@28tech_
@28tech_ 7 ай бұрын
Uh thư viện này ko phải thư viện chuẩn em ạ, em phải tự thêm vào thì mới dùng được.
@sonchu8972
@sonchu8972 7 ай бұрын
@@28tech_ dạ a cho em hỏi thêm là thêm thế nào ạ
@binhquoc6449
@binhquoc6449 2 жыл бұрын
cho em hỏi là nếu đồ thị danh sách kề có trọng số thì biểu diễn sao ạ
@28tech_
@28tech_ 2 жыл бұрын
Em có thể lưu pair, first là đỉnh, second là trọng số
@_NguyenMinhTan-ge3sr
@_NguyenMinhTan-ge3sr 2 жыл бұрын
anh cho em hỏi toán tử ":" lúc phút 31:13 nó có tác dụng như nào thế ạ ? Em học c++ mà kh thấy ai dùng toán tử này hết ah
@28tech_
@28tech_ 2 жыл бұрын
Cái đấy ko phải toán tử đâu em. Đấy gọi là for each. Dùng để duyệt các phần tử trong vector mà ko cần thông qua chỉ số
@ngophuoc6125
@ngophuoc6125 2 жыл бұрын
Quá hay, luôn ủng hộ, mà anh ơi phút 39:40 dòng 22 nghĩa là sao ạ
@28tech_
@28tech_ 2 жыл бұрын
Cái này là tách từng từ trong 1 xâu em ạ. Cái này ở phần String trong playlist C++ anh có hướng dẫn kĩ hơn.
@ThinhTran-ys4mr
@ThinhTran-ys4mr Жыл бұрын
Anh ơi cho em hỏi nếu bài này không phải là kiểu int mà là kiểu string thì mình làm ntn ạ ?
@28tech_
@28tech_ Жыл бұрын
Ko phải là kiểu int tức là nó là chữ cái ah
@trungkiet2020
@trungkiet2020 2 жыл бұрын
Theo anh nên học đồ thị trước hay học quy hoạch động trước vậy anh
@28tech_
@28tech_ 2 жыл бұрын
Học gì trước cũng được, ko liên quan lắm em, qhd trước thì ok hơn.
@tranthienphuc8543
@tranthienphuc8543 2 жыл бұрын
anh ơi nếu đồ thị có trọng số thì danh sách cạnh có thể biểu diễn như danh sách kề đc ko
@28tech_
@28tech_ 2 жыл бұрын
Sao lại ds cạnh biểu diễn như ds kề em, anh không hiểu câu hỏi
@tranthienphuc8543
@tranthienphuc8543 2 жыл бұрын
@@28tech_ ý em là danh sách cạnh có thể dùng vector giống danh sách kề đc ko ý
@SnowLove165
@SnowLove165 7 ай бұрын
15:20 A ơi nếu danh sách cạnh chỉ liệt kê 1 lần (ví dụ 1-2 mà ko có 2-1), vậy thì A[i][j] luôn khác A[j][i] và không có sự khác nhau giữa đồ thị vô hướng và có hướng ạ
@normiedaopho9463
@normiedaopho9463 6 ай бұрын
thu nhat la 1 -2 2 -1 k lein quan toi nhau, 1 -2 thi tuong ung doi xung voi no la -2 1 moi la A[i][j] va A[j][i], neu ban dung danh sach canh de bieu dien ma tran thi phai xac dinh yeu cau la do thi co huonmg hay vo huong, neu vo huong thi phai tu nhap gia tri doi xung cua no, do la ly thuyet r
@conantv1797
@conantv1797 2 жыл бұрын
39:41 vòng for ở dòng 18 hình như nó chỉ push vào v[i] với i=2,3,...,n thôi anh ơi, em nhập vào n-1 dòng nó đã xử lý rồi T_T. Mặc dù em đã dùng cin.ignore như anh v_v. Nếu anh cần, em sẽ gửi code của em cho anh. Em cảm ơn ạ!!!
@28tech_
@28tech_ 2 жыл бұрын
Uh em gửi code đây xem nào :D
@conantv1797
@conantv1797 2 жыл бұрын
@@28tech_ vâng em vừa gửi qua mail ở mô tả rồi ạ, kênh của anh rất bổ ích, em cảm ơn nhiều ạ
@HaNguyen-ci8nn
@HaNguyen-ci8nn Жыл бұрын
Cho mình tham khảo bài tập được ko ạ? link bài tập ko tải được. Cảm ơn bạn!
@28tech_
@28tech_ Жыл бұрын
Mail này của em bị mất nên mất hết file vs bài tập
@mytuan_chanel
@mytuan_chanel 2 жыл бұрын
phút thứ 23, d/s kề của đỉnh 2 là {1,4} chứ kp {1,2} phải ko ạ
@28tech_
@28tech_ 2 жыл бұрын
Uh thi thoảng a cũng hay nói nhầm, chắc là thế đấy :D.
@Ha-bi9kk
@Ha-bi9kk 2 жыл бұрын
anh ơi, nếu đồ thị có trọng số nữa thì nhập như thế nào ạ
@28tech_
@28tech_ 2 жыл бұрын
nếu có trọng số thì e có thể tạo một struct edge, hoặc sử dụng tuple, pair lồng cũng được.
@Ha-bi9kk
@Ha-bi9kk 2 жыл бұрын
vậy cũng ok anh nhỉ
@bachlyoto3836
@bachlyoto3836 2 жыл бұрын
anh cho em hỏi làm sao chuyển danh sách kề sang 2 trường hợp còn lại khi dữ liệu đầu vào là từ file text ạ
@28tech_
@28tech_ 2 жыл бұрын
Này thì em tìm hiểu về đọc file là xong mà, khác mỗi cái đọc từ file vs đọc từ bàn phím. Thêm 2 dòng này vào main của em thì dùng cin, cout như bình thường, nhưng dữ liệu sẽ được đọc từ input.txt và ghi ra output.txt freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout);
@bachlyoto3836
@bachlyoto3836 2 жыл бұрын
@@28tech_ em cảm ơn a nhiều ạ
@lightff2003
@lightff2003 Жыл бұрын
cái ma trận đầu chỗ đỉnh 6 vs 6 là 0 mới đúng phải hk ad
@28tech_
@28tech_ Жыл бұрын
đúng rồi bạn, chỗ đó m nhầm đó.
@_PhamNguyenVanong_a
@_PhamNguyenVanong_a Жыл бұрын
Link bị lỗi òi đại ca
@khangbachdn
@khangbachdn Жыл бұрын
file drive bài tập bị lỗi rồi a ơi
@28tech_
@28tech_ Жыл бұрын
Mail lưu cái này anh bị mất rồi.
@moclan8534
@moclan8534 Жыл бұрын
anh ơi, file bt k vô dc nữa ạ :((
@28tech_
@28tech_ Жыл бұрын
Mất file rồi em
@tienn.06
@tienn.06 Жыл бұрын
sao a "ok" nhiều thế
@HuyTran-pr8ug
@HuyTran-pr8ug 2 жыл бұрын
hay thế mà có 2 dislike , haizz :(
@28tech_
@28tech_ 2 жыл бұрын
Sao xem được dislike nhỉ, vì nó bị ẩn rồi mà 😆😆😆😆
@hanguyentrong8779
@hanguyentrong8779 2 жыл бұрын
a thiếu chuyển từ danh sách kề sang danh sách cạnh rồi :))
@28tech_
@28tech_ 2 жыл бұрын
Uh cũng na ná thế thui 😛😛
@hanguyentrong8779
@hanguyentrong8779 2 жыл бұрын
@@28tech_ ok a :))
@user-tr1ds1de9e
@user-tr1ds1de9e Ай бұрын
Dạ ad ơi cho em hỏi, ở phần chuyển ma trận kề sang danh sách cạnh thì khi nhập 1 vào ma trận thì nó đã đánh dấu sự xuất hiện của biến r ạ? tại em thấy mới có cin >> a[i][j] th và xuống dưới điều kiện cũng lạ nên hơi bối rối ạ, mong ad giải đáp giúp em ;3
it takes two to tango 💃🏻🕺🏻
00:18
Zach King
Рет қаралды 30 МЛН
How many pencils can hold me up?
00:40
A4
Рет қаралды 18 МЛН
The Worlds Most Powerfull Batteries !
00:48
Woody & Kleiny
Рет қаралды 17 МЛН
Heap sort _ C++ _ Visual studio 2022
6:58
Jasmy
Рет қаралды 243
Q-Day3- Bài 8 PALINDROME
6:48
Đặng Tuấn Thành
Рет қаралды 319
Thuật toán Kruskal tìm cây khung nhỏ nhất
4:17
schoolX
Рет қаралды 17 М.
Nâng cấp giá trị của bạn trong các mối quan hệ
20:48
Top 100 Nhạc Trẻ Việt Nhiều Lượt Xem Nhất Youtube (5/2024) | BXHAN
10:21
Bảng Xếp Hạng Âm Nhạc
Рет қаралды 8 М.
10 分钟 理论 + 实操 搞懂 WebSocket
9:03
FireUG技术社区
Рет қаралды 12 М.
Cài đặt Code::Blocks (codeblocks) | Lập trình C/C++
7:14
Sóng Thần
Рет қаралды 38 М.
it takes two to tango 💃🏻🕺🏻
00:18
Zach King
Рет қаралды 30 МЛН