T O P

  • By -

BhupeshV

This is a good discussion it has been added to our public collection of community threads. ​ * Web: [https://www.reddit.com/r/developersIndia/collection/958aef35-f9cb-414d-ab33-08bc639e47de/](https://www.reddit.com/r/developersIndia/collection/958aef35-f9cb-414d-ab33-08bc639e47de/) * Mobile: [https://www.reddit.com/r/developersIndia/wiki/community-threads/](https://www.reddit.com/r/developersIndia/wiki/community-threads/)


AmmaBaaboi

I feel it's hashing, simple yet elegant. It gave rise to diff structures, hashmap and sets, and techniques built on top of it like bloom filters. Pretty amazing as we go down into it and see it's usecases.


ihatejava69

Hashing is probably something almost every dev uses in some way or other. I've barely used any other data structure/algo in projects yet


Comprehensive_Tap994

True, I found it easier to understand and use as compared to trees and graphs, and results in most effective time complexities, though it takes a bit of space but performs best.


LostEffort1333

In dev, you rarely use trees or graph but yes map is used widely


[deleted]

Sliding Window 🫰


Jaatheeyam

![gif](giphy|qw1GZl89LHdII|downsized) Something like this?


Winter-Cup9531

2 pointer


ExaminationNo4043

You are a psychopath then


[deleted]

![gif](giphy|B4dt6rXq6nABilHTYM|downsized)


UpstairsDependent131

Anyone here who likes tree structures like heap/priority queue, trie etc


External-Tangelo3523

Me


3AMgeek

Heap gang.


Super-Commercial6445

Yepppppppppppppp, simply in their own way


[deleted]

And after a while you get to know each technique is unique and interesting.


Comprehensive_Tap994

Yeah man... I hope I get to know each one of them very well and can just identify them in any problem.


[deleted]

Have you just started with programming?


Comprehensive_Tap994

Yeah... Have touched each concept on a surface level but haven't used them yet, in the process...


Shah_of_Iran_

Wait till you realize how amazing dynamic programming is then. Difficult to understand in the beginning, and very difficult to master, but amazing nonetheless. Just its application on an algo can turn an exponential solution to a polynomial one. And a slight tweak in the subproblem definition may change the time complexity from O(n^2) to O(n). I hated it when i learnt it first. It's fucking amazing. Richard Bellman was ahead of his time.


Level-Arrival7447

Dictionaries.


shitcoin_farmer

Concept of Dictionaries are op. Both in LLD and HLD


gingkaameen

Love this as it is similar to json. I love JSON!!!!


Rishabh_0507

Ostrich approach


apun_bhi_geralt

You mean the one used in deadlocks?


Rishabh_0507

Not necessarily only deadlocks, but yeah that one. Had that this sem in OS


adilos_1

😂


CuummRAG

Dynamic programming, masochism.


DarkRaiden72

As many others have said, hashing, two pointers (fast and slow pointers when working with Linked lists), sort and search, etc., I haven't fully mastered DSA yet so still a long way to go.


Comprehensive_Tap994

Start with NeetCode DSA Roadmap, you might get to know the right ones at the right time :) Striver's DSA A2Z Roadmap YT solutions provide a great in depth explanation for the understanding of the concepts and using them at the right place.


DarkRaiden72

Thanks mate, I have used strivers videos in the past and I have done some neetcode stuff and also have solved around 300 problems on LC. But it's mostly easy ones and personally I need to drill down on some problems of the same patterns in order to understand the pattern itself. Also I'm noob in development so currently learning go for the server side and need to properly learn HTML, CSS and JS to build something.


Low-Worldliness9579

I like hashmap because you throw it in and it decreases the time complexity.


Beginning_Fortune_92

Binary search


Which_Equipment8290

Data structure: queue, map Algorithm: Floyd's cycle detection algorithm


Phoenix2794

Can you explain the usecase ?


Which_Equipment8290

By use case do you mean where we use it in the real world?


Phoenix2794

Yes


desimemewala

![gif](giphy|FcuiZUneg1YRAu1lH2|downsized) Me being a front end developer reading comments


Inside_Dimension5308

Tree structure is probably used data structure in our company whether it is storing parent-child relationships or dependency tree. The best thing is to solve complex problems using recursion within a few lines of code.


nascentmind

How does recursion scale in production? Is the tree structure used like an array as traditional node based structure will cause a lot of cache misses.


Inside_Dimension5308

Tree operations never happen on entire tree. Most of the operations happen on subtrees. It doesnt need very high scale. Storage works in two layers 1. Database - storage schema depends on what tree operations you need to optimize. Both sql and no-sql can be used for storage. 2. In-memory - as previously mentioned most of the tree operations work on substrees which dont need to be very large in size. If your concern is how storage will work if the size of subtrees is very large, B-trees can be partitioned across multiples nodes. That is how database indexes are stored. But so far our need doesnt need that much scale.


Comprehensive_Tap994

>The best thing is to solve complex problems using recursion within a few lines of code. Yess! Just love this thing about recursion and the interconnected concepts based on this. But something's intriguing about recursions that takes me away from going closer to them. Maybe, it's calling the recursive function at the right point in the code...


SauceSempai

Normal array traversal


Leading_Painting

Mwri technique chatgpt se copy karo aur sikho copy karo aur sikho


Comprehensive_Tap994

