#3 [Lý thuyết đồ thị]. Thuật Toán Tìm Kiếm Theo Chiều Sâu Trên Đồ Thị | Thuật Toán DFS C++

Поділитися
Вставка
  • Опубліковано 17 січ 2025

КОМЕНТАРІ • 83

  • @28tech_
    @28tech_  2 роки тому +4

    Thông tin các khóa học mình đang hướng dẫn : 28tech.com.vn/

  • @balaoxink3172
    @balaoxink3172 Рік тому

    Cảm ơn anh, nhờ những video của anh mà em đã tiến bộ lên rất nhiều ạ.

  • @VoHoangTuanA
    @VoHoangTuanA Рік тому +1

    Bài giảng hay quá a ơi !! Em cảm ơn anh nhiều về bài giảng ạ

    • @28tech_
      @28tech_  Рік тому +1

      🤗🤗🤗🤗

  • @binhnguyen209
    @binhnguyen209 2 роки тому +1

    Quá hay anh ơi !! Ngày mai em thi DSA r mà giờ ngồi coi video của anh ôn lại bài dễ hiểu và ngấm hơn rất nhiều lun

  • @namcao3317
    @namcao3317 3 роки тому +1

    Em đang học bên Java mà nhờ bài của anh em thích lun C++

    • @28tech_
      @28tech_  3 роки тому +1

      Java hay mà, a lại thích Java. :D

  • @Lunguyen08
    @Lunguyen08 Рік тому

    Hay quá anh, cực kì dễ hiểu❤❤❤

  • @tranquochuy2004
    @tranquochuy2004 3 роки тому +6

    video hay quá a ơi... e cảm ơn a nhiều nha ... :_ năm ngoái học đội tuyển hsg e còn ko hiểu thuật toán dfs... nhờ video của a, e ms hiểu thuật toán dfs ạ

    • @28tech_
      @28tech_  3 роки тому +2

      Ok em ✌🏿✌🏿✌🏿✌🏿

  • @khavovan8201
    @khavovan8201 3 роки тому +2

    10 điểm cho chất lượng!!!

    • @28tech_
      @28tech_  3 роки тому

      Đã học tới đây rồi.

  • @a2-24-phanhongphuc5
    @a2-24-phanhongphuc5 Рік тому

    Anh ơi anh bị nghiện ok' hic.

    • @28tech_
      @28tech_  Рік тому

      Giờ hết rồi em 🤩🤩🤩

  • @sangnguyenn2367
    @sangnguyenn2367 2 роки тому

    Xin cảm ơn

  • @qungaz6053
    @qungaz6053 11 місяців тому

    Hay á anh

    • @28tech_
      @28tech_  11 місяців тому

      Cảm ơn em nhé

  • @dth.12
    @dth.12 Рік тому

    Hay quá anh ui

  • @huevu5031
    @huevu5031 2 роки тому

    28 tech giảng bài quá hay a ạ

    • @28tech_
      @28tech_  2 роки тому

      Ok cảm ơn em nhé, chúc em học tốt

  • @viencong
    @viencong 2 роки тому

    hay quá idol

  • @HuyNguyen-zn8tw
    @HuyNguyen-zn8tw 3 роки тому

    chất lượng quá anh ơi :3

    • @28tech_
      @28tech_  3 роки тому

      Thank em đã ủng hộ ✌🏿✌🏿✌🏿✌🏿

  • @realsnsar
    @realsnsar 3 роки тому

    Hôm nay anh ra nhiều video thế

    • @28tech_
      @28tech_  3 роки тому +4

      ờ a vứt trong máy lâu rồi mà CN mới có thời gian edit :D

    • @abcxyzd-y2y
      @abcxyzd-y2y 3 роки тому

      @@28tech_ video hay lắm a

    • @28tech_
      @28tech_  3 роки тому +3

      @@abcxyzd-y2y thank you :D

  • @i_love_cp3000
    @i_love_cp3000 7 місяців тому

    a cho em hỏi là ví dụ với bài toán fibonacci thì khi gọi đệ quy là return f[n - 1] + f[n - 2] thì máy tính sẽ gọi đệ quy tới thằng nào trước vậy anh

  • @yt.quyetdaika
    @yt.quyetdaika 2 роки тому

    kk em sắp thi cuối kỳ TRR rồi mà từ đầu năm chỉ đến để điểm danh. May kênh anh có luôn phần đồ thị khoai nhất này để cày kk. Em cày xong đống này sẽ cumback ôn khoá C++ đã đky ạ. em quyetBK khum biết anh có nhớ em khum :

    • @28tech_
      @28tech_  2 роки тому

      Haha nhanh lên

    • @yt.quyetdaika
      @yt.quyetdaika 2 роки тому

      @@28tech_ anh ơi cho em xin slides video này ạ

  • @quyetleduy6440
    @quyetleduy6440 Рік тому

    a Lộc ơi, em thấy cài đặt thuật toán DFS của anh nếu input là một đồ thị không liên thuộc thì sẽ không thể duyệt hết các đỉnh được. Thêm nữa ví dụ đang xét đỉnh và duyệt các đỉnh cạnh nó là 2 và 3, nếu nhập 3 trước 2 thì khi duyệt sẽ đi qua 3 trước (đáng ra phải đi từ lớn tới bé mới phải).

    • @28tech_
      @28tech_  Рік тому

      Ko liên thông thì gọi nhiều lần dfs, còn duyệt 3 hay 2 trước thì nó do mình nhé em chứ ko có quy định nào về việc phải duyệt đỉnh nào trước

  • @ttchien
    @ttchien Рік тому

    thuật toán này tìm đường đi hay chu trình Euler k ạ?

    • @28tech_
      @28tech_  Рік тому +1

      Uh tương tự nhé em.

  • @LinhVũNguyễnDuy
    @LinhVũNguyễnDuy Рік тому

    cho e hỏi cái memset dùng để làm gì ạ

    • @28tech_
      @28tech_  Рік тому

      Gán giá trị cho các phần tử trong mảng nhé em

  • @luisdato1712
    @luisdato1712 Рік тому

    Anh ơi thuật toán này thường được ứng dụng để giải những bài toán nào ạ?

  • @DungNguyen-lf6mw
    @DungNguyen-lf6mw 2 роки тому

    18:45 a làm nhanh quá em k xem kịp

  • @nguyenvantuan4240
    @nguyenvantuan4240 2 роки тому

    chỗ memset có nhiệm vụ là khởi tạo cho mảng visited có giá trị false hết đúng không ạ?

  • @HenryLee-y1q
    @HenryLee-y1q Рік тому

    21:43

  • @thuatvan6245
    @thuatvan6245 Рік тому

    muốn trình bày duyệt theo kiểu tự luận thì sao ạ

  • @anya-nu2it
    @anya-nu2it 2 роки тому

    em chào anh ạ, a cho em hỏi sao biểu diễn đồ thị bằng danh sách kề lại có độ phức tạp O(V+E) ạ. Mong nhận được phản hồi từ anh :((

  • @phongnguyenang6325
    @phongnguyenang6325 2 роки тому

    anh dùng web nào để vẽ đồ thị anh

    • @28tech_
      @28tech_  2 роки тому

      Anh dùng google drawing em nhé

  • @3racetamon231
    @3racetamon231 2 роки тому

    Anh cho em hỏi nếu kh dùng dòng for each thì mình sửa thế nạo ạ. Em cảm ơn

    • @28tech_
      @28tech_  2 роки тому

      Giả sử duyệt danh sách cạnh của đinh i thì e duyệt là for(int j = 0; j < adj[i].size; j++) sau đó truy cập vào đỉnh kề vs đỉnh i là adj[i][j]

  • @o-wess3259
    @o-wess3259 3 роки тому

    Thầy ơi cho em hỏi là memset() em cần khai báo gì trên thư viện ạ

    • @28tech_
      @28tech_  3 роки тому +2

      Nó thuộc thư viện stdlib.h thì phải, b dùng thư viện bits như m ấy thì ko phải khai bao thêm nữa

  • @10nc-nguyenngocphuc36
    @10nc-nguyenngocphuc36 3 роки тому

    anh ơi mấy kiến thức mà anh dạy mình có thể xem ở tài liệu nào vậy anh

    • @28tech_
      @28tech_  3 роки тому +6

      Thường thì a tổng hợp từ nhiều nơi lắm, từ sách vs tutorial. Em có thể đọc cuốn giải thuật của thầy Lê Minh Hoàng, cp-algorithm, hackerearth vs geeksforgeeks.

  • @tranquangtruong9294
    @tranquangtruong9294 3 роки тому

    có tài liệu nào dạy java có những kiến thức mở rộng như này không ạ.

    • @28tech_
      @28tech_  3 роки тому

      Thường thì ko có đâu em ạ, tự code thôi, trong java cũng có mọi ctdl như C++ mà.

  • @nhuthientran1525
    @nhuthientran1525 Рік тому

    Đồ thị không liên thông thì phải làm sao ạ ...

    • @28tech_
      @28tech_  Рік тому

      Ko liên thông thì gọi nhiều lần trên mọi thành phần liên thông nha

  • @hanhvu1286
    @hanhvu1286 2 роки тому +1

    em chạy trên c++ thì nó báo lỗi dòng for(int v : adj[u]) là [Error] range-based 'for' loops are not allowed in C++98 mode là sao anh?

    • @28tech_
      @28tech_  2 роки тому +3

      em chạy vs chuẩn C++ 11 trở lên thì nó mới có for each. Vào tool - compiler option - setting - language standard - code generation - gnu c++ 11

  • @nhunghoang5416
    @nhunghoang5416 2 роки тому

    A ơi cho e hỏi với ạ. Trong code của a ko có phần pop đỉnh mà ko có đỉnh kề ấy ạ thì sao đệ quy chạy hết đồ thị đc ạ. E cảm ơn ạ

    • @28tech_
      @28tech_  2 роки тому

      Không hiểu câu hỏi e lắm, có gì em inbox page a hỏi cho kỹ

  • @hoanle2320
    @hoanle2320 2 роки тому

    khử đệ quy đc kh anh ?

    • @28tech_
      @28tech_  2 роки тому

      Được em, sử dụng stack là ok

  • @HoangNguyen-np7pl
    @HoangNguyen-np7pl 3 роки тому

    cho em hỏi mục đích của việc sử dụng stack với ạ, tại em nghĩ nếu như mình xét đỉnh nào chưa thăm thì mình chỉ việc xuất ra thôi ạ, cho nên em còn mơ hồ về việc ứng dụng stack vào lắm ý

    • @28tech_
      @28tech_  3 роки тому +2

      Quan trọng là nó còn có bước backtrack lại e ạ khi 1 đỉnh nào đó ko thể tiếp tục mở rộng

    • @HoangNguyen-np7pl
      @HoangNguyen-np7pl 3 роки тому +1

      @@28tech_ dạ vậy cho em hỏi làm sao để mình biết khi nào mình chuyển đổi qua các dạng biểu diễn đồ thị ạ ? ví dụ như từ danh sách cạnh sang danh sách kề như trong video, liệu em có thể chuyển từ danh sách cạnh sang ma trận kề được không ạ ? hay khi code mình ưu tiên chuyển sang danh sách kề ạ ?

    • @28tech_
      @28tech_  3 роки тому +1

      @@HoangNguyen-np7pl Em chuyển từ kiểu này sang kiểu kia thoải mái nhé, nhưng khi code thì mình sẽ dùng ds kề để độ phức tạp của thuật toán nó tốt hơn, kể cả họ cho ma trận kề hay ds cạnh thì e đều chuyển về ds kề để code.

    • @HoangNguyen-np7pl
      @HoangNguyen-np7pl 3 роки тому

      @@28tech_ dạ vâng em cảm ơn Thầy nhiều ạ

  • @longhuynh4283
    @longhuynh4283 Рік тому

    sao lúc em nhập input của anh là nó ra, mà em nhập input của em là nó cứ enter xuống dòng hoài vậy anh ạ, giúp em với

    • @28tech_
      @28tech_  Рік тому

      Hỏi này hơi khó vì ko biết em code có đúng ko nữa

    • @longhuynh4283
      @longhuynh4283 Рік тому

      @@28tech_ em code đúng rồi anh, em sai cái chỗ nhập input, nhập thiếu ấy anh, kiểu em kiểm nghiệm khi nhập 9 đỉnh 9 cạnh, phải nhập đủ, đối với các bài 4 đỉnh 6 cạnh chẳng hạn, khi mình nhập 4 6 thì chương trình đã chạy ngầm rồi ấy anh, em nhập có 6 cạnh mà nhập 5 cạnh thôi nó không đúng cái ở trên là nó không nhận á

  • @vietnguyen2521
    @vietnguyen2521 2 роки тому

    nếu input dùng ma trận kề thì sao ạ

    • @28tech_
      @28tech_  2 роки тому +1

      thì em chuyển sang ds kề rồi code, hoặc code thẳng trên ma trận kề cũng được, duyệt đỉnh nào đó thì duyệt dòng đó để check đỉnh kề.

  • @tainguyenuc9305
    @tainguyenuc9305 2 роки тому

    Anh ơi nếu yêu cầu bài toán là lấy dữ liệu từ 1 file cho trước thì sao ạ

    • @28tech_
      @28tech_  2 роки тому

      Thì em học đọc ghi file thôi, đọc thì như a nhập ý, khác nahu giữa luồng vào từ file cà bàn phím thôi

    • @tainguyenuc9305
      @tainguyenuc9305 2 роки тому

      @@28tech_ anh nói rõ hơn được không ạ tại cái đoạn chuyển từ ds cạnh sang ds kề mà đọc file thì thế nào ạ

    • @PhongNguyen-dt7vx
      @PhongNguyen-dt7vx 2 роки тому

      @@tainguyenuc9305 Đọc xuất file bạn có thể tham khảo lệnh "freopen" trong c++ nhé, mình thấy dùng này khá tiện

  • @phantrungkien3049
    @phantrungkien3049 3 роки тому

    a giải thích cho e đoạn for(int v : adj[u]) với ạ

    • @28tech_
      @28tech_  3 роки тому

      Đây là for each duyệt từng đỉnh kề với đỉnh u e nhé.