![[파이썬/Python] 문과생도 이해하는 DFS 알고리즘! - 입문편Course Thumbnail](https://cdn.inflearn.com/public/courses/331842/cover/bc65732d-d4df-4d03-b804-625dbd6b1a83/331842-eng.png?w=420)
[파이썬/Python] 문과생도 이해하는 DFS 알고리즘! - 입문편
개발자로 취직하기
문과 출신의 현업 개발자가 취업하기 위해 공부한 방식 그대로 설명하는 기초 DFS 강의입니다 :) 지루한 이론 강의는 최소한으로 줄이고, 직접 문제를 풀어보며 배우는 강의를 준비했습니다! 이 강의를 들으시면 백준 기준으로 실버 등급의 DFS 문제들을 혼자 풀 수 있게 될 겁니다.
Basic
dfs, 알고리즘, 코딩 테스트
Đây là bài giảng DFS cơ bản giải thích cách một nhà phát triển đang làm việc có bằng nghệ thuật tự do nghiên cứu để có được việc làm :) Chúng tôi đã giảm thiểu các bài giảng lý thuyết nhàm chán đến mức tối thiểu và chuẩn bị một bài giảng trong đó bạn học bằng cách tự giải quyết vấn đề! Nếu bạn tham gia bài giảng này, bạn sẽ có thể tự mình giải quyết các vấn đề DFS cấp bạc.
Không còn những giờ học lý thuyết nhàm chán! Chiến lược DFS học được thông qua việc giải quyết vấn đề!
Chọn và chỉ tập trung vào những câu hỏi thường gặp nhất!
Khả năng giải quyết các vấn đề DFS một cách độc lập
Thuật toán DFS khó hơn bạn nghĩ.
Học với các bài toán có tần suất cao 💡
🤔 Làm sao tôi biết mình nên giải quyết vấn đề này bằng DFS?
🥲 Mặc dù tôi biết DFS là gì, nhưng tôi vẫn luôn cảm thấy bối rối. Có giải pháp chung nào không?
🫠 Tôi không thể hình dung được các hàm đệ quy trong đầu. Làm thế nào tôi có thể sắp xếp chúng để hiểu được?
DFS (Tìm kiếm theo chiều sâu) là một trong những phương pháp khám phá toàn bộ đồ thị và là thuật toán ưu tiên 'chiều sâu'.
Bài giảng này là bài giảng giới thiệu về thuật toán DFS. Mục tiêu là cung cấp kinh nghiệm thực tế về các bài toán DFS bằng cách giải quyết những bài toán thường gặp nhất . Sau khi tóm tắt ngắn gọn các khái niệm chính, chúng ta sẽ giải quyết từng loại bài toán để phát triển quan điểm nhận diện "bài toán này là bài toán DFS" và bao quát cốt lõi xuyên suốt tất cả các bài toán. Đây là bài giảng được tạo ra để chinh phục DFS :D
Bài giảng này sẽ rất hữu ích cho những ai đã nghiên cứu thuật toán DFS nhưng gặp khó khăn trong việc hiểu hoặc tự tìm ra giải pháp. Được biên soạn bởi một sinh viên chuyên ngành khoa học xã hội nhân văn với tám năm kinh nghiệm làm lập trình viên, bài giảng này được thiết kế dành cho người không chuyên, vì vậy tôi đảm bảo nó sẽ dễ hiểu hơn bất kỳ bài giảng nào khác. Dưới đây là một số bình luận trên kênh YouTube của tôi.
Những người biết ngữ pháp Java cơ bản nhưng đang chuẩn bị cho bài kiểm tra mã hóa lần đầu tiên
Những người đã cố gắng tự giải quyết các vấn đề DFS nhưng vẫn không thể hiểu được
Những người cảm thấy lạc lõng khi họ thực sự nhìn thấy vấn đề ngay cả sau khi tham dự các bài giảng lý thuyết
Một bình luận phổ biến mà sinh viên đưa ra trong các bài giảng của tôi là: "Em không biết mình phải giải bài này bằng DFS". Vì vậy, tôi bắt đầu bằng cách cùng họ đọc bài toán và trả lời câu hỏi: "Những từ khóa nào sẽ dẫn em đến DFS trong bài toán này?"
Khóa học này không nhằm mục đích thay thế lời giải thích bằng hình ảnh đơn giản hoặc chỉ giải thích mọi thứ bằng từ ngữ và mã!
Chúng tôi sẽ sử dụng hình ảnh động để chỉ cho bạn mọi thứ, từ cách xác định và khởi tạo cấu trúc dữ liệu cho đến cách các giá trị thay đổi từng bước để tìm ra câu trả lời đúng.
Mặc dù cách triển khai khác nhau tùy theo từng bài toán, nhưng những điểm chung giữa các bài toán đòi hỏi thuật toán DFS vẫn không thay đổi. Bài giảng này sẽ phác thảo các yếu tố chính để giải quyết thành công các bài toán DFS, được sắp xếp theo từng loại, đồng thời dành thời gian để củng cố và tóm tắt lại các khái niệm cốt lõi cho từng bài toán.
Sau khi trải qua quá trình này, bạn sẽ có thể tự mình giải quyết các vấn đề DFS mới bằng cách nhanh chóng xác định những phần nào là chung và những phần nào đã thay đổi!
Trong bài giảng này, chúng tôi đã chọn ra 12 bài toán nhập môn DFS thường gặp và khó nhất (từ cấp độ Bạc 4 đến 2) được đăng tải trên Baekjoon. Sau đó, chúng tôi chia các bài toán này thành hai phân nhóm và tóm tắt các khái niệm cốt lõi cần thiết cho từng phân nhóm. Các phân nhóm và bài toán chi tiết như sau.
Loại 1. Tìm các phần tử được kết nối
Loại 2. Tìm cùng một danh mục
H. Tại sao các bài giảng lại ngắn như vậy?
Với tư cách là một giảng viên, tôi thấy việc thêm nhiều bài tập để tạo thành một bài giảng lớn và tăng giá tương ứng sẽ có lợi hơn cho tôi. Tuy nhiên, xét đến việc nội dung và giải thích yêu cầu cho mỗi cấp độ khác nhau, và hầu hết người đăng ký/học viên của tôi đều là người đi làm không có thu nhập, tôi nghĩ tốt hơn nên chia nhỏ bài học thành nhiều phần nhỏ hơn và giảm giá. Vì vậy, tôi đã rút gọn và cô đọng hơn các khóa học khác.
H. Tôi không gặp nhiều vấn đề, nhưng tôi vẫn có thể hiểu DFS chứ?
Vì những lý do đã nêu ở trên, tôi đã chia khóa học thành các phần nhỏ hơn, và sau khóa học nhập môn, tôi cũng đang chuẩn bị các khóa học ứng dụng và nâng cao, bao gồm các cấp độ Vàng và Bạch kim. Vì vậy, tôi tin rằng sẽ là sai lầm nếu nói rằng "Chỉ riêng khóa học này thôi cũng đủ để bạn giải quyết mọi bài toán DFS!" (Suy cho cùng, việc học tập đòi hỏi thời gian để tự suy ngẫm). Tuy nhiên, tôi có thể đảm bảo rằng không có khóa học nào khác giới thiệu DFS dễ dàng như khóa học này, và sau khi hoàn thành, bạn sẽ có thể tự học và hiểu DFS. Vì vậy, tôi có thể tự tin giới thiệu khóa học này cho bất kỳ ai không cần video hướng dẫn giải bài toán đơn giản mà chỉ muốn học cách câu cá.
H. Trên YouTube cũng có giải pháp tương tự phải không?
Mặc dù mạch nội dung chung vẫn giữ nguyên, nhưng do đặc thù của YouTube, video không được dài, nên tôi đã lược bỏ hầu hết phần giải thích bổ sung. Nhiều người đăng ký đã đặt câu hỏi và bày tỏ sự thất vọng trong phần bình luận, và để giải quyết vấn đề này, tôi đã tạo một khóa học trực tuyến.
Tôi đã cố gắng trình bày mọi thứ tôi biết một cách đơn giản và súc tích nhất có thể. Thực tế, các chủ đề về virus và bắp cải hữu cơ được cung cấp miễn phí trong các bài giảng liên quan và cũng có sẵn trên YouTube. Bạn sẽ dễ dàng tự đánh giá hơn nếu xem phần tóm tắt ngắn gọn trên YouTube được giải thích chi tiết hơn trong bài giảng này, vì vậy hãy tham khảo nhé!
H. Phải mất bao lâu để nhận được phản hồi khi tôi đặt câu hỏi?
Trừ khi có vấn đề gì bất thường, tôi sẽ phản hồi trong vòng 24 giờ làm việc, và chậm nhất là 72 giờ. Sau khi tham gia nhiều lớp học trực tuyến, tôi nhận thấy rằng giảng viên phản hồi càng nhanh thì tốc độ học càng nhanh, hiệu quả hơn so với lớp học trực tiếp. Tuy nhiên, tôi cũng biết rằng thời gian phản hồi của giảng viên chậm hơn có thể làm giảm động lực học tập, vì vậy tôi sẽ kiểm tra bình luận hàng ngày và trả lời câu hỏi!
H. Có câu hỏi nào tôi không nên hỏi không?
Như tôi đã nói trong mọi video, mọi câu hỏi đều luôn được hoan nghênh. Nhiều khả năng các học viên khác cũng có những câu hỏi tương tự như tôi. Tuy nhiên, tôi nghĩ việc thiết lập một vài quy tắc sẽ giúp mọi người đặt câu hỏi dễ dàng hơn.
1. Vui lòng để lại câu hỏi liên quan đến video!
2. Đối với các câu hỏi liên quan đến tư vấn cuộc sống/việc làm, vui lòng liên hệ với chúng tôi qua mục cố vấn.
3. Vui lòng gửi thêm những câu hỏi như "Tại sao không?" thông qua phần cố vấn.
Xin chào :) Tôi bắt đầu là một sinh viên khoa học xã hội nhân văn chuyên ngành kinh doanh và kinh tế, và giờ tôi đã làm việc với tư cách là một lập trình viên được tám năm tại một tập đoàn lớn. Nghĩ lại thời điểm tôi mới bắt đầu học lập trình cách đây tám năm, tôi cảm thấy thật choáng ngợp và thử thách. Tuy nhiên, bằng cách tự mình sắp xếp và giải quyết vấn đề, cũng như phát triển các chiến lược riêng, tôi nghĩ mình đã tìm được việc làm nhanh hơn và thành công hơn một chút. Đặc biệt, với những người không chuyên đang gặp khó khăn với các bài kiểm tra lập trình, bài giảng này, do một người không chuyên giảng dạy, sẽ giúp bạn dễ hiểu hơn. Cảm ơn sự ủng hộ của các bạn! :)
Khóa học này dành cho ai?
Những người mới làm quen với thử nghiệm mã hóa/thuật toán DFS
Bất cứ ai từng đau đầu khi cố gắng hiểu hàm đệ quy
Tôi là người mới bắt đầu làm bài kiểm tra viết mã, biết ngữ pháp nhưng cảm thấy nhỏ bé hơn rất nhiều khi gặp vấn đề.
Những người hiểu khái niệm DFS nhưng lại bối rối vì không thể nghĩ ra giải pháp khi nhìn vào vấn đề
Những người mệt mỏi với lý thuyết và muốn cùng nhau giải quyết vấn đề
Bất kỳ ai đang chuẩn bị cho bài kiểm tra viết mã bằng Java
Cần biết trước khi bắt đầu?
Ngữ pháp cơ bản của Java (câu lệnh điều kiện, câu lệnh vòng lặp, câu lệnh đầu vào/đầu ra, v.v.)
565
Học viên
53
Đánh giá
75
Trả lời
5.0
Xếp hạng
2
Các khóa học
문과생도 이해하는 알고리즘 강의를 가르치는 강사 개발자로 취직하기입니다 :)
저는 문과생 출신으로 현재는 8년차 대기업 개발자입니다. 처음 코딩을 접하고 코딩 테스트 준비를 하던 막막한 시절을 떠올리며, 어떻게 하면 조금 더 쉽게 설명할 수 있을지, 저 같은 비전공자 문과생도 이해하고 새로운 기술을 습득할 수 있을지 고민하며 강의를 제작하고 있습니다.
유튜브 통해서도 무료 강의 진행하고 있으니 많은 관심 부탁 드립니다!
https://www.youtube.com/@gaebal
Tất cả
19 bài giảng ∙ (3giờ 49phút)
Tài liệu khóa học:
Tất cả
39 đánh giá
5.0
39 đánh giá
Đánh giá 15
∙
Đánh giá trung bình 5.0
5
코테 공부를 하고 있었는데 DFS, BFS 에서 막히더라구요 이해가 잘 안되고 어려웠거든요, 그나마 BFS 는 이해가 가는데 DFS는 너무 어려웠는데 혈이 뚫리는 것 같습니다!! 양질의 강의를 싸게 해주셔서 감사합니다. 혹시 다른 알고리즘 예를들어 BFS 나 DP나 촬영하실 계획은 없으신가요?? 제발 내주세요 강사님!!!
혈이 뚫릴 정도였다니 감사합니다 eovnfjfpa님 :) 저도 강의를 제발 내고 싶은데 요즘 나름의 새로운 도전을 하느라 많이 늦어지고 있네요 ㅠㅠ 얼른 준비해보겠습니다! 알고리즘/코테 꼭 정복하세요!!
Ưu đãi có thời hạn
17.330 ₫
24%
508.201 ₫
Hãy khám phá các khóa học khác của giảng viên!
Khám phá các khóa học khác trong cùng lĩnh vực!