[Python] DFS Algorithm Understandable Even for Liberal Arts Students! - Introductory Edition
This is a basic DFS lecture that explains the way a liberal arts major and working developer studied to get a job :) We have prepared a lecture where you can learn by solving problems yourself, with minimal boring theory lectures! After taking this lecture, you will be able to solve silver level DFS problems on your own according to Baekjoon standards.
No more boring theory classes! Learn DFS strategy through problem solving!
Select and focus on only the most frequently asked types!
Ability to solve DFS problems on your own
DFS algorithm is more difficult than you think? Learn quickly with frequently appearing question types!
Have you ever thought about this?
🤔
How do I know that I should solve this problem using DFS?
🥲
Even though I know what DFS is, I always feel lost. Is there a common solution?
😥
I can't picture recursive functions in my head. How can I organize them so I can understand them?
For non-majors, from an 8-year developer DFS Algorithm Lecture 🪢
DFS(Depth First Search)
One of the ways to explore the entire graph is an algorithm that prioritizes 'depth'.
This course is an introductory course on the DFS algorithm. It aims to provide hands-on experience with DFS problems by solving the most frequently asked questions . After briefly summarizing key concepts, you'll work through each type of problem to develop the ability to recognize that "this is a DFS problem." This course aims to cover the core concepts that permeate all problems, ultimately conquering DFS.
This lecture will be of great help to those who have studied the DFS algorithm but struggled to understand it or find it difficult to come up with solutions on their own. Created by a liberal arts major with eight years of experience as a developer, this lecture is designed for non-majors, so I promise it will be easier to understand than any other lecture.
I recommend this to these people 🙋
Those who know basic Python grammar but are preparing for a coding test for the first time
People who have tried to solve DFS problems on their own but still can't get the hang of it
People who feel lost when they actually see the problem even after attending the theory lectures
Lecture Features ✨
1. Let's summarize the hints for the DFS problem.
While I was giving lectures, the thing that students often said was, "I didn't know I had to solve it using DFS."
Therefore, in the lecture, we read the presented problem together and find answers to the question, "What keywords should I have used to think of DFS in this problem?"
2. I will show you the data structure that changes as the program progresses.
This course isn't just about using simple diagrams or typing out code to explain things! Animations are used to demonstrate everything from defining data structures to their sizes and initializing them, to how values change step by step to arrive at the right answer.
3. Summarize the core points that run through the problem.
While implementations vary from problem to problem, the common threads among problems requiring the DFS algorithm remain constant. This lecture will outline the key elements for successfully solving DFS problems, organized by type, and provide time to solidify and recap the core concepts for each problem.
After going through this process, you will be able to solve new DFS problems on your own by quickly determining what parts are common and what has changed!
📚We have selected and organized 12 carefully selected problem types.
In this lecture, we've selected 12 of the most frequently solved and most challenging DFS introductory problems (Silver Level 4-2) registered on Baekjoon. We then divide these problems into two subtypes and outline the core concepts required for each. The detailed types and problems are as follows.
Type 1. Find connected elements type
Virus (2606) (Free to Download)
Number of connected elements (11724)
Algorithm Class - Depth-First Search 1 (24479)
Algorithm Class - Depth-First Search 2 (24480)
DFS and BFS (1260)
Degree of kinship calculation (2644)
Finding Parents of a Tree (11725)
Type 2. Finding the same category
Organic Cabbage (1012) (Free Publication)
Infiltration (13565)
Number of islands (4963)
Floor decoration (1388)
Jump King Charlie (Small) (16173)
As much as I know your feelings of helplessness Let me show you an easier way 🚩
Hello :) I started out as a liberal arts student majoring in business/economics, and I am currently working as a developer for 8 years at a large company.
8 years of experience as a developer at a large company
Programmers Platform C++ Introductory Course Instructor
Ellis Platform Algorithm Quiz Chip Live Session and Commentary Production Manager (Python/Java/C++)
When I think back to when I first learned about development eight years ago, it was quite overwhelming and difficult, but by organizing and solving problems with my own strategies and methods, I think I was able to get a job a little faster/better.
Especially if you're a non-major who struggles with coding tests, this lecture, taught by a non-major, will help you understand them more easily. Thank you! :)
A great lecture to watch together 📺
Q&A 💬
Q. Why are the lectures so short?
As an instructor, it would be most advantageous for me to add a lot of problems to create one large lecture and increase the price accordingly. However, considering that the explanations and content required for each level vary, and most of my subscribers/students are job seekers without income, I thought it would be better to break it down into smaller chunks and lower the price. Therefore, I made it shorter and more compact than other courses.
Q. I don't have many problems, but can I still understand DFS?
For the reasons mentioned above, I've divided the course into smaller sections, and following the introductory course, I'm also preparing applied and advanced courses covering Gold and Platinum levels. Therefore, I believe it would be deceptive to say, "This course alone will teach you how to solve all DFS problems!" (After all, studying requires time for independent reflection). However, I can promise you that no other course introduces DFS as easily as this one, and that after completing it, you'll be able to study and understand DFS on your own. Therefore, I can confidently recommend this course to anyone who doesn't need simple solution videos and simply wants to learn how to fish.
Q. There's a solution on YouTube too, isn't it the same?
While the general flow remains the same, due to the nature of YouTube, videos cannot be long, so I omitted most of the additional explanation. Many subscribers asked questions and expressed their disappointment in the comments, and to address this, I created an online course.
I've tried to present everything I know in the simplest, most concise way possible. In fact, the virus and organic cabbage topics are provided free of charge in the relevant lectures and are also available on YouTube. It'll be easier to judge for yourself if you see how the brief summary on YouTube is explained in more detail in this lecture, so please refer to it!
Q. How long does it take to get a response if I ask a question?
Unless something unusual comes up, I'll respond within 24 business hours, and at the latest, within 72 hours. Having taken many online classes, I've found that the faster the instructor responds, the faster the learning pace, making them more effective than offline classes. However, I also know that a slower instructor response time can decrease motivation, so I check comments daily and answer questions!
Q. Are there any questions I shouldn't ask?
As I say in every video, all questions are always welcome. Most likely, other students have the same questions I've had. However, I think establishing a few rules will make it more beneficial for everyone to ask questions.
1. Please leave a question related to the video!
Since each video covers different topics, I think it would be helpful for everyone if you could post your questions on the relevant video so that we can help each other.
2. For life counseling/employment-related questions, please contact us through the mentoring section.
Since answers to these questions can vary depending on each individual's situation, asking them in a more personal manner allows me to provide more accurate guidance. Publicly answering these questions would only yield vague answers, so please leave your questions in the mentoring section and I'll be happy to answer them.
3. Please also submit questions like "Why not?" through the mentoring section.
Sometimes, frustrated, people copy and paste the entire code and ask for help. These questions are unlikely to be helpful to others, and each person's situation is unique. Therefore, if you contact us individually through the Mentoring section, we'll explain what's wrong, why it's wrong, and even how to fix it!
You can use any OS or IDE for your practice environment. I'm writing code using VS Code on Windows 11.
However, if you prepare an environment in advance where you can write code and build/debug, you can take the lectures with ease.
We provide the PPT used in the lecture in PDF format.
This lecture assumes a basic understanding of Python syntax . Those with experience with DFS will find it easier, but for those unfamiliar with DFS, we've included a brief explanation, so don't worry!
Recommended for these people
Who is this course right for?
Coding test/For those who are new to the DFS algorithm
Anyone who has ever had their head explode trying to understand recursive functions
Beginners to coding tests who know grammar but feel infinitely small in front of problems
I understand the concept of DFS, but I am at a loss because I can't come up with a solution when I see a problem.
Anyone who is tired of theory and wants to solve problems together
For those preparing for a coding test using Python
문과생도 이해하는 알고리즘 강의를 가르치는 강사 개발자로 취직하기입니다 :) 저는 문과생 출신으로 현재는 8년차 대기업 개발자입니다. 처음 코딩을 접하고 코딩 테스트 준비를 하던 막막한 시절을 떠올리며, 어떻게 하면 조금 더 쉽게 설명할 수 있을지, 저 같은 비전공자 문과생도 이해하고 새로운 기술을 습득할 수 있을지 고민하며 강의를 제작하고 있습니다. 유튜브 통해서도 무료 강의 진행하고 있으니 많은 관심 부탁 드립니다! https://www.youtube.com/@gaebal
Thanks to this lecture, I was able to clearly learn the concept of DFS. As I look back on the time I spent studying on my own, I feel regret that I didn't have such a great teacher to guide me earlier, and I am grateful that I can learn properly now. This is a very precious lecture. Just looking at how you deliver the lecture step by step and easily, I think you are quite capable, so I think you must be very busy, but I hope you will make more advanced lectures on other algorithm concepts soon!! I will wait eagerly😊😊^_😭 Thank you again for taking the time to create such a high-quality lecture~~!!
This is a high-quality lecture. Now I can finally see how to approach the DFS type a little more clearly. I will review it to make it completely mine! I am really looking forward to the next lecture.
I only solved implementation problems at Bronze difficulty in Baekjoon, but when I tried to challenge the Silver problem, I felt like I couldn't even touch it without learning the algorithm. So I tried various algorithms, but DFS was really hard to get a feel for. I felt like I didn't understand it at all. As those who solve problems know, if I don't completely understand it, I can never make it my own. Then I found this lecture and took the free lecture and it was so good. Thanks to it, I was able to solve all the problems included in the lecture and completely understood them. If it weren't for this lecture, I think I would have spent more time and been stressed out. Thank you.
If there's something I wished for more, it would have been good if you had covered the problems up to the Gold level. There were a lot of similar problems, so it was a little disappointing. That's both an advantage and a disadvantage. It can be an advantage for someone who is a beginner at DFS and wants to get a feel for it, but it can be a little disappointing for someone who has a feel for it. However, I'm so happy that I got a feel for DFS thanks to it. Thank you for making the lecture. Have a nice day!
Hello Junseong :) Thank you for sharing your sincere thoughts in your review. I actually didn't consider the fact that there are many similar problems, so I'll think about it more and add more problems or separate the gold problems and proceed with them. I'll come back with a better class next time!