#Do we use DSAs other than the basics like Strings, Numbers, Lists, Sets and LinkedLists most often?
1 messages · Page 1 of 1 (latest)
Here is an AI assisted attempt to answer your question 🤖. Maybe it helps! In any case, a human is on the way 👍. To continue talking to the AI, you can use </chatgpt:1108714622413963314>.
Yes, in Java, we frequently use data structures and algorithms beyond the basics like Strings, Numbers, Lists, Sets, and LinkedLists. Some other commonly used data structures include arrays, maps (HashMap, TreeMap), queues (PriorityQueue), stacks, trees (BinaryTree, AVL Tree), graphs (Adjacency List/Matrix), and more.
Learning data structures and algorithms is essential for a variety of reasons beyond just acing interviews and improving algorithmic thinking. Understanding how different data structures work and when to use them can greatly impact the efficiency and performance of your code. By choosing the right data structure for your specific problem or task, you can optimize memory usage, improve search and retrieval times, and overall enhance the scalability of your programs.
Additionally, knowledge of data structures and algorithms allows you to solve complex problems more efficiently and elegantly. It enables you to break down challenging problems into smaller subproblems that are easier to tackle using known algorithms or techniques. This can lead to better-designed code that is easier to maintain and expand upon in the future.
Overall, learning data structures and algorithms goes beyond just technical interview preparation; it is a fundamental skill that can help you become a better programmer and problem solver in any Java development scenario.
Ya, certain data structures and algorithms come in handy depending on what you’re building
In systems programming for example, building an efficient key-value store requires data structures like red-black trees or AVL trees
well. it depends on what kind of career u want to do
ive worked in jobs where the task was to develop and analyze new algos or DS
and then also present that in an academic paper and on conferences
if that's sth u want to do, u definetly need to know a lot about dsa
but at some regular backend dev position where ull make spring rest apis... all u need to know is when to use which of the existing DS and that's it
academics, research companies, algo heavy stuff like for example Google maps,... that's where u actually need to employ that dsa knowledge fully
Thanks a lot. Yeah I think it all depends on what I want to do.
You definitely use binary search trees like B+tree In databases. You don't need to implement one, but you must understand how it works to use database indecies effectively.
Thanks @wispy trench I will research more on it.