Improve class exercise on DFS
Opened this issue · 1 comments
learner-long-life commented
Discussion from Zoom
slightly off topic, but since you called it an IDE, I've noticed some people insist it's a 'text editor' and not an IDE... anyone have a take on that?
err since paul mentioned it
Jonah Luteyn to Everyone 10:27 AM
the color code for vscode versioning according to GPT.... Green: Green text indicates lines that have been added to the code since the last commit. These are new lines of code that have been introduced in your working copy of the file.
Red: Red text indicates lines that have been deleted from the code since the last commit. These are lines that have been removed from your working copy of the file.
Yellow (or Gold): Yellow or gold text typically indicates lines that have been modified in some way. These are lines that have been changed since the last commit. It could be code that has been edited or updated.
Lohen Kinsman-Kersting to Everyone 10:27 AM
a text editor doesn't necessarily have functions for programming languages built in. EG Microsoft text editor doesn't highlight and colorcode your text.
An IDE usually has specialized tools that allow you to see and edit the code, and include a compiler so you can run and debug within the same program, unlike a text editor.
Jonah Luteyn to Everyone 10:28 AM
ah ok... so vscode is sorta a hybrid then I guess since it doesn't have it by default but you can add them. at least that's how i'd see it. thanks!
Lohen Kinsman-Kersting to Everyone 10:28 AM
yeah
Jonah Luteyn to Everyone 10:37 AM
you can also do ctl-shift-F in vscode to find and manually replace stuff in case you don't trust vscode to refactor (like me)
looks in the whole dir
You to Everyone 10:40 AM
https://github.com/TheEvergreenStateCollege/upper-division-cs/pull/111
Lohen Kinsman-Kersting to Everyone 10:43 AM
thanks
Jonah Luteyn to Everyone 10:59 AM
he might be deafened as well
Joe Granville to Everyone 10:59 AM
Full heal!
Jonah Luteyn to Everyone 11:00 AM
lol
Jonah Luteyn to Everyone 11:00 AM
maybe use one of these 99 elixers I've been hoarding...nah better save them
Jonah Luteyn to Everyone 11:00 AM
yeah we were trying to tell you xD
Joe Granville to Everyone 11:00 AM
Thanks :smile:
Jonah Eadie to Everyone 11:07 AM
Depth first might be more inefficient than breadth first if the data structure is well-organized?
Lohen Kinsman-Kersting to Everyone 11:10 AM
depth first might not give you a good outline of the data since its a specific branch, while breadth first search gives you an overview that you could make better sorting decisions from as a basis. I dunno.
You to Everyone 11:10 AM
https://visualgo.net/en/dfsbfs
Jonah Eadie to Everyone 11:12 AM
I agree Lohen
Lohen Kinsman-Kersting to Everyone 11:12 AM
maybe its important to know what kinda structure the tree has
Jonah Eadie to Everyone 11:12 AM
Exactly
Joe Granville to Everyone 11:12 AM
Yeah, depth first requires you to finish traversing all your children before visiting your neighbors, so that might prevent you from making certain comparisons depending on what your tree contains/represents
Lohen Kinsman-Kersting to Everyone 11:13 AM
like a structure with deep roots but only a single parent , breath first search wouldn't really apply
but a structure with like 10 grandparents ….
Jonah Eadie to Everyone 11:13 AM
Which you use should really be determined by the organization of the data in the tree
Joe Granville to Everyone 11:13 AM
But sometimes what you want is just any full path, and alternative paths don’t matter much, and that’s where depth first has utility
Lohen Kinsman-Kersting to Everyone 11:14 AM
ok
Jonah Luteyn to Everyone 11:32 AM
i heard heap but not tree more generally... so i guess we could include expression/operation trees, search trees, red/black, etc..
forests
Jonah Eadie to Everyone 11:34 AM
What're your thoughts?
Hash map at least seems really poorly suited for this purpose
Dylana Wagorn to Everyone 11:34 AM
I agree with that
Jonah Eadie to Everyone 11:39 AM
Array and linked lists should have similar implementations -- I'm assuming we would just add visited nodes to the tail of the structure and search it when we need to check if a node in our search has been visited or not
Jonah Luteyn to Everyone 11:43 AM
i++
in Haskell you check if there are children or an empty
Jonah Eadie to Everyone 11:44 AM
Two
Jonah Luteyn 11:47 AM
call the same function on the child as the parent, basically
learner-long-life commented