10 Key Data Structures We Use Every Day
HTML-код
- Опубликовано: 2 июн 2024
- Get a Free System Design PDF with 158 pages by subscribing to our weekly newsletter.: blog.bytebytego.com
Animation tools: Adobe Illustrator and After Effects.
Checkout our bestselling System Design Interview books:
Volume 1: amzn.to/3Ou7gkd
Volume 2: amzn.to/3HqGozy
The digital version of System Design Interview books: bit.ly/3mlDSk9
ABOUT US:
Covering topics and trends in large-scale system design, from the authors of the best-selling System Design Interview series.
Hands down the best software development channel on RUclips.
One of the best channels!! Your videos are super helpful to me as a data engineer. Love those illustrations - detailed enough to help people understand and concise enough to help build mental models and remember these concepts. Thank you!
Your content is very concise and clean. Especially your architecture diagrams are very clean and uncluttered..
Thanks! Love all the real-world examples.
Your presentation and ability to explain are exceptional. Your videos would really have helped me out when I was a CS student.
Awesome production and informative content, as usual!
great video. The infographics are some of the best I have seen in a learning video. Just a couple points about Data Structures. I am not a programmer but I like to learn about concepts as I work in the tech field. I watched a much longer video on Data Structures (it was 8 hours!), but taught like a math course with a marker board it made it hard to follow and when finished I was still confused with understanding the foundation of data structures but then how to implement (they didn't even include examples in the long video of coding/coding syntax), so that i something that should be emphasized more and also adding in the beginning a basic overview of data structures vs data types.
Hi can you please paste the video link here? I would like to check out this 8hrs long tutorial you mentioned
same here
WOW THE ANIMATION QUALITY IS AWESOME!
This is one of the best videos i saw on programming
Major points as always for diagram design.
I am a newbie to Python coding since December. I had a project which I knew I could achieve as in the past, with excel and mysql, however, knowing that I would be repeating the task (converting and merging pdf data to mysql data) I decided to use gpt to learn how to make little modules running what i was doing manually.
5 months later and I don't think I could briefly enough sum up what I now have running in place of my manual steps in the past. An absolute evolution for me.
Seeing this video was perfect - I could recognise what I have been building, in these terms, the language core of programming.
I rejected learning to code for the last 14 years - its not my area, I am more into data analysis to give me a real dirty view yet different to the customer, enabling me to suggest, design and aid a developer to implement as optimization to operation process, be it creating a web based tool to manage data in place of excel or automation tools to process data according to requirements of desk level users to speed up their days, as too crucially, ensure better and better data integrity for downstream teams.
I always had to rely on someone with the skills, to get me the data into excel. And this was fine, I always had someone for this.
Then I learned SQL as a new project came along which was the biggest I ever had and there was no support to do what I needed.
Evolution number 1.
Then to output data to a web page - I had support again but time was limited so I needed to better than ever, communicate the use case, program need, requirements, exact data in/out processing, down to the list contents and button actions and general UI layout and functionailty. It heled me to understand PHP more to get the clearest direction to the developer at hand.
That meant I was the closest I have been to development even if before I was closer than most around me.
I started to see what is under the hood and it felt like adult lego! And since December, with gpt, it has felt so much more applicable for my pace and speed and concepts, I truly feel I am learning at least something but for 100% I am more productive than my usual pace.
Learning while doing however, misses things like this what you shared in this video. I am glad I saw it now as it gives me some essence of what I have put together and where I could adjust to attain the function output respective to the function action its self, by having this awareness of what is more suitable approach to data processing and storing. I don't know the terminology, and don't need to while using gpt and spyder to build my program. However, now having seen this, I am certain its something which is must know information and in the format shared by you, it hits the spot at my pace and is totally relevant to that what I have experienced and at this phase, is totally going to direct me going forward as my first bit of base knowledge outside of gpt, about coding.
Subscribed and going to check out more! Thank you! It really was almost enlightening to watch your video :D Have loved everything I am doing and learning so far, with no one really to share the excitement with let alone the tech part of mini successes in achieving something which gpt said I would need an experienced programmer to help resolve or how gpt can't do x y z - little eureka moments and so forth.... so to hear something I can relate to and understand, its just great :) Thank you!
I am extremely dyslexic, and I have now been given the power to code like I have never done before. The world will change my friend. =]
01:06 Lists are versatile and essential data structures in software development.
02:12 Arrays provide a fixed-size order collection of elements.
03:18 Data structures like stacks, queues, and heaps have various everyday applications.
04:24 Trees and hash tables are essential data structures for efficient data organization and retrieval.
05:30 Data structures like hash tables, suffix trees, and graphs are essential in search engines, caching systems, and programming language interpreters.
06:36 Key data structures are essential for search, tracking relationships, and finding paths.
07:42 Data structures have varying levels of cache friendliness based on memory storage
08:43 Choosing appropriate data structures is crucial for performance
Absolutely amazing video, the explanation is clear and concise and the graphics are top notch, I really appreciate all your work :)
I would have missed but clicked it anyway.i AM fully stasticfied how you explain. Thank you and left sub and like.
Great content! Much appreciated.
Very concise and easy to understand. Thank you.
Amazing! great delivery.
Thank you for the video! Nicely explained!
Thank you! So many professors say to learn it but never explain why
The stack data structure is mostly used as a call stack. Every time a function/method is called, the return address (and parameters) are pushed to the call stack and popped when a function/method finishes.
One of the best video of data structure.
Love your teaching Anna
Great content! Thank you very much!
Funny how one sometimes just accidentally stumbles over a quite big and successful channel, you never heard of before 🤔😯
Great presentation and nice and clear language, thank you! 🙂
After many years of search to understand the real time application of data structure, now found it in a single video !!!
i m big fan of ur videos. thanks💯
Thanks for the video!
simply excellent👍
amazing video as always. Keep it up ! ^^
Thank you so much , the video is very interesting . Hope you will make more video !
Thank you for making this video
Hi, Request you to please do a video on CRDT (Conflict-free Replicated Data Type).
楼主的英文讲的真不错
Wonderful
Thank you 🙏🏼
Thanks for sharing! Anyone know which tool can make such amazing diagram animation? thx!!
amazing video= short, sweet and crisp. :)
Thank you.
Keep making these videos please
Well Done (:💫
wow that was great
Arrays are a specialization of hash tables. Hash tables are a specialization of graphs. Linked lists are specialization of graphs. Everything is a graph. Its graphs all the way down.
Our modern concepts and technology are very inherent.
I really want to buy the volume 2 of your book but kindle version is not available, is there any plans for kindle version of this ?
Incredible animations!
They help understand the topics very well
How do you make these beautiful technical animations?
Nice.
It may be nicer if through the video you put the name of the structure on screen to "prompt" the person watching the name.
too good :)
i like how you show data struct applications in real world. college teachers just us lets do imagination.
heap data structure for memory management ? is this correct ?
Great!
stacks and queues are not exactly data structures, but rather interfaces: they do not imply any particular memory layout (they can be array, list, hashmap of lists, and lists of heaps), however they imply operations and some properties of those operations. graph is also not exactly a data structure, it's based on sparse matrices, that can be implemented in several ways.
somehow, there is much confusion between interfaces/type classes, data types, and data structures
They are "Abstract Data Types", not Data-Structures technically, a small but important difference
@@KhalilSawant i'd say, data types are not data structures by any means. former consist of arrays & structs, latter are a programming language & math concept. there is a large gap in between them -- a compiler.
If you look in any data structure book, including ones from 50~60 years ago, you will find them.
More over, if we apply your definition *"they do not imply any particular memory layout"* to figure out what is and isn't a data structure, we lose a lot more than just stacks and queues.
We lose all trees, heaps, hashmaps and more.
@@khatdubell it sort of makes sense, there is no hard rule to distinguish data structures from interfaces and types. you can always subdivide a big struct into several sub-structs behind references, so memory layout consistency is not an ultimate way to decide. practically, this doesn't make much sense though. for example, as far as i know, there is only one correct way to implement, say, a binary tree: you make a "Node" struct, that contains a value/reference to the value and references to child Nodes. like that's it, you could make some variations, like storing a reference to a parent Node, or storing more than one level of a tree in a single struct, but you probably cannot go any further.
i would still disagree that stacks and queues are data structures in the common sense. as files and streams, they are just a useful abstraction. they have a very limited application: ones are for recursion, others are for threading/asynchronous programming; outside of those domains they are, basically, non-existent.
@@Daniel_Zhu_a6f binary trees can be trivially implemented using contiguous storage such as an array.
And while I can’t rattle any off the top of my head I know somewhere in the back of it such an implementation is used for something.
amazing editing and production quality, can you share how and which application for such smooth infographic? pls, subscribed and happy following
Animation tools: Adobe Illustrator and After Effects.
Nice
The only structure i tend to use a lot are arrays, then hashes and all the rest are occasionally required.
Don't forget the superior Suffix Array - shout out to my former Prof. Stefan Kurtz
🎯
This video was recommended to me while I'm designing a skill tree for a fantasy rpg.
How do you make your animations? I wanna learn that
See the description.
I have a bit of a problem with the description of a list here.
Its using examples of the _common usage_ of the word list in a technical description of the data structure _list_.
There is no guarantee a shopping list is going to be implemented as a list.
Frankly, i'd be shocked if it were, it would probably be a vector.
Nice video, neatly summarized with real world examples
Can anybody tell me the source of graphics used in the video? Is it a graphica team or is there some tool to make it?
I see many data structures masters explaining their topics on twitter, it's said that musk changed its brand to X, that's crazy
Lists these days are rarely "linked lists".. since the "array list" implementation is more efficient for most use cases.
If you does not bother to answer, how do you make this awesome the animations?
Description says adobe illustrator and after effects
To understand a given data structure, you need to understand the algorithms used to access it.
3:14 "Trees organize data _hiarachlychly_ "
"10 key data structures that provide value in our every day life"
The video would be better if it had the name of the data structure on screen with each example.
I'd like to think data structures are code optimizations rather than strictly necessary. app is slowing down? use a data structure.
trees are technically graphs..
Whats the difference between queue and list
A queue is a list that can be manipulated only at the ends. An addition to a queue goes onto the tail. A removal from a queue happens only from the head. When you get in line at a checkout counter, you go behind everyone who's already there. You're at the tail. When everyone ahead of you has finished, you are at the head and are the next one to get serviced.
no skiplist, i guess
Dictionary ?
I am missing Map/Dictionary. Where is it?
❤️🔥
👌👌🙏
Extra useful as layoffs hit.
Oof
Hello 60p
Dude just gave you 1 year of a CS degree in ~10min.
No one else laughed at hierarchkikly?
Not lists…linked lists
who's here in 2024
Dude what you get posting this shitty comment
Yup, here to fix the A* custom heap engine of the game Nebuchadnezzar
我悟了
Hi, can you employ me?
You may wanna find their email and mail them
Omg
13 And no man hath ascended up to heaven, but he that came down from heaven, even the Son of man which is in heaven.
14 And as Moses lifted up the serpent in the wilderness, even so must the Son of man be lifted up:
15 That whosoever believeth in him should not perish, but have eternal life.
16 For God so loved the world, that he gave his only begotten Son, that whosoever believeth in him should not perish, but have everlasting life.
17 For God sent not his Son into the world to condemn the world; but that the world through him might be saved.
18 He that believeth on him is not condemned: but he that believeth not is condemned already, because he hath not believed in the name of the only begotten Son of God.
19 And this is the condemnation, that light is come into the world, and men loved darkness rather than light, because their deeds were evil.
20 For every one that doeth evil hateth the light, neither cometh to the light, lest his deeds should be reproved.
21 But he that doeth truth cometh to the light, that his deeds may be made manifest, that they are wrought in God.
(Jn.3:13-21)
7 Behold, he cometh with clouds; and every eye shall see him, and they also which pierced him: and all kindreds of the earth shall wail because of him. Even so, Amen.
(Rev.1:7)
12 And I beheld when he had opened the sixth seal, and, lo, there was a great earthquake; and the sun became black as sackcloth of hair, and the moon became as blood;
13 And the stars of heaven fell unto the earth, even as a fig tree casteth her untimely figs, when she is shaken of a mighty wind.
14 And the heaven departed as a scroll when it is rolled together; and every mountain and island were moved out of their places.
15 And the kings of the earth, and the great men, and the rich men, and the chief captains, and the mighty men, and every bondman, and every free man, hid themselves in the dens and in the rocks of the mountains;
16 And said to the mountains and rocks, Fall on us, and hide us from the face of him that sitteth on the throne, and from the wrath of the Lamb:
17 For the great day of his wrath is come; and who shall be able to stand?
(Rev.6:12-17)
Like❤
I’d rather taken a look from a technical standpoint
you took graph and turned it to difference data structures , all was graph
"Send rocket to Elon" :DDDD
Why is a heap always a tree kike structure?
Enough already with your racism.
All I see are (byte) arrays in don't different forms, lol
Watch on 1.5x speed
If only he used the Data structure name on the video segments..
西方太会Divide and conquer.
I have recently shifted my opinion more and more towards the position that EVERY application is performce critical application.
Your first draft might not be performance critical, because it’s not an application, it’s a draft. But even if you are planning your application on whiteboard, I still believe you should consider and be mindful performance: just as you would consider safety or possible exceptions.
If your state map doesn’t tell you what happens if a bad reguest or wrong password is given, it’s incomplete. If it doesn’t consider safety, it’s unsafe to not deviate from it.
Similarly optimisation can not be an implementation detail or an afterthought. Every application needs to be planned to use resources efficiently.
I see it as an environmental question, and a question about respecting users. How many data centres we have build in excess just to run code that could be thousand times more efficient? How many human years is it okey to make your userbase wait to make your code that little bit ‘cleaner’.
Some abstractions are necessary, even if they cost some performance. Code still needs to be maintainable and readable. But it seems many teams and developers are obsessed with clean code, and will without a second thought add a function call, a call up an inheritance tree, or use a slower data structure just to make their code that one bit more clean: make that loop just one function call instead of an if-statement, create a new class in case someone wants to use it in future, and so on.
This can literally make the code orders of magnitude slower. We should see that as rare earth metals, new data centers, users having to buy a new phone or laptop to run the application.
All to achieve some ease of development? Even that is arguable.
Just because the code is written in python for faster development, doesn’t mean you shouldn’t write efficient python. Just because the system architecture is OOP in order to provide necessary encaptulation between different components, doesn’t mean the same necessity exists inside those components.
Who actually needs to read and understand your code? The CPU. Your code has material effects. It’s not okey to demand thousand times more server capabilities to make a choice that marginally improves the experience of humans reading it.
Efficiency just tickles my fancy, which is why I'm learning Rust :)
Wrong, wrong, wrong. Don't worry about adding value with a newsletter, reading takes up time we could be using to chill out. Instead, try to needle your viewers at the _start_ of the clip to get them clicking to like and subscribe. It's important to do this before delivering ANY content. If you do a good job with that, you won't need to focus on quality at all! How good will that be?! All-in-all, this wasn't a bad first try, but you have a long way to go to reach the gold standard of YouTubing. Start by dumbing it down a bit; this little clip could've been fluffed out to make four or six videos. Best of luck, buddy! 😃
BS
amazing video= short, sweet and crisp. :)