Data Structures: Crash Course Computer Science #14

แชร์
ฝัง
  • เผยแพร่เมื่อ 11 ธ.ค. 2024

ความคิดเห็น • 544

  • @curiosull
    @curiosull 7 ปีที่แล้ว +1737

    Just remember, if you are new, that this 10m video is a 1 semester or a few books study compressed, so take it lightly.

    • @aboxinspace
      @aboxinspace 6 ปีที่แล้ว +236

      They've explained it better here than at my college... I should be laughing, but it hurts.

    • @lolmaker
      @lolmaker 6 ปีที่แล้ว +50

      lol my school started this like over a month ago and still hasn't finished XD. But its pretty simple tbh

    • @damenwhelan3236
      @damenwhelan3236 6 ปีที่แล้ว +36

      Proof that one on one IS more efficient than telling a group of people to memorize datum.

    • @johndoh1000
      @johndoh1000 5 ปีที่แล้ว +57

      Am I doing it wrong? I've binge watched up until now, and I plan on continuing until the end. FORTY SEMESTERS WORTH OF COMP SCI IN TWO DAYS!!!

    • @119sigma
      @119sigma 5 ปีที่แล้ว +30

      @@aboxinspace Ditto. I am revisiting it 2 years later and I am just amazed how well it explained the concepts in just ten minutes. It helps though having studied it before in my opinion though.

  • @reaper84
    @reaper84 7 ปีที่แล้ว +465

    the videos always seem like a compressed version of my first two years of studying computer science. though not as thorough as the lectures back then, these videos really hold up and explain everything extremely well. great job!

    • @amateruss
      @amateruss 6 ปีที่แล้ว +14

      Crash course is a great way to refresh your knowledge about almost anything.

  • @hammar324
    @hammar324 5 ปีที่แล้ว +399

    I told my friends that I now know how to access a 5 dimension matrix. They are no longer my friends.

  • @ianrbuck
    @ianrbuck 7 ปีที่แล้ว +65

    Data structures was my favorite subject in my CS courses in college! It all just makes so much sense, and thinking about how each piece of data relates to all the others is like a fun puzzle.

  • @osgnuru
    @osgnuru 7 ปีที่แล้ว +63

    I'm trying to get my teacher friends to show this series to their students. I love this. All students should see this in class.

  • @tuckercoffin2164
    @tuckercoffin2164 7 ปีที่แล้ว +10

    Dear Carrie Anne and crashcourse, I hope you're seeing this.
    You are all amazing. Thanks so much for making these very good quality videos and keeping them for free.
    I'm considering supporting you after I'm done with binge watching the entire series. I'll definitely recommend this series to others.
    I'm impressed. You're amazing.

  • @busyrand
    @busyrand 7 ปีที่แล้ว +11

    I'm learning to Program now, and surprisingly understood everything. Had to stop and scroll back a few times, but that was a beautifully clear explanation of each concept!

  • @derpmaster2086
    @derpmaster2086 7 ปีที่แล้ว +220

    For anyone who may just be starting to learn low level languages, be careful when using "NUL" vs "NULL" because they can mean two different things. "NUL" refers to the NUL character or ASCII zero. "NULL" refers to a null pointer - a reference to a non-existent location in memory.

    • @zen_of_chloe
      @zen_of_chloe 7 ปีที่แล้ว +1

      "Null" is its name and NULL was its original abbreviation. So not as wrong as all that. en.wikipedia.org/wiki/ASCII

    • @OmegaF77
      @OmegaF77 6 ปีที่แล้ว +1

      NULL could also be nullptr. NUL can also be '\0' (char type).

    • @Death_User666
      @Death_User666 6 ปีที่แล้ว

      thanks much sir

    • @aeebeecee3737
      @aeebeecee3737 4 ปีที่แล้ว

      Thank you

  • @AyeAyeCaptain
    @AyeAyeCaptain 7 ปีที่แล้ว +18

    i am so in love with the narrator.She is so adorable !

  • @Klarpimier
    @Klarpimier 5 ปีที่แล้ว +430

    0:59
    "Almost all programming languages start at index zero"
    Me: *slowly turns and glares at Matlab*

    • @RazerBlackShark
      @RazerBlackShark 5 ปีที่แล้ว +58

      MaTLaB Is NoT a ReAl ProGrAmMiNg LanGuAge

    • @Canonall
      @Canonall 4 ปีที่แล้ว +1

      Pascal does this as well

    • @zyaicob
      @zyaicob 4 ปีที่แล้ว +10

      *shouts at LUA*

    • @Canonall
      @Canonall 4 ปีที่แล้ว +1

      @Thomas Samoht you are right, my bad.

    • @SufianDira
      @SufianDira 4 ปีที่แล้ว +1

      LUA starts at 1 for some reason

  • @MrMineHeads.
    @MrMineHeads. 7 ปีที่แล้ว +9

    I am LOVING THIS SERIES! LOVE YOU CARRIE ANNE AND CRASH COURSE!

  • @victorcovasan9155
    @victorcovasan9155 7 ปีที่แล้ว +34

    right now I just hope this will be a never-ending course

  • @BlueGuitarMusic
    @BlueGuitarMusic 7 ปีที่แล้ว +3

    You said in the beginning you weren't gonna go into programming yet I feel like I've learned a ton about the fundamentals of code languages and where programming happens. You tricked me into learning way too much!

  • @cholten99
    @cholten99 7 ปีที่แล้ว +379

    Always great folks but that was pretty much an entire term's class-worth of data structures in 10 mins. It'd be fascinating to know how many people who encountered this for the first time kept up!
    As a side-note it's really good how you refer everything back to memory locations. So often these days people are taught to use data structures as basic language building blocks with no idea what's going on "under the hood".
    So, object orientation next week? :-)

    • @tsmwebb
      @tsmwebb 7 ปีที่แล้ว +7

      Yep, nice but very, very concentrated. As I was listening I too thought that it might be hard to follow or even a bit misleading for a person new to the material. Universal referents and particular implementations got a bit tangled up. Still, an impressive effort given the time constraint.

    • @tsmwebb
      @tsmwebb 7 ปีที่แล้ว +2

      Interesting. As a C# programmer did you find the discussion of stings at all confusing?

    • @MasterGeekMX
      @MasterGeekMX 7 ปีที่แล้ว +3

      In my college is the opposite, and we had to build a Java class implementing the basic of each and one of the structures that the video showns. For example in an exam I had we needed to implement a funcion in a binary tree in wich we pass an array of numbers in any order and then the numbers got stored in the tree in order.

    • @tsmwebb
      @tsmwebb 7 ปีที่แล้ว

      +Pepys
      Thanks, maybe my criticism was misplaced. I suspected that people would watch that and think "oh, that's what a sting ~is~" rather than "that's one good way to implement a string." Your mention of C# jumped out at me since it is an example of a language that does strings differently than presented.
      Sorry that I misinterpreted your programming experience.

    • @MakeMeThinkAgain
      @MakeMeThinkAgain 7 ปีที่แล้ว +1

      Many CrashCourse episodes are like crammed with a little too much info to get in one pass. Sociology for example.
      I tended to work with languages that were weak in data structures so I had to create my own with strings. Slow, but a great way to learn about data structures. (Hint: the secret is to have a delimiter character for each dimension that is never included in the data content.)

  • @captainnakou
    @captainnakou 7 ปีที่แล้ว +6

    I'm a computer engineer and I'm doing some Java stuff for like 5 years, and this video gave me the envy to go back doing some C again, like I did back at school.
    And I like that.

  • @LexYeen
    @LexYeen 7 ปีที่แล้ว +6

    This series is why I'm getting into arduino programming, and this video just helped me get past a hurdle I encountered on my project. Thanks! =D

  • @Dodgerific
    @Dodgerific 7 ปีที่แล้ว +68

    I love these videos and feel that I am actually finally understanding computers! thank you

    • @alieser7770
      @alieser7770 7 ปีที่แล้ว +4

      dont mean to be rude or discouraging, but this is basically nothing ;(

  • @BlueyMcPhluey
    @BlueyMcPhluey 7 ปีที่แล้ว +16

    this series is like my hit of crack every week that keeps me going

  • @jmanaa9969
    @jmanaa9969 5 ปีที่แล้ว +14

    You basically covered last semester programing course in a 10 min video, I am impressed. But it might be too much information for people who are seeing the topic for the first time.

  • @trannusaran6164
    @trannusaran6164 7 ปีที่แล้ว +104

    "It'd be weird if roots connected to leaves that connected to roots." *Looks nervously at Bryophyllum daigremontianum* >_>

    • @Schindlabua
      @Schindlabua 7 ปีที่แล้ว +26

      Found the botanist! Seriously though, that's a dope plant.

    • @sceKernelDestroy
      @sceKernelDestroy 7 ปีที่แล้ว +3

      I am happy you are here :)

    • @vertigo6982
      @vertigo6982 6 ปีที่แล้ว +4

      I think most people would be freaked out a lil by how peanuts grow.

  • @harshamohite1289
    @harshamohite1289 4 ปีที่แล้ว

    As someone studying computer science, this is a fantastic refresher of all the basic concepts. So clearly explained!

  • @jamiebertram9744
    @jamiebertram9744 6 ปีที่แล้ว +1

    This is the fastest coverage of basic data structures I have ever seen

  • @IceMetalPunk
    @IceMetalPunk 7 ปีที่แล้ว +8

    Wow. This was super fast! If I didn't already know this stuff, I could easily get lost in all the information!

  • @prowhiskey2678
    @prowhiskey2678 7 ปีที่แล้ว +1

    0:44 list != array
    An list uses pointers to get to the next index. An array uses ons block of memory. Meaning that a list is faster if you are iterating over the shops structure, but An array is better of you need to het a specific indexeert element.

  • @KenBellows
    @KenBellows 7 ปีที่แล้ว +1

    one thing left out in this otherwise really good overview is the main disadvantage of linked lists: random access (that is, getting the value at a certain index into the list) becomes much more difficult, and is much less efficient than in simple arrays. each data structure has its tradeoffs and use​ cases

  • @Yujideluca
    @Yujideluca 5 ปีที่แล้ว +3

    i just love this woman, thank you so much

  • @Dsiluigi
    @Dsiluigi 7 ปีที่แล้ว +704

    You didn't play the "A new level of abstraction!" jingle! How could you?!

    • @mikejohnstonbob935
      @mikejohnstonbob935 7 ปีที่แล้ว +31

      It's the same abstraction.

    • @gustavolrcoelho
      @gustavolrcoelho 7 ปีที่แล้ว +71

      I feel cheated. I demand a reupload with proper jingle.

    • @zavi3rz
      @zavi3rz 7 ปีที่แล้ว +29

      It has been abstracted so it's no longer shown.

    • @anthonyz9197
      @anthonyz9197 7 ปีที่แล้ว +2

      I love the jingle and spontaneously combust whenever it comes on.

    • @brainwashedbyevidence948
      @brainwashedbyevidence948 7 ปีที่แล้ว +5

      Anthony Z Soo you catch on fire?!?

  • @dohoanggia
    @dohoanggia 7 ปีที่แล้ว +1

    Spent the whole semester for this. Thank you!

  • @tategeiger5317
    @tategeiger5317 5 ปีที่แล้ว +7

    I love how the oscilloscope is different each time

  • @jordanlevitt1638
    @jordanlevitt1638 7 ปีที่แล้ว

    im currently doing a course on data structures and we've only just reached pointer variables so this video is linking everything tgr before I've even learned it. cheers

  • @kaosz7777
    @kaosz7777 7 ปีที่แล้ว +1

    God I love crash course :) I only wish you made actual courses on this subject. I am a currently earning my BS in CS and I absolutely love to talk about data structures. Programming is my blood. However, there are so many techniques and different ways to structure your data that I want to know everything I can.

  • @melonlord1414
    @melonlord1414 7 ปีที่แล้ว +2

    Thank you! Now I understand why I always got errors when Iworked with Arrays. They don't want to grow dynamicly^^

  • @Hav0c1000
    @Hav0c1000 6 ปีที่แล้ว +3

    I absolutely loved this crash course at 75% playback speed!

    • @doumkatekz
      @doumkatekz 5 ปีที่แล้ว +1

      Same. And I usually watch things at 1.5

    • @christopherkotchey2593
      @christopherkotchey2593 5 ปีที่แล้ว +1

      Exactly what I was just thinking - they're going over this one a lot faster than the previous videos.

  • @niharikapatil902
    @niharikapatil902 6 ปีที่แล้ว +1

    You guys are amazing! I have my interviews in the next two weeks and this really helps me speed up

  • @emelineemeline9114
    @emelineemeline9114 7 ปีที่แล้ว

    She is so much more preferable to my monotone prof! I'm learning heaps - THX

  • @Implond
    @Implond 7 ปีที่แล้ว +13

    A lot of programming languages are very particular about the type of data you give to a function, whereas more flexible ones can accept multiple types. The trade off is inflexibility against precision.

    • @Tuchulu
      @Tuchulu 7 ปีที่แล้ว +2

      Sam Whelan some programming languages don't let you play with pointers.

    • @rev.davemoorman3883
      @rev.davemoorman3883 7 ปีที่แล้ว

      A$= "at"+10+"shun"

    • @angeldude101
      @angeldude101 7 ปีที่แล้ว

      The main drawback is that miss-typing isn't caught until the system tries to do an operation expecting one type and you give it another.
      Static typing generally catches this before any of your code gets run.
      Even worse is when the system preforms a different operation because it's a different type. The first time I used python, 10 < 5.

  • @villadelfia
    @villadelfia 5 ปีที่แล้ว

    Note that in some languages, strings are not null-terminated, but rather they start with how many characters the string contains. There's pros and cons to each approach.
    (Also, the C++ standard library is called the Standard Library. The standard template library used to be a non-standard library that has since been added to the standard.)

  • @JOJO_THE_PROGRAMMER
    @JOJO_THE_PROGRAMMER 5 ปีที่แล้ว

    Great video good for those who have studied already these concepts in detail

  • @niffler6110
    @niffler6110 6 ปีที่แล้ว +1

    What a great Video!! such clever use of graphics and sounds in education....I enjoyed it wholeheartedly

  • @louis058
    @louis058 7 ปีที่แล้ว

    Addendum: Null character terminated strings are the most common way of doing it, but it's also possible to just store the length of the string as a number as the first field, then the string. Then, we know where to stop because we see the length before reading the string.

  • @kunalmandalia1165
    @kunalmandalia1165 7 ปีที่แล้ว

    Good job giving us an easy to understand taste of different data structures

  • @aeebeecee3737
    @aeebeecee3737 4 ปีที่แล้ว

    This series is so clearly and helpful.

  • @ladydarkangelyuki
    @ladydarkangelyuki 7 ปีที่แล้ว

    hopefully you will talk about data hashing, this is crucially important in the modern world of programming.

  • @sokonumi
    @sokonumi 7 ปีที่แล้ว +1

    I have taken so many classes that have gone over linked lists and I never truly understood it until watching this video, thank you so much!!

  • @superoxidedismutase5757
    @superoxidedismutase5757 5 ปีที่แล้ว

    I love you Carrie Anne.

  • @ernikitamalviya
    @ernikitamalviya 6 ปีที่แล้ว

    Wow..........this was best for my quick revision of DS. Thanks @CrashCourse!!

  • @aeebeecee3737
    @aeebeecee3737 4 ปีที่แล้ว

    Create complex data structure just really similar as you create a pile of structured files and folders in windowsOS, the pointer similar as shortcut that point to a folder or file in windows, so you can create linked data.

  • @stealthwolf1
    @stealthwolf1 5 ปีที่แล้ว +1

    I'm gonna put watching this video on my resume

  • @greatthemeedits1252
    @greatthemeedits1252 5 ปีที่แล้ว +5

    No offense to Indian people, but it is so refreshing to have tutorials on CS that don't have incomprehendable accents

  • @malpol
    @malpol 7 ปีที่แล้ว

    I can't feel time by hearing your voice
    It's just awsome

  • @MrFahrenheit2k
    @MrFahrenheit2k 7 ปีที่แล้ว +3

    Carrie Anne

  • @MasterGeekMX
    @MasterGeekMX 7 ปีที่แล้ว

    Here in México in my college they teach you about all of this plus the paradigm of object-oriented programming in two courses, called "Object-oriented algorithms and linear storage patterns" and "Object-oriented algorithms and non-linear storage patterns", We just call them by the initials, wich in spanish are APALOO and APANLOO, respectively.

  • @Gguy061
    @Gguy061 ปีที่แล้ว

    That algorithm that allows this video to be played at half speed....that's a favorite of mine

  • @109Rage
    @109Rage 7 ปีที่แล้ว +28

    Not all strings need to end in NULL. Seeing as strings are just arrays, and some languages store the length of an array, a string's length would just use the same value.

    • @DreadKyller
      @DreadKyller 7 ปีที่แล้ว +3

      True, and both ways have their advantages and disadvantages. Let's say you have a really long string, like loading an entire file (not generally a good idea to load it into a string, use buffers or something instead, but this is an example), then null-terminated strings are smaller, as you'd need more than the size of a character to represent the length of the string if the string stored its length up-front, while the null-terminated string would only add the size of an additional character. Now this isn't a large amount of space, but because scenarios like this exist, the string data type in many languages use large numbers like ints or longs, even if the string is only very short, meaning if you're using hundreds or thousands of strings in a program (for example think about localization files for programs or games) then you're using up a lot more memory this way.
      On the other extreme though, there are many calculations where you want to know the size of the array, but don't wish to modify or read the array, just know its size, in a null-terminated string the entire array must be iterated down until the null is found to calculate the size (it can possibly be stored afterwards so you only iterate once, but anyways) while storing the size up-front allows you to simply read this value, making these types of operations faster.
      So both have some advantages and disadvantages and if you're lucky enough to be using a language where you can choose to use either or then choose based on the task, and otherwise other languages that don't have them sometimes have ways for you to implement them yourself if need be.

    • @Pitazboras
      @Pitazboras 7 ปีที่แล้ว +5

      There is one more disadvantage of null-terminated strings: you cannot store nulls inside the string, as they are interpreted as termination signs.

    • @knife_wizard
      @knife_wizard 7 ปีที่แล้ว

      If you store your strings as immutable structures in memory, the size issues kind of vanish, depending on whether or not length references number of bytes, or number of UTF-8 glyph encodings(Which can be different). Moreover, you can have multiple variants of "String" all implementing the same interface, and encoding length as different width values in the structure. Though, as soon as you get past the length being one byte, it's pretty valid to stop caring about what data type you're encoding length as(Max for a 1 byte value is 1:256).
      Now, if they ARE mutable, things get fun, and you get into heuristically predicting the possible max size of your string, and giving it a data type wide enough for... however long your string gets. Granted, if your string gets beyond about 9 QUINTILLION characters(on a 64-bit processor, which is the modern standard) you have a very different problem.
      All told, storing the length of strings has a great many advantages over not doing so, and most modern languages DO do so, because most concerns of space sort of evaporate in the face of modern hardware, and the vast amounts of memory available(Not to mention the fact that 8 bytes to store the lengths of the longest things humans have ever written PALES in comparison to what 8 bytes of length can store)

    • @UteChewb
      @UteChewb 7 ปีที่แล้ว

      The main problem with null terminated strings is that you have to be careful of the target size of the character array, this is why you should use strncat rather than strcat. Also it is easier to resize a target string because you can easily determine the size of the strings without traversing the source arrays then allocate the desired memory and do the copy. In fact overall null terminated strings are considered unsafe programming because there is the risk of someone using a buffer overflow to hack you if you don't carefully determine the lengths.

    • @MartinOlminkhof
      @MartinOlminkhof 7 ปีที่แล้ว

      +Piotr Zaborski you typically wouldn't want to stored null characters in a string, it's a special character

  • @brutalbutler
    @brutalbutler 6 ปีที่แล้ว

    wow an actual video where I knew about evrrything and wasn’t confused at any time during it??

  • @alexovey
    @alexovey 7 ปีที่แล้ว

    Thanks a lot. I enjoyed the crash course. I now know what data structures are. planning to delve deeper

  • @Robay146
    @Robay146 7 ปีที่แล้ว

    Yes! Another episode! I've beeeen waiting! 😃

  • @ProfessionalTycoons
    @ProfessionalTycoons 6 ปีที่แล้ว

    Crash Course Computer Science! Amazing.

  • @ganaraminukshuk0
    @ganaraminukshuk0 7 ปีที่แล้ว +9

    This is why we always say zeroth instead of first.

  • @s3cr3tpassword
    @s3cr3tpassword 7 ปีที่แล้ว +43

    Theres no elevator scene after the new level of abstraction!!!! Argh i watch this every week for that!!!!

  • @Biscuitsdefortune
    @Biscuitsdefortune 7 ปีที่แล้ว +87

  • @WhyComplex
    @WhyComplex 7 ปีที่แล้ว +197

    If string concatenation = a strcat
    Then does a string array = stingray?

    • @pet3590
      @pet3590 7 ปีที่แล้ว +22

      stringray

    • @Pitazboras
      @Pitazboras 7 ปีที่แล้ว +3

      strcat = string catenation
      catenation and concatenation are synonyms but strcat has more obvious meaning than strcon, so that's why it was chosen for a name of the method (I presume).

    • @xplinux22
      @xplinux22 7 ปีที่แล้ว

      Stringray, strray, and strarr are three likely candidates.

    • @aggbak1
      @aggbak1 7 ปีที่แล้ว +1

      strarray, but I can see the intention of the joke.

    • @Hambonillo
      @Hambonillo 7 ปีที่แล้ว +1

      String Array = Fruit of the Loom

  • @zen_of_chloe
    @zen_of_chloe 7 ปีที่แล้ว +5

    "Standard Template Library" is the old name. It's the C++ Standard Library now. Glad C++ got a shout-out anyway.

  • @gamingbutnotreally6077
    @gamingbutnotreally6077 5 ปีที่แล้ว +1

    Very basic but still awesome! Thanks

  • @mayukh4130
    @mayukh4130 5 ปีที่แล้ว

    how can i like this video more than once

  • @kannan3801
    @kannan3801 5 ปีที่แล้ว +1

    data structures in Java and C++ already there..so no worriers
    Also there are trees ,linked list,array,index,struct.

  • @SalamiMommie
    @SalamiMommie 5 ปีที่แล้ว

    thanks for mentioning string cat. Super useful

  • @anisoftware8493
    @anisoftware8493 6 ปีที่แล้ว

    YOU GUYS ARE THE BEST

  • @thesaurusrex7919
    @thesaurusrex7919 2 ปีที่แล้ว +1

    Boi I sure hope this all makes sense in 3 years when I have to learned this

  • @RonaldTagra
    @RonaldTagra 4 ปีที่แล้ว +1

    Amazing videos. Thanks. In fairness, the reason why you think these videos explained better than in your college (or you think your college was useless) because you have understood and have existing background already. Imagine if your knowledge is zero.

  • @tenshi53
    @tenshi53 4 ปีที่แล้ว

    Told my friends I know how to access a 5 dimensionnal matrix. They were impressed!

  • @ChemicalVapors
    @ChemicalVapors 7 ปีที่แล้ว

    A string doesn't necessarily terminate in a null. Although this is typical in C-like languages, many other languages store strings with the length of the string, eliminating the need for null terminating. (and allowing the null character to be included in a string)

  • @DominicLondon
    @DominicLondon 7 ปีที่แล้ว

    Another fantastic video. Should help me with my Algorithms exam tomorrow 😊.

  • @sujithdubbaka5170
    @sujithdubbaka5170 2 ปีที่แล้ว

    Great video, easily digestible content

  • @aeebeecee3737
    @aeebeecee3737 4 ปีที่แล้ว

    The range that includes range that includes range that includes range... and you can jump to another range then jump to another range then jump to another another range... so you can build any structure as you want.

  • @pediderlinguaphile6981
    @pediderlinguaphile6981 5 ปีที่แล้ว

    love the geeky GoT examples!

  • @chrishan3199
    @chrishan3199 5 ปีที่แล้ว

    carrie anne make things fun to learn :)

  • @sophiacai8157
    @sophiacai8157 6 ปีที่แล้ว

    The first node, the one at the top, is the root, and the ones at the end are called leaves. They ought to call those pointers "branches!"

  • @aeebeecee3737
    @aeebeecee3737 4 ปีที่แล้ว

    Science are growing up, benefit opportunity are growing up and the same the extinction opportunity are growing at the same time.

  • @rjwhite4424
    @rjwhite4424 7 ปีที่แล้ว

    I think these videos are sooo interesting. wish their were more

  • @VladSvoka
    @VladSvoka 7 ปีที่แล้ว

    Graphs are usually stored as list of nodes and tuples of edges.

  • @sunnz
    @sunnz 7 ปีที่แล้ว

    would love to see a video on heap and hash in this format!

  • @DjangoLowe
    @DjangoLowe 7 ปีที่แล้ว

    I'm surprised you did touch on classes and its differences from structures. Good show!

  • @eigenmishi_in_3d
    @eigenmishi_in_3d 7 ปีที่แล้ว

    So good! Thank you for the excellent summary

  • @bee5120
    @bee5120 7 ปีที่แล้ว +5

    Question: can a Linked-List (doubly, circular, single, etc.) be put as children nodes in a BST (binary search tree) and what would be the advantage of that besides packing in a lot of information in a tree-like manner for sorting?
    If it's possible, what's the general logic to retrieving a particular linked-list node stored in a BST?

    • @kaziislam2785
      @kaziislam2785 7 ปีที่แล้ว

      Um, you mean using a linked-list object being used as nodes of the BST, or the linked-lists themselves are integrated into the tree?

    • @bee5120
      @bee5120 7 ปีที่แล้ว

      The first one. Nevermind, I don't think that's possible since they're two different data structures.

    • @xXAkirhaXx
      @xXAkirhaXx 7 ปีที่แล้ว +1

      I don't see why not, as long as the data in your doubly linked list =/= the data in your BST. i.e. your BST would just be a data structure filled with linked lists. If you're wondering if you can store data from a linked list in a BST, also very possible, but then what would you use the linked list for? The addresses for the data you want should all be in the BST, and easier to get to.

    • @colin7231
      @colin7231 7 ปีที่แล้ว

      Yeah, it would be possible. the data type of a node on a tree would be a linked list. however, this might not be super practical depending on your application. if you had to do a search, you now have to search a linked list on every given node, which, in worst case, would add linear complexity to search node, changing a BST search from O(n) to O(n²)

    • @RegularTetragon
      @RegularTetragon 7 ปีที่แล้ว +1

      that's entirely possible. Sometimes you just have tree data that requires that you store a linked list. Basically, in the tree structure
      struct BinaryTree {
      BinaryTree* left
      BinaryTree* right
      LinkedListNode value
      }
      You could also make LinkedListNode a pointer, which means that all that's being stored by the binary tree is 3 pointers, as opposed to multiple data structures.

  • @ikemkrueger
    @ikemkrueger 7 ปีที่แล้ว +1

    4:14 The "C" programming language uses "struct". A struct is the predecessor of a "class".

    • @prowhiskey2678
      @prowhiskey2678 7 ปีที่แล้ว

      Ikem Krueger struct == Class, but with a default public accessor. At least in C++.

  • @tueemsyhu4846
    @tueemsyhu4846 6 ปีที่แล้ว

    I like this series!😀😊👍

  • @insanitycubed8832
    @insanitycubed8832 7 ปีที่แล้ว +42

    0:22 could've fooled me.

    • @RickTrajan
      @RickTrajan 7 ปีที่แล้ว +1

      Insanity Cubed who are they kidding? we are all john green.

  • @AlphaFoxDelta
    @AlphaFoxDelta 7 ปีที่แล้ว

    Very good summary!

  • @miguelbernal9314
    @miguelbernal9314 7 ปีที่แล้ว +2

    Hello, Carrie Anne:
    Your explanations and videos are great!!! Thank you so much for helping me understand computing better.
    Small petition (although given my ignorance it may be huge X-D):
    Could you please say or list the levels of abstraction required to display, for example, a "C" on a computer screen? 20+?
    Thanks again for being awesome :-)
    Miguel

  • @aeebeecee3737
    @aeebeecee3737 4 ปีที่แล้ว

    Pointer is a jumping structure, it can let you jump to another one. Just like open a portal and jump, open a portal and jump, open a portal and jump...

  • @gosnooky
    @gosnooky 5 ปีที่แล้ว

    2:40 - Used a set of brackets to show a function call - print[j] - oops :)

  • @ShaunDreclin
    @ShaunDreclin 7 ปีที่แล้ว +89

    hey! you didn't play the new level of abstraction clip!

    • @grivar
      @grivar 7 ปีที่แล้ว +7

      Is that so bad? It's like 5 seconds long and I kinda just sit there like "yeah, I get it hahahaaa"

    • @miahorg
      @miahorg 7 ปีที่แล้ว +9

      Mongols are the exception to being the next level of abstraction.

    • @Hambonillo
      @Hambonillo 7 ปีที่แล้ว +2

      That's device dependent.

  • @JohnRaschedian
    @JohnRaschedian 7 ปีที่แล้ว

    Carrie Anne, you're a very good teacher!

  • @brandonstrait2873
    @brandonstrait2873 5 ปีที่แล้ว

    The diversity in languages and hardware keeps programming simple but allows complexity.

  • @simbaonsteroids8836
    @simbaonsteroids8836 7 ปีที่แล้ว +169

    We may have fifo and filo but do we have convfefe?

  • @farefouse
    @farefouse 6 ปีที่แล้ว

    Cool video, very well explained!

  • @paxdriver
    @paxdriver 7 ปีที่แล้ว

    Wonderful episode and series!! Thank you guys! I wish you showed a more in depth example of the push/pop with link nodes graphically to help. Matrix too lol great job, I'd love 15-30 mins eps just you know you :p
    ... Always end up watching them 3 times anyway lol

  • @TheMaplestrip
    @TheMaplestrip 7 ปีที่แล้ว +1

    I'm glad l managed to pop my cellphone out of my sylladex so l could watch this video.

  • @JZX619
    @JZX619 6 ปีที่แล้ว

    Excellent brief info!