Thank you so much this is very clear and easy to understand!
@Idrees_m_aziz23 күн бұрын
cardinality... not magnitude.
@karthik-varma-1579Ай бұрын
Most needed vudeo
@bodourmohamed1305Ай бұрын
You made it very simple, thank you🤍
@amy-cv2nw2 ай бұрын
Thank you so much for the simple explanation, this was so helpful!
@lanternofthegreen2 ай бұрын
What a cliffhanger. Then what? How do you align the queries?
@A-DokkoiSHOW2 ай бұрын
I really wish i could attend this class omg
@ryandas56442 ай бұрын
Cse 101 exam today! Look who popped up on my feed professor niema❤
@niemasd2 ай бұрын
Good luck on the exam! You got this 😄
@carabineers2 ай бұрын
song name? i bought this game aswell thank you! i codded an AI and a weather app with this, (and help of my friends!)
@niemasd2 ай бұрын
I'm so glad you're enjoying the game! And awesome to hear that you made an AI and a weather app 🙂Here's the link to the song (it's Creative Commons license: ccmixter.org/files/tobias_weber/56664)
@hitarthk2 ай бұрын
we can probably save on some space by storing map<character, child_pointer>. So every node doesn't use space of |∑| pointers
@niemasd2 ай бұрын
@@hitarthk Absolutely! But only if you expect relatively few children per node compared to the total alphabet size (as Hash Maps need lots of extra space to maintain the O(1) average case time complexity)
@hitarthk2 ай бұрын
@@niemasd thanks. yes that makes sense. But then I am wondering how this map version of the trie compare against ternary search trees (kzbin.info/www/bejne/mIjEiZeueq2Ul8k&ab_channel=NiemaMoshiri)
@1090persian3 ай бұрын
thank you so much , but how we can count the patterns ? for example there are two AN in BANANA and two NA in BANANA too .
@niemasd3 ай бұрын
@@1090persian Counting them is out of the scope of this video (we just get a binary "yes" or "no", but Pavel Pevzner and Phillip Compeau's "Bioinformatics Algorithms" KZbin videos cover the topic further, including how to get the actual count
@rc_woshimao9573 ай бұрын
PROFESSOR NIEMA LE GOAT
@user-wr4yl7tx3w3 ай бұрын
Can you not also design a better hash function?
@niemasd3 ай бұрын
Sure! But all hashing related videos I'm showing are assuming all of your hash functions are excellent: they all uniformly distribute hash values across all possible integers. In other words, we're assuming that, if there are M columns in my Count-Min Sketch, the probability that my element maps to any given index is 1/M
@ericbolander87423 ай бұрын
I never understood this until now, thank you!!!
@UwUAroze3 ай бұрын
if you look at your points in a different order, you'll have a different looking tree. does that matter..?
@niemasd3 ай бұрын
@@UwUAroze That does indeed matter; great insight! 😄 Much like how, with a BST, you typically want to optimize the insertion order in some way to make the tree well-balanced, the same logic applies for K-D Trees. There are algorithms for building well-balanced K-D Trees from a given dataset; see here: en.wikipedia.org/wiki/K-d_tree#Construction
@UwUAroze3 ай бұрын
@@niemasd oh so it matters from a standpoint of optimising the nns search/etc, but regardless of order it would be able to do the search with the correct answer?
@alejandroorregoroldan10123 ай бұрын
Nuevo seguidor, muy buen tutorial, ni los tutoriales en mi idioma los entendi tan bien como este👋
@Abhi-pv2qf3 ай бұрын
Thanks man
@logantodd59434 ай бұрын
This was fascinating, thank you.
@mitenmehta794 ай бұрын
may use some concrete example like n = 1million and FP<1% and showing math will be helpful.
@soumyajitchatterjee58225 ай бұрын
Beautiful
@linnaeusbundalian92905 ай бұрын
Hello. I cannot access the file (lecture slides)
@niemasd5 ай бұрын
Woops, thank you for catching that! I archived a lot of my teaching-related files from past quarters, and I forgot that the lecture slides for this course were being linked in the KZbin descriptions. I am away from my computer at the moment, but I'll repost them soon, and I'll follow up in another reply to this comment when I do
@niemasd5 ай бұрын
Okay, I just updated the links to all of the lecture slides in this playlist, so it should work now! Please feel free to comment again on any of them if the link seems broken. Thanks again for catching this 🙂
@linnaeusbundalian92905 ай бұрын
@@niemasd thanks a lot for sharing
@mlemImlem5 ай бұрын
very good explanation thank you for teaching this
@InsocialDev5 ай бұрын
Abstract data type is basically the abstraction of data structure at the user-level ( high-end programming)
@niemasd5 ай бұрын
@@InsocialDev Essentially! I would personally slightly adjust it and say that an Abstract Data Type is an abstraction of a container, and that we can use Data Structures to *implement* ADTs. In other words, I would start with the abstract (the ADT essentially just defines what operations *should exist*, without any details about how they work or how fast they are), and then transition to the concrete (the Data Structure then defines *how* the operations will work, and as a result, how fast they will be). But both ways of thinking are essentially equivalent 😄
@InsocialDev5 ай бұрын
@@niemasd Thanks for the correction🥰
@niemasd5 ай бұрын
@@InsocialDev Thank you for watching the video! 😄
@ilioscio6 ай бұрын
This is just what I was looking for, thanks for the information
@dmytroboiko16 ай бұрын
This is super useful, thanks!
@MadpolygonDEV7 ай бұрын
I wish it included an example in the end where you showed how we could find point within a threshold, as in find the closest points to a target etc. great video though
@onescYT7 ай бұрын
Wow
@dkkogmaw13117 ай бұрын
but this approach leading to cache misses if we use linked lists for collisions or am I wrong?
@niemasd7 ай бұрын
Great insight! Yes, in practice, it is common to use an array-based structure (e.g. an Array List) as the separation chain, but it's ultimately up to the implementation
@ArshamMikaeili-xy1td7 ай бұрын
Great talk! Special thank to Neima and Dr. Carter.
@ranasameh20867 ай бұрын
thanks ❤
@channelname94687 ай бұрын
why talk about linear probing in a video about double hashing
@48_subhambanerjee227 ай бұрын
LOVE FROM INDIA ❤❤
@kirakiraspm7 ай бұрын
very underrated video!
@warguy64747 ай бұрын
dayum prof niema the goat even back then, time to get back to study for cse100 final 🐐🐐🐐🐐🐐
@niemasd7 ай бұрын
LOL I've been super into console hacking since middle school! Been doing this a loooong time 😂 Good luck with the final!!
@sonofgod008 ай бұрын
But i am still trying to understand the time complexity
@sonofgod008 ай бұрын
Thanks for making DFS BFS simple
@SINDRASENAGOWDU8 ай бұрын
i cant understand the hard example ..please explain
@Xn_Fdez8 ай бұрын
Gracias por el video máquina! Muy buena explicación.
@SirajahamedDharmayath8 ай бұрын
What happens if the keys are in ascending order and priorities are in descending order? Won't the treap become skewed and lose the balanced property? How is this handled?
@niemasd8 ай бұрын
Yes, that is the worst case scenario for a Treap (keys and priorities are both sorted), which results in O(n) time complexity just like the BST worst case. You'll how Treaps are useful (and how this worst case scenario becomes unlikely in practical uses) in the Randomized Search Tree video
@zuowang51858 ай бұрын
and you didn't finish the video? just left with a not optimal solution
@niemasd8 ай бұрын
It continues in the next video in the playlist... kzbin.info/aero/PLM_KIlU0WoXmkV4QB1Dg8PtJaHTdWHwRS&si=ZZkCLwbNvCIhDwdF
@jy69608 ай бұрын
nice
@skiller1799 ай бұрын
u the best
@TcG7o39 ай бұрын
in case 2 if I insert a new node to a black parent it violates the depth. will it still considered case 2 or not?
@niemasd9 ай бұрын
I'm not sure I understand your question; can you clarify? New nodes are inserted as red nodes, so if the new red node has a black parent, no need to do anything: it's already valid
@nottofind9 ай бұрын
What is the DOI of the original Burrows Wheeler Transformation Paper? I can't find it :/ Great explanation though!
@niemasd9 ай бұрын
Great question! BWT was originally not intended for this task (it was originally intended for data compression), and the original BWT paper can be found here: www.eecs.harvard.edu/~michaelm/CS222/burrows-wheeler.pdf *To my knowledge*, this is the first paper that applies BWT to the "match a bunch of short strings to a single long string" problem in Bioinformatics: doi.org/10.1186%2Fgb-2009-10-3-r25 Also, *to my knowledge*, this is the first paper that applies BWT to genomic data: doi.org/10.1089/cmb.2005.12.943
@MathComputerScienceTradi-ge7tw10 ай бұрын
But how to implement in code
@yesyas597210 ай бұрын
All clear, thanks
@traindeluxe378910 ай бұрын
Great explanation. what tool do you use to draw and how do you send the output to main screen?
@niemasd10 ай бұрын
Thank you! I wrote a guide about my workflow here (I use a Paint-like drawing tool, and I use OBS to capture the drawing canvas): github.com/niemasd/teaching/blob/master/Tutorials/VideosKhanAcademy.md