Тёмный

1. Persistent Data Structures 

MIT OpenCourseWare
Подписаться 5 млн
Просмотров 353 тыс.
50% 1

Опубликовано:

 

18 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 117   
@aleksagordic9593
@aleksagordic9593 6 лет назад
4:30 - 8:20 model of computation - Pointer machine 8:20 - 18:40 types of temporal DSs (persistent, retroactive), 4 levels of persistence 18:40 - 40:35 partial persistence 40:35 - 1:04:00 full persistence 1:04:00 - 1:04:15 confluent persistence 1:14:30 - 1:20:10 disjoint transform 1:20:10 - 1:23:40 functional
@cagdasalcin
@cagdasalcin 6 лет назад
thanks
@kshitijsrivastava6148
@kshitijsrivastava6148 5 лет назад
Thanks
@ankitmishra6565
@ankitmishra6565 3 года назад
Where I can get previous lecture (basic data structure run time and ) which he talks about in starting few seconds pls help
@TRADE_X
@TRADE_X 2 дня назад
thanks a lot bro it helped a lot
@CBMaster2
@CBMaster2 10 лет назад
this prof is crazy!!! he finished his bachelor at 14 and became a prof at MIT at only 20 years old. insane!
@rafo21pe
@rafo21pe 8 лет назад
great!!!
@marco.nascimento
@marco.nascimento 6 лет назад
omg, what a genius!!
@killuavie4132
@killuavie4132 5 лет назад
Is true?
@salrite
@salrite 5 лет назад
:-O OMG
@t1dekillertung184
@t1dekillertung184 4 года назад
@@j666j8 but life is long, better than nonsense social life and bullshit childhood, he has a lot to have fun
@Zer0-0
@Zer0-0 7 лет назад
MIT has such quality chalk
@_Nibi
@_Nibi 4 года назад
looks like sidewalk chalk. sounds smooth
@RahulKumar-tc3kq
@RahulKumar-tc3kq 4 года назад
he is the only reason I started to use RU-vid. The best resource for data structures in the world.
@wannawin95
@wannawin95 6 лет назад
Prof is a super nice guy - actually had the opportunity to shake his hand and thank him for being such a great lecturer and putting up the videos. Truly a nice guy that just wants to help students learn what he teaches.
@kylefong2888
@kylefong2888 4 года назад
All the way from 6.006 - started from the bottom now we're here!!
@shershahdrimighdelih
@shershahdrimighdelih 4 года назад
Watch 6.042, 6.006, and 6.046 before watching this. It's prerequisite for this course
@staggeredextreme8213
@staggeredextreme8213 4 месяца назад
Discrete maths, algorithms, go search your self
@TomerBenDavid
@TomerBenDavid 5 лет назад
I find him to be the best CS explainer.
@akhildhiman8791
@akhildhiman8791 4 года назад
This is amazing!! Prof Erik just told how to create your own version control system like GIT.
@angryjalapeno
@angryjalapeno 10 лет назад
It's so impresses me that MIT has not only 2 TAs for an advanced class but also a scribe. They are serious about teaching ... sadly unlike the majority of colleges today.
@fyaa23
@fyaa23 7 лет назад
Maybe this is kind of easy if you let the students pay a fortune of money for it.
@maxturgeon89
@maxturgeon89 4 года назад
I'm not 100% certain, but usually scribes are students taking the class, and being a scribe for a certain number of lectures is part of the assessments
@angryjalapeno
@angryjalapeno 4 года назад
@@maxturgeon89 I understand what you are saying but this is not normally done when there are TAs.
@theendurance
@theendurance 4 года назад
Easy when you have billions in funding.
@joelcastellon9129
@joelcastellon9129 9 лет назад
Thanks so much for sharing this. As a suggestion, perhaps in the future (given that this material is so interesting and important) give a research oriented MOOC...? Like one from stanford like a year ago. I didn't attend it, but when I found out it existed I thought it is really good idea
@ChandravijayAgrawal
@ChandravijayAgrawal 6 месяцев назад
can't believe its 10 years old
@regulus8518
@regulus8518 5 лет назад
holy crap ! MIT ADS lecture one 15 mins in we are teaching you the basics on how to build your own GIT, these lectures are so great
@allandogreat
@allandogreat 4 года назад
the blackboard is amazing.
@lordmcswain1436
@lordmcswain1436 10 лет назад
The places RU-vid takes you..........I have no idea.
@lakshyac.6404
@lakshyac.6404 4 года назад
In the website 6.854 Advanced algorithms is recommended,as a prerequisite ;but there is no video lectures available for 6.854;Please upload them.
@dragonfly3139
@dragonfly3139 7 лет назад
Next time I am in US I am definitely going to Boston to thank Prof. Erik in person.
@aspergale9836
@aspergale9836 6 лет назад
Around 38:13 (this ties in to several points before wherein the professor mentions backpointers and recursive updating of them): Why do we have potentially 2p updates? - If this's referring to updating fields that are themselves pointers to other nodes, well, why is there any updating to do? - If this's referring to updating the backpointers: we have only max p of them. I think there's a bit that's vague, confusing, or missing, and I'm not sure because I don't know where it should be: Backpointers only point to nodes, not fields (duh), so the update algo must go through the fields of the nodes backpointed to in order to update all fields whose contents is a pointer pointing to the node executing the update. This still would mean at most p*n updates (i.e. only one level of recursion is possible) where every backpointer points to one node with 1 to n updates possible (where n is the max number of fields in a node; I must've missed the part where that's specified, if it is; but the important part is that it's one level of recursion). What am I missing?
@davidhcefx
@davidhcefx Год назад
I think you’ve forgot the part that, when updating the fields of the nodes pointed by the backpointers, it’s actually another field update, which might trigger another recursion if the mods are full. I think this answers the recursion part, but I didn’t understand why it’s 2p instead of just p.
@joshuaaruokhai5401
@joshuaaruokhai5401 10 дней назад
A question regarding the Partial Persistence Data Structure. In the event a read is needed, an entity is required go through
7 лет назад
I believe there is a mistake in the way he does full persistence. He assumes that he can find a vertex in the tree such that its subtree has size roughly one half. But this is only true for trees of bounded degree. For example, it cannot be done for a star. Please correct me if I'm wrong, but I think his way of splitting nodes does not work.
@judgeomega
@judgeomega 5 лет назад
a star is not a tree
@RealJokerOfMadrid
@RealJokerOfMadrid 2 года назад
I had the same question! I think maybe he assumes that every version tree can be converted into an equivalent bounded degree version tree. Not sure exactly how though.
@davidhcefx
@davidhcefx Год назад
But he also said that 2/3 is alright.
@StuckNoLuck
@StuckNoLuck 10 лет назад
I love this man, interesting new course
@bhargavrajdutta
@bhargavrajdutta 3 года назад
Awesome lecture eric sir
@davidsweeney111
@davidsweeney111 10 лет назад
this is an area of math that I have never come across before and so I am very interested although I don't understand any of it ;)
@isbestlizard
@isbestlizard 4 года назад
YES SUCCINCT!!! python recently changed how they store dicts in cpython and it's both succinct AND preserves insertion order it was VERY clever of them
@tinymints3134
@tinymints3134 4 года назад
thank you MIT I love you
@foo_tube
@foo_tube 7 лет назад
I can see that maybe github might use something like the first algorithm ... .... but I wonder how many of these algorithms are actually in use outside of theory?
@abiduzair183
@abiduzair183 6 лет назад
I feel the same. The way I see it is: Commit is an implementation of partial persistence(updating the last commit) Fork matches with the idea of full persistence(creating an entirely new branch) Confluent persistence seems applicable when you're merging two branches.
@MrBranh0913
@MrBranh0913 5 лет назад
Quite a few practical applications uses a DAG. Particularly execution engines uses in things like Puppet, Chef etc.
@isbestlizard
@isbestlizard 4 года назад
I think nodes also need a back pointer to older version parent nodes, when the mods are migrated to the fields of a new node, so that search a new node for a version older than the migration, can propogate back to the original node. e.g. if a node with a full mods list at version 10 splits, it gets copied, but if someone searches for version 5 of a field, the new copy needs to know that versions
@pervognsen_bitwise
@pervognsen_bitwise 3 года назад
No, fortunately that's not needed. As he mentions in the lecture, a "version" in this model is really a (root pointer, version id) tuple, so if an older version is accessible you know its root pointer and everything relevant to that version is reachable from that root; when an existing root node splits, the new version is associated with the new root pointer. If you had a shared root pointer for all versions then you'd indeed need something like what you're suggesting, but that would ruin the running time to access old versions from the latest version since you'd have to chase through the entire version chain.
@davidhcefx
@davidhcefx Год назад
Question about *full persistence*: In 57:40 the prof said there are at most 2d+2p+1 pointer updates after the split. But my problem is: if node N was pointed by another node (M.field=N), then after N split into N’ and N2, what value should we set to M.field? Is it the old node (original tree) or the new one (subtree)? The requirement says that one can browse any version in the history, but when browsing node M, who gets to decide the value of M.field?
@isbestlizard
@isbestlizard 4 года назад
YAS I am ready for this. 6.006 was the best and now i want morrrre!!! ERIK IS THE BEST
@SaturnElena
@SaturnElena 10 лет назад
thank you
@mukteshgautam4050
@mukteshgautam4050 5 лет назад
14:12 there is no way you can merge these two universe together, kind of sad!
@thinhnguyenvan7003
@thinhnguyenvan7003 3 года назад
What does he mean ? I cannot understand it. cannot merge?
@JamesJohnson-zw9wz
@JamesJohnson-zw9wz 10 лет назад
The link to this particular course is broken ..is there any updated link
@mitocw
@mitocw 10 лет назад
We've tested both links- the one in the description (ocw.mit.edu/6-851S12), and the one in our comments on this video (ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-851-advanced-data-structures-spring-2012). If you need to, you can manually go to our site (ocw.mit.edu) and use the Course Finder to find the course number 6.851 Spring 2012. If you can't get to our site, it is being blocked by your connection. We have many mirrors of our content, if need be you can search for those. Good luck!
@amoghgupta142
@amoghgupta142 Год назад
At 23:45, how does prof Erik decide on 2p modifications? what is the rationale? Doesn't putting a bound on the size of mod indirectly say we can only store constant number of versions?
@davidhcefx
@davidhcefx Год назад
See the later part of the lecture. When mods are full we create a new one.
@rationalagent6927
@rationalagent6927 11 месяцев назад
Thanks
@1cabaretsolstice
@1cabaretsolstice 10 лет назад
I am interested in developing models to track data for marketing. There's a connection here although it is just a seed at this point. For instance, can this sort of thing move me from aggregate data to specific data that results in greater analytical effectiveness?
@ziyunli2436
@ziyunli2436 8 лет назад
excellent teacher~
@ziyunli2436
@ziyunli2436 8 лет назад
why no subtitle?
@mohamedfouad2304
@mohamedfouad2304 5 лет назад
Erik 🍺
@mithilleua7730
@mithilleua7730 8 лет назад
would anyone tell me what are the prerequisites for the course?? i have been through "introduction to algorithms" and "Introduction to computer science and programming" both...Any suggestions??
@mitocw
@mitocw 8 лет назад
+Mithil Leua From the syllabus, "The prerequisite for this course is 6.046, Design and Analysis of Algorithms, or an equivalently thorough undergraduate algorithms class from another school (e.g., covering much of CLRS). I recommend that you take 6.854, Advanced Algorithms, the broad entry-level graduate course in Theory / Algorithms-it normally makes sense to start there before jumping into deeper graduate courses. If you haven't taken 6.854, you must have a strong understanding of algorithms at the undergraduate level, such as receiving an A in 6.046, having done relevant research, involvement in computer competitions, etc." See the course on MIT OpenCourseWare for more information and course materials at ocw.mit.edu/6-851S12.
@mithilleua7730
@mithilleua7730 8 лет назад
+MIT OpenCourseWare Thank you very much..Keep the good work going :)
@KipIngram
@KipIngram Год назад
You know, I understand the focus on "pure O()" thinking, but at the same time, sooner or later one needs to actually work out the details of how they implement these things, and one wants a faster implementation rather than a slower one. Those constant factors DO MATTER. SOMEONE needs to talk about those details. The engineering aspects of the problems do actually matter. So, let's just pay a little attention to the quantity of things we just wave away as "irrelevant." Just in general it feels like you're glossing over quite a lot of details that are likely to be very subtle. You're only giving a very vague idea about how one might do this work.
@hritikmishra5227
@hritikmishra5227 4 года назад
Erik demain the professor walk like sheldon cooper of big bang theory. Very detailed lecture but professor haven't mentioned any example of persistence data structures
@user-tk2jy8xr8b
@user-tk2jy8xr8b 5 лет назад
What if #mods is 1, there are N nodes in chain spanning from the root to the leaf and the leaf is updated continuously? Would't time complexity be Θ(N/2) or simply Θ(N) in this case? Each even update is amortized, but each odd is not
@davidhcefx
@davidhcefx Год назад
Which persistence are you referring to? partial, full or confluent
@16yearoldwhiteboy
@16yearoldwhiteboy 8 лет назад
I am looking at your Computer Science and Engineering degree (Course 6-3) on the degree chart ( goo.gl/sYm0bI ). I am trying to decipher where to start and sort out my path for the Bachelor degree. I just have basic / intermediate knowledge of introductory computer science and .NET programming through my college courses.. Any pointers on where to start?? Or an order of the most important courses from beginning to finish possibly? That would be very nice.
@yhlin2807
@yhlin2807 3 года назад
Does anyone knows whether the mit professors lectured on Fibonacci Heap or not? really want some insight to this data structure, also to prepare for my exam...... Plz and thanks a lot
@mitocw
@mitocw 3 года назад
This isn't video, but might help: ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-854j-advanced-algorithms-fall-2008/lecture-notes/lec1.pdf. There are also a number of courses that touch upon it: ocw.mit.edu/search/ocwsearch.htm?q=%22Fibonacci%20Heap%22. Best wishes on your exam!
@phantombunny
@phantombunny 9 лет назад
is confluent persistence computer sex?
@RahulSingh-ex2sm
@RahulSingh-ex2sm 6 лет назад
Persistance { eg Tree's SubTree act as a Tree on its OWN} Retroactivity {eg BackTracking }
@Libredu
@Libredu 2 года назад
Where are we using this structure? LinkedList or what? I cant understand all situation without knowing where we are using this architecture.
@yashprajapati5665
@yashprajapati5665 5 лет назад
great and fab
@finnwestergren8670
@finnwestergren8670 3 года назад
I paused at 37:55 and took a long hard look at my life.
@ededdandeddytv5164
@ededdandeddytv5164 4 года назад
Que?
@tamerjaber6987
@tamerjaber6987 10 лет назад
is there basic Data Structures course ??
@akhildhiman8791
@akhildhiman8791 4 года назад
Yes you can go for MIT 6.006
@isbestlizard
@isbestlizard 4 года назад
I wonder what the open problems are in 2020 hmm
@hack-comic
@hack-comic 6 лет назад
Is there any context as to why I care about this lecture? Not trying to be negative I actually dont know where these data structures are used. Maybe I dont understand
@MrInc0n5picu0u5
@MrInc0n5picu0u5 10 лет назад
nice
@lynnwilliam
@lynnwilliam 2 года назад
You took something simple and made it sound over complicated and harder than it actually is. But thats MIT.
@1cabaretsolstice
@1cabaretsolstice 10 лет назад
I like the approach to this. I am by far no expert in this field although I have a basic understanding. It is very user friendly to the novice. Good job.
@prithirajmallik1419
@prithirajmallik1419 5 лет назад
What are the pre requisites for this course ?
@mitocw
@mitocw 5 лет назад
From the syllabus: "The prerequisite for this course is 6.046, Design and Analysis of Algorithms, or an equivalently thorough undergraduate algorithms class from another school..." See the course on MIT OpenCourseWare for more information and materials at: ocw.mit.edu/6-851S12. Best wishes on your studies!
@mohamedadel-tw8sf
@mohamedadel-tw8sf 6 лет назад
what is the prerequisite ؟
@mitocw
@mitocw 6 лет назад
Prerequisites are listed on the Syllabus page of the OCW course site: ocw.mit.edu/6-851S12, in this case 6.046, Design and Analysis of Algorithms ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-design-and-analysis-of-algorithms-spring-2012/, or an equivalently thorough undergraduate algorithms class from another school (e.g., covering much of the CLRS book mitpress.mit.edu/9780262533058) and 6.854, Advanced Algorithms ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-854j-advanced-algorithms-fall-2008/index.htm, the broad entry-level graduate course in Theory / Algorithms.
@GeekGenius93
@GeekGenius93 8 лет назад
how we will get Certificate after completing this course ?
@mitocw
@mitocw 8 лет назад
+Abdullah Ali MIT OpenCourseWare is not a degree-granting or credit-bearing initiative. For a certificate, you should check out the MITx offerings (www.edx.org/school/mitx).
@christinehill4491
@christinehill4491 4 года назад
Just do the homework yourself without copying the solution and then post it on github
@rustprogrammer
@rustprogrammer 6 месяцев назад
sometimes i watch MIT OCW just to feel like I'm an MIT student
@terencedavies5796
@terencedavies5796 10 лет назад
y
@纪明希-p9i
@纪明希-p9i 4 года назад
Sorry for cannot understand.
@erp0py
@erp0py 10 лет назад
subtitles loco
@cphoover11
@cphoover11 10 лет назад
points off for considering deja vu a "good" time travel movie
@sigma-yn3qd
@sigma-yn3qd 6 лет назад
Cuando pagan
@王明浩-u2q
@王明浩-u2q 5 лет назад
any chinese version?
@mitocw
@mitocw 5 лет назад
Sorry, we don't have any Chinese versions of this content. Here's a list of courses that have been translated: ocw.mit.edu/courses/translated-courses/traditional-chinese/
@frankfahrenheit9537
@frankfahrenheit9537 10 лет назад
This is really old style teaching. One doesn't know what all the stuff is good for. Not a single example what all these types of persistence are good for. Good teaching is putting oneself into the student role and asking oneself: Do my students understand me. Do they know what I want them to learn. etc
@_bigblind
@_bigblind 7 лет назад
Teaching theory without practical examples can still be extremely useful. If you want practical knowledge that you can apply immediately, go do a bootcamp, or learn from tutorials on the internet.
@unev
@unev 7 лет назад
Once you truly develop a mind model of what you want to do, an implementation is a rather trivial process especially with an aid of debuggers.
@karlruv8332
@karlruv8332 7 лет назад
You're asking to be spoonfed, whereas if you wanted applications, you should be thinking of ways to apply them yourself. Plus, that's what the problem sets are for.
@xXErr4rXx
@xXErr4rXx 5 лет назад
that is good education for 10 year olds. good uni students can understand concepts somewhat independent of any other data point in their minds. in other words you dont need to know a particular use for an information to learn that well once your brain develops enough
@x86me75
@x86me75 5 лет назад
From my experience, this is very true. You excel way faster if you can make as much connections as possible with things you are learning and things you already know. And real life examples, events, objects, etc. that are already strongly imprinted in your brain can make that process much easier.
Далее
MIT Introduction to Deep Learning | 6.S191
1:09:58
Просмотров 560 тыс.
MIT Godel Escher Bach Lecture 1
1:02:34
Просмотров 491 тыс.
Wreckage Of Titan Submersible Reveal How It Imploded
17:21
26. Chernobyl - How It Happened
54:24
Просмотров 2,8 млн
What La Niña Will do to Earth in 2025
19:03
Просмотров 301 тыс.
Lecture 1: Algorithmic Thinking, Peak Finding
53:22
Coding Was HARD Until I Learned These 5 Things...
8:34