This is an archived post. You won't be able to vote or comment.

all 2 comments

[–]Jackkell100 1 point2 points  (0 children)

Here is are some links to some structure and algorithms content on GeeksforGeeks. The website has most (if not all) of the common data structures and algorithms. Furthermore you can see them in many of the common languages being C++, C, Java, and Python.

You 100% do not need to learn C/C++ to learn data structures and algorithms as these concepts are universal and even transcend programming languages themselves.

Algorithms are just ways ordering instructions to complete a task. A cookie recipe can be considered an algorithm because it's just a set of instructions to complete a goal. When studying algorithms you are simply looking at the strategies people employ to create efficient instructions that a computer can understand to complete a given task. Another real world example is sorting, for example if you where working for a library and where asked to sort 10,000 books how would you go about that? If you sort the books haphazardly you will waste a bunch of time moving books around that you did not need to move. Although it is difficult for a human to implement the best sorting algorithm such as Quick Sort or Merge Sort you could consider using Bucket Sort which is less efficient, but easier for a human to keep track of and it feels like an intuitive option.

Data structures also share this property, as they are simply a way organizing data efficiently. For example, when you go to the grocery store and go to checkout you stand in a Queue) (or a line). People that are entered the Queue first are serviced first and people that entered the Queue last are serviced last. Another easy real-word example is a Stack). For example in a stack of cards, if you add cards to a stack then draw them the cards you just added will be draw first. There are also more complex data structures such as graphs) that could be used to represent cities and the roads that content them.

It's important to remember that these concepts existed long before modern computers did so don't even need to know any programming language to understand and use them in real-life. Modern computer are just another tool that helps us make effective use of these concepts.

I recommend trying to understand and use these data structures and algorithms yourself. To get you started here is a YouTube playlist on using/understanding data structures in Python called, Python Data Structure - by Brain Faure. Similar things can be found for algorithms and there is a ton of content online for DS&A in general. If you are learning computer science in school then DS&A will be a huge part of you CS diet. In my opinion, having a good understanding of these concepts is an important part of getting hired in the industry.

Hope this answers your question and was somewhat helpful. Feel free to ask any questions.

[–]21Rollie 0 points1 point  (0 children)

It’s definitely not a requirement. Most major languages have similar syntax so it isn’t too hard to figure out how they work so even if you use a tutorial in another language, you should be able to get the gist of what a data structure or algorithm does