TheEvergreenStateCollege/upper-division-cs-23-24

Improve class exercise on DFS

Opened this issue · 1 comments

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