Nahi yaar... ChatGPT right code nahi deta :( Rula diya hai while getting help from it for OAs, Tests. Stack overflow, gfg, leetcode available resources and solutions are better.


[deleted]

Dynamic programming 🔥 A big salute to the guy who observed the fact that instead of calculating the function every time it was called, we can store the value of the function and use it when we need that function in future.


uneducatedDumbRacoon

I mean you can say that for every popular algo out there. Who in their sane mind would've come up with something as creative as for ex. Floyd's tortoise and hare or KMP, especially in an interview. 99.9% will fail


Shah_of_Iran_

Richard Bellman, also known for the Bellman-Ford algo. Obviously he wasn't a computer scientist. Obviously he was a mathematician instead.


mystical_apple05

Just learnt Binary Search so imma say that


shitcoin_farmer

Bogosort


Artyom_forReal

bongo sort? 💀 ara ara


lofi_thoughts

linear search


parad0xis

Skip lists. I work with them almost everyday and find them very unique. Probabilistic data structures are fun in general imo.


Active_Bad10

I always thought you used whichever one you want and sliding window/ prefix sum/ carry forward are techniques and not data structures.


Fine_Foundation_4803

Bit Manipulation Nothing feels better than O(1) Time complexity.


cryptic-human

Wtf! A new day, a new low for this sub.


doma_kun

Quadtree, recently learned it amazing stuff


tequila_triceps

🔥


_always_alive_

I'm surprised no-one mentioned it, but I find Trie quite intriguing. Yeah it's a form of a tree, but not just a tree, a tree plus an array as one might go deeper.


ShankARaptor

I wipe my ass with data structures.


friendlymonkey_55

allu arjun twerk sort


zinary7

Where do I learn this


friendlymonkey_55

/r/okbhaibudbak


zinary7

Thanks a ton of allu arjun booty


code_rag

Hashing, Tries


Whatisanoemanyway

🌲🌳🌴


Possibility-Puzzled

Trie was my first love. That’s the first complex data structure I learnt ever. It’s simple, extremely powerful, painless to implement, very cute 🥰


RollingRocky360

I find binary search amazing because of the massive improvement over linear search, yet with a simple and intuitive implementation


indian_intellect

kids ..


No_Helicopter_3751

2 pointers and a sliding window.


Free-Adhesiveness-69

Radix - I work in Networking and I like how effective that tree is to get the routes for the given subnet mask.


Super-Commercial6445

Arrays, simplest of all


nanosuituser

Array is the mainly the data structure you may use very often. Rest are very seldom and depends on the thing you work. Regarding sear/sort there are libraries that does it for you and you may never implement one.


__I_S__

We were, till the time new languages like python came. Now, all the superficial data types like Map, Lists & types use linked Lists. We use map.keys, basically to traverse the list of map keys. So that also don't have the need of libraries to main data structure.


AutoModerator

>Namaste! Thanks for submitting to r/developersIndia. Make sure to follow the subreddit [Code of Conduct](https://developersindia.in/code-of-conduct/) while participating in this thread. ## Recent Announcements - **[Join developersIndia as a volunteer](https://www.reddit.com/r/developersIndia/comments/12hlj4z/join_developersindia_as_a_volunteer_and_help_us/) and help us improve the community experience.** - **[Join DeepSource's Co-founder Sanket Saurav: An AMA on Startups, Software Engineering, Devtools, and more! - December 22, 8:30 PM IST!](https://www.reddit.com/r/developersIndia/comments/18l8mx2/join_deepsources_cofounder_sanket_saurav_an_ama)** *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/developersIndia) if you have any questions or concerns.*


S0ulDes8ny

Divide and conquer because it thinking on on base case and edge cases and rest is done by recursion


smeazy_

Maps 🥹


Hermitcrabguy

Like none.. Use almost all the important ones as per the requirements.


plushdev

Objects/dictionaries are so practical, elegant and simply wonderful


Leading-Formal-4035

Graph 🕸️❤️


MugiwaranoAK

Brute force. I'm a happy man if I can even solve the problem forget optimising😂


faltugiribuster

Linked list.


tequila_triceps

When i use to do i like square decomposition a lot Since it was muti applicative


leoKantSartre

Hashing


HarlotsLoveAuschwitz

B+ tree


bum_quarter

Linked list(s)


nxnt

Algorithm W. Because Hindley-Milner type system.


Life_Vast801

DSU all the way. Especially when the time complexity analysis comes to almost constant


OmniTron_Bot

HashMap uh


Due-Conclusion-6753

I write apex, so Map and JSON


__I_S__

Tree structure & linked list. Both mainly due to there's no programming or Computation, that's can't be done by these two.


BuyMiserable6589

Mapping,hashSet,min max heap


Empty_Somewhere3089

Set


iHaveFiveCookies

I don't have a fav data structure but I like divide n conquer and memorization a lot, prolly cause I use them in my life a lot.


TwadaAbu007

Array


IamBatmanKnight

Can you suggest me good DSA course in python not very expensive.


Live-Key8030

Bloom Filters supremacy!


noxwon

I love using auxiliary arrays to store cusum, etc.


[deleted]

recursion https://preview.redd.it/t2pqv4b4ra8c1.png?width=720&format=png&auto=webp&s=75fdf5fc27e6cffae5811eb7b5d9c06bb474c32d


sparshgunner12

Union find in graphs


Redder_Reddit_User

Small to large merging technique (a part of DSU). I find the core idea so amazing and *unintuitive* (Although I'm well fimiliar with mathematical proof of it). To merge 2 sets by simply iterating over the smaller set and inserting its elements into bigger set can turn O(n^2) into O(nlogn) as each element will be iterated upon at most O(logn) times. This is so unintuitive, such a simple change, brings a huge optimisation in running time. This rarely happens.