title
Complete C++ STL in 1 Video | Time Complexity and Notes

description
Complete Notes: https://takeuforward.org/c/c-stl-tutorial-most-frequent-used-stl-containers/ Check Coding Ninjas Out for 20% Discount: https://bit.ly/3GMlV7Z Notes: https://takeuforward.org/c/c-stl-tutorial-most-frequent-used-stl-containers/ LowerBound and UpperBound Video: https://www.youtube.com/watch?v=edJ19qIL8WQ Check out our Website for curated resources: https://www.takeuforward.org/ Our Second Channel: https://www.youtube.com/channel/UCvEKHATlVq84hm1jduTYm8g In case you are thinking to buy courses, please check below: Link to get a 20% additional Discount at Coding Ninjas: https://bit.ly/3wE5aHx Code "takeuforward" for 20% off on sys-design: https://get.interviewready.io?_aff=takeuforward Crypto, I use the Wazirx app: https://wazirx.com/invite/xexnpc4u Take 750 rs free Amazon Stock from me: https://indmoney.onelink.me/RmHC/idjex744 Earn 100 rs by making a Grow Account for investing: https://app.groww.in/v3cO/8hu879t0 Linkedin/Instagram/Telegram: https://linktr.ee/takeUforward ----------------------------------------------------------------------------------------------------------------------------------------------------

detail
{'title': 'Complete C++ STL in 1 Video | Time Complexity and Notes', 'heatmap': [{'end': 1949.251, 'start': 1783.854, 'weight': 0.938}, {'end': 2320.741, 'start': 2270.629, 'weight': 0.702}], 'summary': 'Covers an introduction to c++ stl and its components, including algorithms, containers, functions, and iterators, with practical examples and emphasis on time complexities, offering a 20% discount on coding ninjas. it delves into pair and vector concepts, vector operations, queue, priority containers, logarithmic time complexity in sets and multisets, map understanding, and algorithms usage in c++.', 'chapters': [{'end': 296.747, 'segs': [{'end': 83.363, 'src': 'embed', 'start': 58.087, 'weight': 0, 'content': [{'end': 65.39, 'text': 'Generically, this is nothing but a library and you would have learned about something like math dot h.', 'start': 58.087, 'duration': 7.303}, {'end': 71.775, 'text': 'so, in order to include all the algorithms in math library, you have to hash include mat dot h.', 'start': 65.39, 'duration': 6.385}, {'end': 77.259, 'text': 'similarly, in order to include all the libraries in string, you have to give string dot h.', 'start': 71.775, 'duration': 5.484}, {'end': 83.363, 'text': 'similarly, if you are wanting to add anything, you have to actually write hash, include the library dot h name for sure.', 'start': 77.259, 'duration': 6.104}], 'summary': 'To include libraries like math.h and string.h in c, use #include directive.', 'duration': 25.276, 'max_score': 58.087, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU58087.jpg'}, {'end': 147.988, 'src': 'embed', 'start': 121.511, 'weight': 2, 'content': [{'end': 126.973, 'text': 'so this works, but if you just omit this line, this will actually give error.', 'start': 121.511, 'duration': 5.462}, {'end': 134.818, 'text': "now, if you don't add this line, you actually have to write std double colon scene of a or std double colon c out of a.", 'start': 126.973, 'duration': 7.845}, {'end': 137.58, 'text': 'this basically takes an input into a.', 'start': 134.818, 'duration': 2.762}, {'end': 141.062, 'text': 'this basically prints the a into the screen.', 'start': 137.58, 'duration': 3.482}, {'end': 146.346, 'text': "so if you don't write using namespace std, this you have to write every time.", 'start': 141.062, 'duration': 5.284}, {'end': 147.988, 'text': "so that's a again hectic process.", 'start': 146.346, 'duration': 1.642}], 'summary': "Omitting 'using namespace std' leads to error and repetitive code, adding complexity.", 'duration': 26.477, 'max_score': 121.511, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU121511.jpg'}, {'end': 285.543, 'src': 'embed', 'start': 261.476, 'weight': 3, 'content': [{'end': 268.318, 'text': 'And also the courses are very well curated, because these courses are prepared by people who have been at IITs as well as Stanford,', 'start': 261.476, 'duration': 6.842}, {'end': 271.399, 'text': 'and by the people who have been at Amazon, Facebook and Google.', 'start': 268.318, 'duration': 3.081}, {'end': 276.26, 'text': "Now if you don't believe it, you can check out the Facebook as well as the Google rating of Coding Ninjas.", 'start': 271.659, 'duration': 4.601}, {'end': 281.502, 'text': 'the best thing about them that i find personally is the doubt resolution time.', 'start': 277.08, 'duration': 4.422}, {'end': 285.543, 'text': 'like the average doubt resolution time in the last one year has been 10 minutes.', 'start': 281.502, 'duration': 4.041}], 'summary': 'Coding ninjas offers well-curated courses with an average doubt resolution time of 10 minutes.', 'duration': 24.067, 'max_score': 261.476, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU261476.jpg'}], 'start': 0.069, 'title': 'Introduction to c++ stl', 'summary': "Introduces c++ stl, a compilation of algorithms, containers, iterators, and functions in a minimized version to facilitate easy access, essential for getting started with dsa. it discusses c++ libraries, 'hash include' usage, 'using namespace std', void and return type functions, with practical examples. the transcript includes a sponsorship message from coding ninjas.", 'chapters': [{'end': 58.087, 'start': 0.069, 'title': 'Introduction to c++ stl', 'summary': 'Introduces c++ stl as a compilation of algorithms, containers, iterators, and functions in a minimized version to facilitate easy access to containers and algorithms, eliminating the need for lengthy codes, essential for getting started with dsa.', 'duration': 58.018, 'highlights': ['STL is a compilation of algorithms, containers, iterators, and functions in a minimized version to eliminate the need for lengthy lines of code, essential for getting started with DSA.', 'STL allows easy access to containers and algorithms without the need to predefine or write lengthy codes, streamlining the process of writing C++ codes.', 'STL is essential for getting started with DSA, emphasizing the importance of understanding and learning C++ STL in depth.', "The skeleton of a C++ code includes the first line 'hash include bits slash std c++ dot h', forming the initial structure of a C++ code."]}, {'end': 296.747, 'start': 58.087, 'title': 'C++ libraries and functions', 'summary': "Discusses including c++ libraries using 'hash include' and the use of 'using namespace std'. it also explains void and return type functions, with examples and practical explanations. the transcript also includes a sponsorship message from coding ninjas.", 'duration': 238.66, 'highlights': ["The chapter discusses including C++ libraries using 'hash include' and the use of 'using namespace std'. Explains the process of including C++ libraries using 'hash include' and the use of 'using namespace std'.", 'It also explains void and return type functions, with examples and practical explanations. Provides explanation and examples of void and return type functions, highlighting their practical applications.', 'The transcript also includes a sponsorship message from Coding Ninjas. Includes a sponsorship message from Coding Ninjas, promoting their courses and highlighting their features such as well-structured and curated courses, as well as fast doubt resolution.']}], 'duration': 296.678, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU69.jpg', 'highlights': ['STL is essential for getting started with DSA, emphasizing the importance of understanding and learning C++ STL in depth.', 'STL allows easy access to containers and algorithms without the need to predefine or write lengthy codes, streamlining the process of writing C++ codes.', "The chapter discusses including C++ libraries using 'hash include' and the use of 'using namespace std'.", 'The transcript also includes a sponsorship message from Coding Ninjas.']}, {'end': 535.353, 'segs': [{'end': 369.777, 'src': 'embed', 'start': 331.019, 'weight': 0, 'content': [{'end': 336.82, 'text': "after that i'll be talking about different algorithms and different functions that do exist in c plus plus stl.", 'start': 331.019, 'duration': 5.801}, {'end': 340.28, 'text': 'so before moving on to containers, you have to actually learn about pairs.', 'start': 336.82, 'duration': 3.46}, {'end': 341.02, 'text': 'now, what is pairs?', 'start': 340.28, 'duration': 0.74}, {'end': 343.141, 'text': 'pairs is a part of utility library.', 'start': 341.02, 'duration': 2.121}, {'end': 347.061, 'text': 'okay now, imagine i say that i want to store couple of integers.', 'start': 343.141, 'duration': 3.92}, {'end': 349.422, 'text': "i'm going to store one and i'm going to store three.", 'start': 347.061, 'duration': 2.361}, {'end': 352.162, 'text': 'so the only way that you can do is you can store it in a pair.', 'start': 349.422, 'duration': 2.74}, {'end': 353.583, 'text': 'now, how is pair defined?', 'start': 352.162, 'duration': 1.421}, {'end': 359.687, 'text': 'you define the pair stuff and then you see the first stuff that you want to store is of integer data type.', 'start': 353.583, 'duration': 6.104}, {'end': 363.131, 'text': 'the second stuff that you want to store is of integer data type.', 'start': 359.687, 'duration': 3.444}, {'end': 365.933, 'text': 'then you enclose them into curly braces.', 'start': 363.131, 'duration': 2.802}, {'end': 369.777, 'text': 'so what happens is this actually stores everything into a variable p.', 'start': 365.933, 'duration': 3.844}], 'summary': 'Explains the use of pairs in c++ stl for storing integers.', 'duration': 38.758, 'max_score': 331.019, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU331019.jpg'}, {'end': 500.249, 'src': 'embed', 'start': 471.945, 'weight': 3, 'content': [{'end': 475.807, 'text': "and in the second guy you say that I'm going to store pair in itself.", 'start': 471.945, 'duration': 3.862}, {'end': 479.311, 'text': 'so basically one comma and the second guy is a pair.', 'start': 475.807, 'duration': 3.504}, {'end': 480.832, 'text': 'so again a curly brace.', 'start': 479.311, 'duration': 1.521}, {'end': 481.773, 'text': 'and three comma, four.', 'start': 480.832, 'duration': 0.941}, {'end': 488.899, 'text': "so that's how you can also store three and eventually, if they're asking you to store four variables, you can go nested, nested, nested, nested.", 'start': 481.773, 'duration': 7.126}, {'end': 490.12, 'text': 'that you can improvise.', 'start': 488.899, 'duration': 1.221}, {'end': 493.884, 'text': "okay. so that's how you actually store more than two variables in a pair.", 'start': 490.12, 'duration': 3.764}, {'end': 500.249, 'text': 'but now, if you want to access this one now, if you remember well enough, i told you pair contains two guys.', 'start': 493.884, 'duration': 6.365}], 'summary': 'Storing and accessing multiple variables in a pair using nested structures.', 'duration': 28.304, 'max_score': 471.945, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU471945.jpg'}], 'start': 296.747, 'title': 'C++ stl containers and nested pairs', 'summary': 'Introduces c++ stl with a 20% discount offer on coding ninjas, followed by an overview of c++ stl divided into four parts: algorithms, containers, functions, and iterators, with a focus on learning about containers, particularly vectors, queues, sets, and maps, as well as the concept of pairs and their usage. additionally, it explains how to store and access multiple variables using nested pairs in c++, demonstrating the ability to store and access more than two variables in a pair and providing an example of accessing the values stored in the nested pairs.', 'chapters': [{'end': 413.728, 'start': 296.747, 'title': 'Introduction to c++ stl containers', 'summary': 'Introduces c++ stl with a 20% discount offer on coding ninjas, followed by an overview of c++ stl divided into four parts: algorithms, containers, functions, and iterators, with a focus on learning about containers, particularly vectors, queues, sets, and maps, as well as the concept of pairs and their usage.', 'duration': 116.981, 'highlights': ['The chapter introduces C++ STL with a 20% discount offer on Coding Ninjas The speaker mentions an additional 20% discount on Coding Ninjas, motivating the audience to check out the platform.', 'Overview of C++ STL divided into four parts: algorithms, containers, functions, and iterators The C++ STL is divided into four parts: algorithms, containers, functions, and iterators, setting the stage for the subsequent learning modules.', 'Focus on learning about containers, particularly vectors, queues, sets, and maps, as well as the concept of pairs and their usage The chapter emphasizes the learning of containers, such as vectors, queues, sets, and maps, and introduces the concept of pairs, illustrating their usage with examples.']}, {'end': 535.353, 'start': 414.528, 'title': 'Nested pairs in c++', 'summary': 'Explains how to store and access multiple variables using nested pairs in c++, demonstrating the ability to store and access more than two variables in a pair and providing an example of accessing the values stored in the nested pairs.', 'duration': 120.825, 'highlights': ['The nested property of pair allows storing multiple variables, demonstrating the ability to store more than two variables in a pair and improvising for storing additional variables.', "Accessing the values stored in the nested pairs is demonstrated, with a clear example of accessing the values using the 'second dot second' notation.", 'Explanation of how to store and access multiple variables using nested pairs, providing a step-by-step guide for achieving this in C++.']}], 'duration': 238.606, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU296747.jpg', 'highlights': ['The chapter introduces C++ STL with a 20% discount offer on Coding Ninjas, motivating the audience to check out the platform.', 'The C++ STL is divided into four parts: algorithms, containers, functions, and iterators, setting the stage for the subsequent learning modules.', 'The chapter emphasizes the learning of containers, such as vectors, queues, sets, and maps, and introduces the concept of pairs, illustrating their usage with examples.', 'The nested property of pair allows storing multiple variables, demonstrating the ability to store more than two variables in a pair and improvising for storing additional variables.', "Accessing the values stored in the nested pairs is demonstrated, with a clear example of accessing the values using the 'second dot second' notation.", 'Explanation of how to store and access multiple variables using nested pairs, providing a step-by-step guide for achieving this in C++.']}, {'end': 1361.452, 'segs': [{'end': 635.297, 'src': 'embed', 'start': 604.109, 'weight': 0, 'content': [{'end': 606.492, 'text': 'So the first container that we will be learning is vectors.', 'start': 604.109, 'duration': 2.383}, {'end': 615.68, 'text': 'Please understand every possible function about vectors, because these functions will be similar in all the other containers, like queue list map set.', 'start': 606.872, 'duration': 8.808}, {'end': 620.264, 'text': 'So please, please make sure you understand all the functions in vector in depth.', 'start': 615.94, 'duration': 4.324}, {'end': 630.032, 'text': 'So, till now, if I ask you to store 5 values, the normal thing you would have done was you would have declared an array of size 5,', 'start': 620.564, 'duration': 9.468}, {'end': 635.297, 'text': 'and that will be giving you access to 5 possible indexes.', 'start': 630.032, 'duration': 5.265}], 'summary': 'Learn vectors thoroughly as they are similar to other containers like queue, list, map, and set.', 'duration': 31.188, 'max_score': 604.109, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU604109.jpg'}, {'end': 715.979, 'src': 'embed', 'start': 687.083, 'weight': 1, 'content': [{'end': 689.524, 'text': 'you just give the vector name, then you give the data type.', 'start': 687.083, 'duration': 2.441}, {'end': 694.625, 'text': 'it can be integer, double char, string, anything, and then you declare the data type name.', 'start': 689.524, 'duration': 5.101}, {'end': 700.767, 'text': "like over here it's v, it can be raj, it can be striver, it can be vec, it can be abcd, it can be anything okay.", 'start': 694.625, 'duration': 6.142}, {'end': 703.528, 'text': "so right after that there's a function as pushback.", 'start': 700.767, 'duration': 2.761}, {'end': 708.872, 'text': "so if you're saying pushback of one, what it does is This line basically does, is it creates an empty container.", 'start': 703.528, 'duration': 5.344}, {'end': 709.252, 'text': 'Remember this.', 'start': 708.892, 'duration': 0.36}, {'end': 710.934, 'text': 'It creates an empty container.', 'start': 709.593, 'duration': 1.341}, {'end': 713.777, 'text': 'In the next line, it says pushback of 1.', 'start': 711.314, 'duration': 2.463}, {'end': 715.979, 'text': "So, this empty container says, okay, I'm empty.", 'start': 713.777, 'duration': 2.202}], 'summary': 'Vector named v can store any data type, and pushback function creates an empty container.', 'duration': 28.896, 'max_score': 687.083, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU687083.jpg'}, {'end': 842.798, 'src': 'embed', 'start': 813.202, 'weight': 2, 'content': [{'end': 814.643, 'text': 'Like this is the size that you can give.', 'start': 813.202, 'duration': 1.441}, {'end': 822.652, 'text': 'So what happens is a container containing 100, like containing 5 instances of 100 is already defined.', 'start': 814.984, 'duration': 7.668}, {'end': 827.373, 'text': "it's a container containing five instances of hundred is already defined.", 'start': 823.172, 'duration': 4.201}, {'end': 833.935, 'text': 'where this is the zeroth index is the first index, this is the second index, this is the third index and this is the fourth index.', 'start': 827.373, 'duration': 6.562}, {'end': 840.617, 'text': 'so container of size five is already defined with five instances of hundred.', 'start': 833.935, 'duration': 6.682}, {'end': 842.798, 'text': "what if I don't want to declare with hundred?", 'start': 840.617, 'duration': 2.181}], 'summary': 'A container with 5 instances of 100 is already defined; exploring alternative declaration.', 'duration': 29.596, 'max_score': 813.202, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU813202.jpg'}, {'end': 935.688, 'src': 'embed', 'start': 903.278, 'weight': 3, 'content': [{'end': 907.12, 'text': 'After this line, if you try this, it increases its size and.', 'start': 903.278, 'duration': 3.842}, {'end': 909.607, 'text': 'inserts one at the back.', 'start': 908.266, 'duration': 1.341}, {'end': 917.514, 'text': 'yes, even if you try this line after this, it will increase its size and expand to a size of six.', 'start': 909.607, 'duration': 7.907}, {'end': 918.395, 'text': 'so it is allowed.', 'start': 917.514, 'duration': 0.881}, {'end': 919.836, 'text': "it's dynamic in nature.", 'start': 918.395, 'duration': 1.441}, {'end': 925.141, 'text': 'you can always increase the size of vector, even if you are pre-defining the size to be five.', 'start': 919.836, 'duration': 5.305}, {'end': 926.222, 'text': 'remember this now.', 'start': 925.141, 'duration': 1.081}, {'end': 928.123, 'text': 'how do you access elements in a vector?', 'start': 926.222, 'duration': 1.901}, {'end': 935.688, 'text': 'one of the easiest ways is imagine your vector is like having 20, 10, 15, 5 and 7.', 'start': 928.123, 'duration': 7.565}], 'summary': 'Vectors can dynamically increase in size, even exceeding the predefined size of five. access elements by their index.', 'duration': 32.41, 'max_score': 903.278, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU903278.jpg'}, {'end': 995.911, 'src': 'embed', 'start': 954.452, 'weight': 4, 'content': [{'end': 958.009, 'text': 'if you say v3, you it actually means five.', 'start': 954.452, 'duration': 3.557}, {'end': 962.31, 'text': 'so you can actually access it in a similar fashion as you do for an array.', 'start': 958.009, 'duration': 4.301}, {'end': 963.971, 'text': "okay, that's how you can access it.", 'start': 962.31, 'duration': 1.661}, {'end': 965.011, 'text': "that's one of the ways.", 'start': 963.971, 'duration': 1.04}, {'end': 972.293, 'text': "like you can write directly v zero or you can write v dot at generally people don't use this, so you can just avoid it.", 'start': 965.011, 'duration': 7.282}, {'end': 975.656, 'text': 'you can simply use the stuff that you use in array.', 'start': 972.293, 'duration': 3.363}, {'end': 977.057, 'text': "okay, what's the other way?", 'start': 975.656, 'duration': 1.401}, {'end': 979.039, 'text': 'the other way is an iterator.', 'start': 977.057, 'duration': 1.982}, {'end': 982.021, 'text': 'yes, the other way is an iterator.', 'start': 979.039, 'duration': 2.982}, {'end': 987.386, 'text': 'now i was telling you that through, uh, through the lecture, we will be learning about containers and iterators.', 'start': 982.021, 'duration': 5.365}, {'end': 989.048, 'text': "so let's understand iterators.", 'start': 987.386, 'duration': 1.662}, {'end': 990.849, 'text': 'What is an iterator?', 'start': 990.049, 'duration': 0.8}, {'end': 995.911, 'text': "Imagine the vector like let's take the same vector, only 15 and 6 and 7..", 'start': 991.549, 'duration': 4.362}], 'summary': 'Learning about accessing vectors and iterators in c++, with emphasis on usage and avoiding unnecessary methods.', 'duration': 41.459, 'max_score': 954.452, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU954452.jpg'}, {'end': 1250.619, 'src': 'embed', 'start': 1221.549, 'weight': 6, 'content': [{'end': 1222.769, 'text': 'so you understood about end.', 'start': 1221.549, 'duration': 1.22}, {'end': 1225.29, 'text': 'but what about something like reverse end?', 'start': 1222.769, 'duration': 2.521}, {'end': 1229.732, 'text': "these couple of things are never used, but just just know it, like it's never ever used.", 'start': 1225.29, 'duration': 4.442}, {'end': 1231.292, 'text': 'what is reverse end?', 'start': 1229.732, 'duration': 1.56}, {'end': 1237.634, 'text': "reverse end basically means i am going to reverse this, i'm going to reverse this.", 'start': 1231.292, 'duration': 6.342}, {'end': 1241.876, 'text': 'so apparently the reverse is 40 at first, then 30, then 20, then 10..', 'start': 1237.634, 'duration': 4.242}, {'end': 1244.437, 'text': 'so now the end is 10, so right after end.', 'start': 1241.876, 'duration': 2.561}, {'end': 1247.318, 'text': "so that's this position is where it will be pointing.", 'start': 1244.437, 'duration': 2.881}, {'end': 1249.119, 'text': "that's this position is where it will be pointing.", 'start': 1247.318, 'duration': 1.801}, {'end': 1250.619, 'text': 'reverse end.', 'start': 1249.119, 'duration': 1.5}], 'summary': 'Explanation of reverse end; values decrease from 40 to 10 in increments of 10.', 'duration': 29.07, 'max_score': 1221.549, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU1221549.jpg'}], 'start': 535.353, 'title': 'Understanding pair and vector in data structures', 'summary': 'Introduces the concept of pair and vector in data structures, explaining their dynamic nature, functions, and declaration, including emphasis on pushback and emplace back for dynamic size modification and element insertion. it also covers vector manipulation, such as defining vectors of pair data type, inserting elements, declaring containers with pre-filled elements, increasing vector size dynamically, and accessing elements using indexes and iterators.', 'chapters': [{'end': 750.25, 'start': 535.353, 'title': 'Understanding pair and vector in data structures', 'summary': 'Introduces the concept of pair and vector in data structures, explaining how pair can be treated as a data type and the dynamic nature of vectors, which allows for size modification and element storage, before delving into the functions and declaration of vectors, with emphasis on pushback and emplace back for dynamic size modification and element insertion.', 'duration': 214.897, 'highlights': ['The chapter introduces the concept of pair and vector in data structures, explaining how pair can be treated as a data type.', 'It emphasizes the dynamic nature of vectors, which allows for size modification and element storage.', 'The chapter explains the functions and declaration of vectors, with emphasis on pushback and emplace back for dynamic size modification and element insertion.']}, {'end': 1361.452, 'start': 750.33, 'title': 'Vector declaration and manipulation', 'summary': 'Covers the declaration and manipulation of vectors in c++, including defining vectors of pair data type, inserting elements using pushback and emplace back, declaring containers with pre-filled elements, copying containers, increasing vector size dynamically, accessing elements using indexes and iterators, and the usage of reverse iterators and v dot back to access vector elements.', 'duration': 611.122, 'highlights': ['Vectors can be defined for pair data type and elements can be inserted using pushback and emplace back, with pushback requiring curly braces for pair insertion and emplace back assuming the input as a pair without the need for curly braces.', 'Containers with pre-filled elements can be declared by specifying the size, and copying containers can be achieved by declaring a new vector and passing the original vector as a parameter.', 'Even after pre-defining the size of a vector, the size can be increased dynamically using push back, allowing for dynamic expansion of the vector.', 'Elements in a vector can be accessed using indexes similar to an array, and iterators can be used to access elements by pointing to the memory addresses and navigating through the vector elements.', 'Additional iterators such as end, reverse end, and reverse begin are available, with end pointing to the memory location after the last element, and reverse iterators moving in the reverse order.', 'V dot back can be used to access the last element in the vector, and vectors can be printed using indexes or iterators to access and print each element.']}], 'duration': 826.099, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU535353.jpg', 'highlights': ['The chapter introduces the concept of pair and vector in data structures, explaining how pair can be treated as a data type.', 'It emphasizes the dynamic nature of vectors, which allows for size modification and element storage.', 'Vectors can be defined for pair data type and elements can be inserted using pushback and emplace back, with pushback requiring curly braces for pair insertion and emplace back assuming the input as a pair without the need for curly braces.', 'Containers with pre-filled elements can be declared by specifying the size, and copying containers can be achieved by declaring a new vector and passing the original vector as a parameter.', 'Even after pre-defining the size of a vector, the size can be increased dynamically using push back, allowing for dynamic expansion of the vector.', 'Elements in a vector can be accessed using indexes similar to an array, and iterators can be used to access elements by pointing to the memory addresses and navigating through the vector elements.', 'Additional iterators such as end, reverse end, and reverse begin are available, with end pointing to the memory location after the last element, and reverse iterators moving in the reverse order.', 'V dot back can be used to access the last element in the vector, and vectors can be printed using indexes or iterators to access and print each element.']}, {'end': 1764.417, 'segs': [{'end': 1388.18, 'src': 'embed', 'start': 1361.452, 'weight': 4, 'content': [{'end': 1365.233, 'text': 'and this is how you can print the entire vector.', 'start': 1361.452, 'duration': 3.781}, {'end': 1369.194, 'text': 'this is how you can print the entire vector, but but but there is a shortcut.', 'start': 1365.233, 'duration': 3.961}, {'end': 1371.335, 'text': 'now you must not be like.', 'start': 1369.614, 'duration': 1.721}, {'end': 1381.878, 'text': 'no one wants to write these long syntaxes, because stl means short, like standard template library, but it means everything in a very simpler fashion.', 'start': 1371.335, 'duration': 10.543}, {'end': 1384.439, 'text': 'so stl gives you something like auto.', 'start': 1381.878, 'duration': 2.561}, {'end': 1388.18, 'text': 'so if you write auto, it automatically assigns it to a vector iterator.', 'start': 1384.439, 'duration': 3.741}], 'summary': "Stl provides a shortcut for printing vectors using 'auto' to simplify syntax.", 'duration': 26.728, 'max_score': 1361.452, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU1361452.jpg'}, {'end': 1426.675, 'src': 'embed', 'start': 1401.327, 'weight': 1, 'content': [{'end': 1407.293, 'text': 'even if you write something like auto of a equal to 5, computer automatically says that this is an integer.', 'start': 1401.327, 'duration': 5.966}, {'end': 1409.015, 'text': 'so this a will be of integer data type.', 'start': 1407.293, 'duration': 1.722}, {'end': 1414.641, 'text': 'so if you write auto, the data type is automatically assigned according to the data.', 'start': 1409.015, 'duration': 5.626}, {'end': 1417.144, 'text': 'according to the data, the data type is automatically assigned.', 'start': 1414.641, 'duration': 2.503}, {'end': 1424.272, 'text': 'like if this would have been something like raj string and I would have written auto of A, A would have been automatically string.', 'start': 1417.144, 'duration': 7.128}, {'end': 1426.675, 'text': 'So, auto means auto assignation.', 'start': 1424.612, 'duration': 2.063}], 'summary': "Using 'auto' in c++ allows automatic assignment of data type, based on the data.", 'duration': 25.348, 'max_score': 1401.327, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU1401327.jpg'}, {'end': 1491.792, 'src': 'embed', 'start': 1463.136, 'weight': 0, 'content': [{'end': 1467.403, 'text': 'This means over here int because it is of integer data type.', 'start': 1463.136, 'duration': 4.267}, {'end': 1472.712, 'text': 'Automatically iterate 10, then 20, then 30 and automatically prints it entirely.', 'start': 1467.884, 'duration': 4.828}, {'end': 1479.483, 'text': "So that's about how to declare a vector, how to use iterator in a vector, how to print a vector.", 'start': 1473.319, 'duration': 6.164}, {'end': 1482.085, 'text': "Now let's understand the deletion in a vector.", 'start': 1479.764, 'duration': 2.321}, {'end': 1484.487, 'text': 'So imagine I want to delete something.', 'start': 1482.786, 'duration': 1.701}, {'end': 1486.288, 'text': 'So there is something as an erase function.', 'start': 1484.647, 'duration': 1.641}, {'end': 1491.792, 'text': 'And if I have the vector like 10, 20, 12, 23, I say begin dot plus one.', 'start': 1486.769, 'duration': 5.023}], 'summary': 'Demonstrates declaring and iterating a vector, and using the erase function for deletion.', 'duration': 28.656, 'max_score': 1463.136, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU1463136.jpg'}, {'end': 1541.516, 'src': 'embed', 'start': 1508.927, 'weight': 3, 'content': [{'end': 1512.65, 'text': 'What does this mean? Begin plus 1 means 20.', 'start': 1508.927, 'duration': 3.723}, {'end': 1518.596, 'text': 'So, if you just do erase of this address, so the vector will be now 10.', 'start': 1512.65, 'duration': 5.946}, {'end': 1519.217, 'text': '12, 13.', 'start': 1518.596, 'duration': 0.621}, {'end': 1525.883, 'text': 'the vector will be reshuffled, the vector will be reshuffled into 10, 12 and 13.', 'start': 1519.217, 'duration': 6.666}, {'end': 1528.445, 'text': 'that is how the reshuffling will go on.', 'start': 1525.883, 'duration': 2.562}, {'end': 1530.507, 'text': 'so that is one way to erase.', 'start': 1528.445, 'duration': 2.062}, {'end': 1533.389, 'text': 'so we have understood how to erase single element.', 'start': 1530.507, 'duration': 2.882}, {'end': 1541.516, 'text': 'but what if i have a vector like 10, 20, 30 and 40 and 50 and I say striver, I want to delete these couple of elements.', 'start': 1533.389, 'duration': 8.127}], 'summary': 'Demonstrating reshuffling and erasing elements in a vector.', 'duration': 32.589, 'max_score': 1508.927, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU1508927.jpg'}, {'end': 1584.965, 'src': 'embed', 'start': 1556.048, 'weight': 5, 'content': [{'end': 1562.543, 'text': "so starting, if I want to delete 20, can I say that's nothing but Begin plus 1..", 'start': 1556.048, 'duration': 6.495}, {'end': 1563.003, 'text': 'I can say.', 'start': 1562.543, 'duration': 0.46}, {'end': 1565.326, 'text': 'Because right after begin that is where 20 is.', 'start': 1563.444, 'duration': 1.882}, {'end': 1567.709, 'text': 'I want to delete 30.', 'start': 1566.227, 'duration': 1.482}, {'end': 1568.991, 'text': 'That is begin plus 2.', 'start': 1567.709, 'duration': 1.282}, {'end': 1569.972, 'text': 'But I said right after.', 'start': 1568.991, 'duration': 0.981}, {'end': 1573.656, 'text': "What do you want to delete? So that's begin plus 3.", 'start': 1570.012, 'duration': 3.644}, {'end': 1575.439, 'text': "That's begin plus 3.", 'start': 1573.656, 'duration': 1.783}, {'end': 1576.32, 'text': '3 is pointing to here.', 'start': 1575.439, 'duration': 0.881}, {'end': 1577.902, 'text': 'So I want to delete this portion.', 'start': 1576.7, 'duration': 1.202}, {'end': 1579.363, 'text': 'But you have to give this end.', 'start': 1578.242, 'duration': 1.121}, {'end': 1584.965, 'text': 'after after the guy that you want to read after, right right after 30, you have to give the address.', 'start': 1580.024, 'duration': 4.941}], 'summary': "Delete operations are performed based on 'begin' position, e.g., deleting 20 is 'begin plus 1'.", 'duration': 28.917, 'max_score': 1556.048, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU1556048.jpg'}, {'end': 1751.58, 'src': 'embed', 'start': 1723.178, 'weight': 6, 'content': [{'end': 1726.301, 'text': "so that's how the insert function does work for this.", 'start': 1723.178, 'duration': 3.123}, {'end': 1730.344, 'text': 'now what if you have a vector and you want to insert it into some other vector?', 'start': 1726.301, 'duration': 4.043}, {'end': 1733.947, 'text': 'now imagine i say that okay, i have a vector like for this example.', 'start': 1730.344, 'duration': 3.603}, {'end': 1734.248, 'text': 'we have 50, 50..', 'start': 1733.947, 'duration': 0.301}, {'end': 1735.669, 'text': 'so i had a 50 and 50 vector.', 'start': 1734.248, 'duration': 1.421}, {'end': 1741.832, 'text': 'okay, now this vector is named as copy, so this is the line that declares that.', 'start': 1737.628, 'duration': 4.204}, {'end': 1751.58, 'text': 'okay, now, I already had this vector 30, 10, 10, 100, 100, and now I want to insert this 50, 50 somewhere.', 'start': 1741.832, 'duration': 9.748}], 'summary': 'Explanation of vector insert function with example data and scenarios.', 'duration': 28.402, 'max_score': 1723.178, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU1723178.jpg'}], 'start': 1361.452, 'title': 'C++ stl and vector operations', 'summary': 'Explains the simplification of syntax using the auto keyword in c++, and covers operations and manipulations of vectors, including printing, deletion, and insertion of elements, with examples and quantifiable data.', 'chapters': [{'end': 1436.987, 'start': 1361.452, 'title': 'C++ stl and auto keyword', 'summary': 'Explains the simplification of syntax using the auto keyword in c++, which automatically assigns data types, making it easier to work with vectors and other data structures.', 'duration': 75.535, 'highlights': ['The auto keyword in C++ simplifies the syntax by automatically assigning data types to variables, making it easier to work with vectors and other data structures.', 'The STL (Standard Template Library) in C++ provides a simpler way to work with data structures, allowing for more efficient and concise code.', 'C++ automatically assigns data types when using the auto keyword, reducing the need for explicit type declarations and making the code more concise and readable.']}, {'end': 1764.417, 'start': 1437.688, 'title': 'Vector operations and manipulations', 'summary': 'Covers operations and manipulations of vectors including printing, deletion, and insertion of elements, using iterators and specific addresses, with examples and quantifiable data.', 'duration': 326.729, 'highlights': ['The chapter covers operations and manipulations of vectors including printing, deletion, and insertion of elements. It provides a comprehensive overview of vector operations, covering printing, deletion, and insertion of elements.', 'Printing a vector using the for each loop iterates through and prints the elements. The for each loop iterates through the vector elements, allowing for easy printing of the elements, such as 10, 20, and 30.', 'The erase function is used to delete specific elements from a vector, reshuffling the vector accordingly. The erase function allows for the deletion of specific elements, reshuffling the vector, for example reshuffling 10, 20, and 30 into 10, 12, and 13.', 'The insert function allows for the insertion of single or multiple elements at specific positions in a vector. The insert function allows for the insertion of single or multiple elements at specific positions in the vector, for example inserting 300 at the start or two occurrences of 10 at a specific position.']}], 'duration': 402.965, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU1361452.jpg', 'highlights': ['The auto keyword in C++ simplifies the syntax by automatically assigning data types to variables, making it easier to work with vectors and other data structures.', 'The STL (Standard Template Library) in C++ provides a simpler way to work with data structures, allowing for more efficient and concise code.', 'C++ automatically assigns data types when using the auto keyword, reducing the need for explicit type declarations and making the code more concise and readable.', 'The chapter covers operations and manipulations of vectors including printing, deletion, and insertion of elements. It provides a comprehensive overview of vector operations, covering printing, deletion, and insertion of elements.', 'Printing a vector using the for each loop iterates through and prints the elements. The for each loop iterates through the vector elements, allowing for easy printing of the elements, such as 10, 20, and 30.', 'The erase function is used to delete specific elements from a vector, reshuffling the vector accordingly. The erase function allows for the deletion of specific elements, reshuffling the vector, for example reshuffling 10, 20, and 30 into 10, 12, and 13.', 'The insert function allows for the insertion of single or multiple elements at specific positions in a vector. The insert function allows for the insertion of single or multiple elements at specific positions in the vector, for example inserting 300 at the start or two occurrences of 10 at a specific position.']}, {'end': 2064.493, 'segs': [{'end': 1949.251, 'src': 'heatmap', 'start': 1764.677, 'weight': 2, 'content': [{'end': 1772.186, 'text': 'If you wanna have a portion of this vector, you can give that starting portion and you can give this after end portion and that will also do it.', 'start': 1764.677, 'duration': 7.509}, {'end': 1773.568, 'text': 'Again, not required.', 'start': 1772.607, 'duration': 0.961}, {'end': 1776.492, 'text': 'What is required is erase and this portion.', 'start': 1773.888, 'duration': 2.604}, {'end': 1779.133, 'text': 'this is hardly required.', 'start': 1777.012, 'duration': 2.121}, {'end': 1779.753, 'text': 'if you just know.', 'start': 1779.133, 'duration': 0.62}, {'end': 1783.854, 'text': 'erase and insert about a single element does okay.', 'start': 1779.753, 'duration': 4.101}, {'end': 1786.135, 'text': "that's how you can easily do about vector.", 'start': 1783.854, 'duration': 2.281}, {'end': 1788.416, 'text': 'now, what are the other functions in vector?', 'start': 1786.135, 'duration': 2.281}, {'end': 1791.797, 'text': 'v? dot size will give you how many elements are there in the vector as of now?', 'start': 1788.416, 'duration': 3.381}, {'end': 1793.878, 'text': 'dot, pop back.', 'start': 1791.797, 'duration': 2.081}, {'end': 1795.118, 'text': 'if this is, the vector pops out.', 'start': 1793.878, 'duration': 1.24}, {'end': 1797.459, 'text': 'the last element, dot swap is very simple.', 'start': 1795.118, 'duration': 2.341}, {'end': 1800.28, 'text': 'if this is a vector v1, this is a vector v2.', 'start': 1797.959, 'duration': 2.321}, {'end': 1802.722, 'text': 'it swaps the vector as the name recommends.', 'start': 1800.28, 'duration': 2.442}, {'end': 1806.064, 'text': "v.clear, doesn't matter how big your vector is.", 'start': 1802.722, 'duration': 3.342}, {'end': 1807.825, 'text': 'trims it down to an empty vector.', 'start': 1806.064, 'duration': 1.761}, {'end': 1809.466, 'text': 'trims it down to an empty vector.', 'start': 1807.825, 'duration': 1.641}, {'end': 1813.708, 'text': 'erases everything, okay, and v.empty says does your vector like?', 'start': 1809.466, 'duration': 4.242}, {'end': 1819.471, 'text': 'if your vector also has like a minimum of one element, it says not empty, not empty.', 'start': 1813.708, 'duration': 5.763}, {'end': 1822.133, 'text': 'but if the vector has nothing, it will say true, empty.', 'start': 1819.471, 'duration': 2.662}, {'end': 1825.555, 'text': 'so these are the functions that are generally required in a vector.', 'start': 1822.133, 'duration': 3.422}, {'end': 1829.343, 'text': 'the next container that we will be learning is list.', 'start': 1826.602, 'duration': 2.741}, {'end': 1837.306, 'text': 'now list is exactly similar to vector, but the only stuff in list is it is it gives you front operations as well.', 'start': 1829.343, 'duration': 7.963}, {'end': 1841.488, 'text': 'now list is a container, again dynamic in nature, same way of declaration.', 'start': 1837.306, 'duration': 4.182}, {'end': 1844.029, 'text': 'you can push back two, you can emplace back four.', 'start': 1841.488, 'duration': 2.541}, {'end': 1850.552, 'text': 'so this is the list that will happen if you push back two and four and after that, if you say push front you, this front goes over here.', 'start': 1844.029, 'duration': 6.523}, {'end': 1853.634, 'text': 'five, like it, directly pushes it into the front.', 'start': 1850.552, 'duration': 3.082}, {'end': 1861.038, 'text': "in vector you had to use the insert operation and if you're inserting somewhere that does take a lot of time,", 'start': 1853.634, 'duration': 7.404}, {'end': 1864.42, 'text': 'like insert function in a vector is very costly.', 'start': 1861.038, 'duration': 3.382}, {'end': 1869.203, 'text': 'like we will, we will read about time complexities in further data algorithmic lectures.', 'start': 1864.42, 'duration': 4.783}, {'end': 1873.126, 'text': 'but as of now, just remember, an insert in a vector is costlier.', 'start': 1869.203, 'duration': 3.923}, {'end': 1880.45, 'text': 'and in list, since the internal operation is a doubly linked list, like a doubly linked list is maintained for a list and for a vector,', 'start': 1873.126, 'duration': 7.324}, {'end': 1882.091, 'text': 'a singly linked list is maintained.', 'start': 1880.45, 'duration': 1.641}, {'end': 1889.997, 'text': 'so thereby something like push front is very, very cheap in terms of complexity, time, complexity wise, when you compare it to a vector.', 'start': 1882.091, 'duration': 7.906}, {'end': 1892.238, 'text': 'okay, and there is in place front as well.', 'start': 1889.997, 'duration': 2.241}, {'end': 1897.821, 'text': 'all of the functions begin, r and reverse and size clear, mp.', 'start': 1892.238, 'duration': 5.583}, {'end': 1901.222, 'text': "all of the functions are similar to vector, so i'll not be explaining that.", 'start': 1897.821, 'duration': 3.401}, {'end': 1903.543, 'text': 'okay, that is about list.', 'start': 1901.222, 'duration': 2.321}, {'end': 1908.984, 'text': 'now the next container that we will be talking about is dq, again similar to list and vector.', 'start': 1903.543, 'duration': 5.441}, {'end': 1917.155, 'text': 'you just declare it push back, push front, pop back, pop front, back front, and all of the functions are similar.', 'start': 1908.984, 'duration': 8.171}, {'end': 1919.016, 'text': "i'm not going to explain this as well.", 'start': 1917.155, 'duration': 1.861}, {'end': 1922.258, 'text': 'it is exactly similar to list and vector.', 'start': 1919.016, 'duration': 3.242}, {'end': 1925.239, 'text': 'so the next container that we will be learning is stack.', 'start': 1922.258, 'duration': 2.981}, {'end': 1928.581, 'text': 'now, stack is something as li fo.', 'start': 1925.239, 'duration': 3.342}, {'end': 1930.582, 'text': 'li fo means last in.', 'start': 1928.581, 'duration': 2.001}, {'end': 1933.844, 'text': 'remember this last in first out.', 'start': 1930.582, 'duration': 3.262}, {'end': 1938.926, 'text': 'The guy who went in last is the guy who will come out at first.', 'start': 1934.424, 'duration': 4.502}, {'end': 1944.149, 'text': 'So, generally, you can just imagine a stack to be a data structure like this.', 'start': 1939.386, 'duration': 4.763}, {'end': 1946.69, 'text': 'And this is how you declare a stack.', 'start': 1944.849, 'duration': 1.841}, {'end': 1949.251, 'text': 'Stack, the data type, and the variable name.', 'start': 1946.75, 'duration': 2.501}], 'summary': 'The transcript covers vector, list, dq, and stack containers, explaining their functions and differences in complexity.', 'duration': 23.739, 'max_score': 1764.677, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU1764677.jpg'}, {'end': 1873.126, 'src': 'embed', 'start': 1829.343, 'weight': 0, 'content': [{'end': 1837.306, 'text': 'now list is exactly similar to vector, but the only stuff in list is it is it gives you front operations as well.', 'start': 1829.343, 'duration': 7.963}, {'end': 1841.488, 'text': 'now list is a container, again dynamic in nature, same way of declaration.', 'start': 1837.306, 'duration': 4.182}, {'end': 1844.029, 'text': 'you can push back two, you can emplace back four.', 'start': 1841.488, 'duration': 2.541}, {'end': 1850.552, 'text': 'so this is the list that will happen if you push back two and four and after that, if you say push front you, this front goes over here.', 'start': 1844.029, 'duration': 6.523}, {'end': 1853.634, 'text': 'five, like it, directly pushes it into the front.', 'start': 1850.552, 'duration': 3.082}, {'end': 1861.038, 'text': "in vector you had to use the insert operation and if you're inserting somewhere that does take a lot of time,", 'start': 1853.634, 'duration': 7.404}, {'end': 1864.42, 'text': 'like insert function in a vector is very costly.', 'start': 1861.038, 'duration': 3.382}, {'end': 1869.203, 'text': 'like we will, we will read about time complexities in further data algorithmic lectures.', 'start': 1864.42, 'duration': 4.783}, {'end': 1873.126, 'text': 'but as of now, just remember, an insert in a vector is costlier.', 'start': 1869.203, 'duration': 3.923}], 'summary': 'Lists offer front operations, dynamic container similar to vectors with push back and push front capabilities.', 'duration': 43.783, 'max_score': 1829.343, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU1829343.jpg'}, {'end': 2013.015, 'src': 'embed', 'start': 1944.849, 'weight': 4, 'content': [{'end': 1946.69, 'text': 'And this is how you declare a stack.', 'start': 1944.849, 'duration': 1.841}, {'end': 1949.251, 'text': 'Stack, the data type, and the variable name.', 'start': 1946.75, 'duration': 2.501}, {'end': 1951.232, 'text': "Okay? So, I've declared the variable name like this.", 'start': 1949.411, 'duration': 1.821}, {'end': 1952.693, 'text': "I'm saying push 1.", 'start': 1951.732, 'duration': 0.961}, {'end': 1954.214, 'text': 'So, I push 1.', 'start': 1952.693, 'duration': 1.521}, {'end': 1955.194, 'text': "I'm saying push 2.", 'start': 1954.214, 'duration': 0.98}, {'end': 1955.954, 'text': 'I push 2.', 'start': 1955.194, 'duration': 0.76}, {'end': 1956.895, 'text': 'I say push 3.', 'start': 1955.954, 'duration': 0.941}, {'end': 1957.815, 'text': 'I push 3.', 'start': 1956.895, 'duration': 0.92}, {'end': 1959.016, 'text': "I'm again saying push 3.", 'start': 1957.815, 'duration': 1.201}, {'end': 1959.776, 'text': 'I push 3.', 'start': 1959.016, 'duration': 0.76}, {'end': 1962.057, 'text': 'I say in place is similar to push.', 'start': 1959.776, 'duration': 2.281}, {'end': 1963.698, 'text': 'So, I say push 5.', 'start': 1962.397, 'duration': 1.301}, {'end': 1966.319, 'text': 'now these are the push operations.', 'start': 1963.698, 'duration': 2.621}, {'end': 1969.719, 'text': 'right after that, if someone says stack.top.', 'start': 1966.319, 'duration': 3.4}, {'end': 1972.26, 'text': "so as i said, who's the last guy who went in?", 'start': 1969.719, 'duration': 2.541}, {'end': 1976.121, 'text': 'the last guy that went in, you know, is nothing but five.', 'start': 1972.26, 'duration': 3.861}, {'end': 1980.822, 'text': 'so this will print five is this will print five.', 'start': 1976.121, 'duration': 4.701}, {'end': 1985.242, 'text': 'now realize this over here indexing access is not allowed.', 'start': 1980.822, 'duration': 4.42}, {'end': 1988.143, 'text': 'you cannot say this is index zero, this is index one.', 'start': 1985.242, 'duration': 2.901}, {'end': 1989.063, 'text': 'something like this.', 'start': 1988.143, 'duration': 0.92}, {'end': 1997.151, 'text': 'you cannot say in stack there are only three functions one is push, one is pop, the other one is top.', 'start': 1989.063, 'duration': 8.088}, {'end': 2002.733, 'text': 'All other there, like size, clear are there, but these are the generic three functions that you have to deal with.', 'start': 1997.371, 'duration': 5.362}, {'end': 2007.874, 'text': "So if I'm saying top, it gives you five, but the five is still in the stack.", 'start': 2003.113, 'duration': 4.761}, {'end': 2009.514, 'text': 'The five is still in the stack.', 'start': 2007.994, 'duration': 1.52}, {'end': 2013.015, 'text': 'Now the moment I say pop, it deletes this from the stack.', 'start': 2009.894, 'duration': 3.121}], 'summary': 'Demonstration of stack operations with push, top, and pop, including examples of push operations and the effect of top and pop on the stack.', 'duration': 68.166, 'max_score': 1944.849, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU1944849.jpg'}], 'start': 1764.677, 'title': 'Vector functions and stl containers', 'summary': 'Discusses vector manipulations and operations including populating, erasing, resizing, and retrieval, as well as the concepts and operations of vector, list, deque, and stack in c++ stl, emphasizing stack behavior and constant time complexity.', 'chapters': [{'end': 1809.466, 'start': 1764.677, 'title': 'Vector functions and manipulations', 'summary': 'Discusses the various functions for manipulating vectors, including populating, erasing, and resizing, and highlights the methods to retrieve vector size and perform swaps and clears.', 'duration': 44.789, 'highlights': ["The 'size' function returns the number of elements in the vector.", "The 'pop back' function removes the last element from the vector.", "The 'swap' function exchanges the contents of two vectors.", "The 'clear' function resets the vector to an empty state, regardless of its previous size."]}, {'end': 2064.493, 'start': 1809.466, 'title': 'Stl containers and stack operations', 'summary': 'Introduces the concepts of vector, list, deque, and stack in c++ stl, highlighting their key features and operations, with an emphasis on the last in first out behavior of the stack and the constant time complexity of stack operations.', 'duration': 255.027, 'highlights': ['The chapter introduces the concepts of vector, list, deque, and stack in C++ STL. Provides an overview of the containers covered in the chapter.', 'Emphasizes the last in first out behavior of the stack. Explains the fundamental behavior of the stack data structure.', 'Highlights the constant time complexity of stack operations. Provides insight into the time efficiency of stack operations, emphasizing their constant time complexity.', 'Describes the operations and characteristics of list and deque, comparing them to vectors. Provides a comparison of list and deque operations with vectors, emphasizing differences in behavior and time complexity.']}], 'duration': 299.816, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU1764677.jpg', 'highlights': ["The 'size' function returns the number of elements in the vector.", "The 'pop back' function removes the last element from the vector.", "The 'swap' function exchanges the contents of two vectors.", "The 'clear' function resets the vector to an empty state, regardless of its previous size.", 'The chapter introduces the concepts of vector, list, deque, and stack in C++ STL. Provides an overview of the containers covered in the chapter.', 'Emphasizes the last in first out behavior of the stack. Explains the fundamental behavior of the stack data structure.', 'Highlights the constant time complexity of stack operations. Provides insight into the time efficiency of stack operations, emphasizing their constant time complexity.', 'Describes the operations and characteristics of list and deque, comparing them to vectors. Provides a comparison of list and deque operations with vectors, emphasizing differences in behavior and time complexity.']}, {'end': 2604.168, 'segs': [{'end': 2146.409, 'src': 'embed', 'start': 2100.24, 'weight': 1, 'content': [{'end': 2105.901, 'text': "So it's the first guy who gets the ticket, this guy, then this guy gets the ticket, and if someone is coming, it's a queue.", 'start': 2100.24, 'duration': 5.661}, {'end': 2106.362, 'text': 'that happens.', 'start': 2105.901, 'duration': 0.461}, {'end': 2109.762, 'text': 'So that is where the concept comes in, first in, first out.', 'start': 2106.722, 'duration': 3.04}, {'end': 2114.484, 'text': "So if I'm saying push 1, I push 1, push 2, I push 2, push 4.", 'start': 2110.103, 'duration': 4.381}, {'end': 2116.684, 'text': 'So I pushed 1, 2 and 4.', 'start': 2114.484, 'duration': 2.2}, {'end': 2119.485, 'text': "And the next line I'm saying queue.back plus equal to.", 'start': 2116.684, 'duration': 2.801}, {'end': 2122.267, 'text': 'But back will mean 4, it does not means this guy.', 'start': 2119.845, 'duration': 2.422}, {'end': 2123.689, 'text': 'Back will mean 4 only.', 'start': 2122.608, 'duration': 1.081}, {'end': 2127.572, 'text': "So over here I'm saying add plus 5, this makes it 9.", 'start': 2124.069, 'duration': 3.503}, {'end': 2128.693, 'text': "I'm now saying q.back.", 'start': 2127.572, 'duration': 1.121}, {'end': 2132.617, 'text': "So if I'm saying q.back, it prints the last guy 9.", 'start': 2129.054, 'duration': 3.563}, {'end': 2137.821, 'text': "If I'm saying q.front, prints 1, just prints, does not deletes.", 'start': 2132.617, 'duration': 5.204}, {'end': 2142.646, 'text': "If I'm saying q.pop, deletes, deletes, deletes the front guy, first 10 guy.", 'start': 2138.422, 'duration': 4.224}, {'end': 2146.409, 'text': 'q.front is now 2, so it prints 2.', 'start': 2143.206, 'duration': 3.203}], 'summary': 'Demonstration of queue operations with specific numerical examples and outcomes.', 'duration': 46.169, 'max_score': 2100.24, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU2100240.jpg'}, {'end': 2193.371, 'src': 'embed', 'start': 2166.448, 'weight': 3, 'content': [{'end': 2172.133, 'text': "It's similar to Q, but there is some something that happens inside which you learn,", 'start': 2166.448, 'duration': 5.685}, {'end': 2175.076, 'text': 'probably after a couple of years when you are appearing for interviews.', 'start': 2172.133, 'duration': 2.943}, {'end': 2177.438, 'text': 'But as of now, just understand the logic.', 'start': 2175.336, 'duration': 2.102}, {'end': 2185.526, 'text': "Okay So remember, if you're declaring priority queue like this, the maximum element stays at the top or the largest element.", 'start': 2177.559, 'duration': 7.967}, {'end': 2187.507, 'text': "If you're using character, the largest character.", 'start': 2185.806, 'duration': 1.701}, {'end': 2189.028, 'text': "If you're using integer, the largest integer.", 'start': 2187.527, 'duration': 1.501}, {'end': 2193.371, 'text': "If you're using the string, the lexicographically largest string will stay at the top.", 'start': 2189.088, 'duration': 4.283}], 'summary': 'Priority queue stores maximum element at the top based on type.', 'duration': 26.923, 'max_score': 2166.448, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU2166448.jpg'}, {'end': 2335.773, 'src': 'heatmap', 'start': 2270.629, 'weight': 5, 'content': [{'end': 2279.743, 'text': 'then this is how the syntax is priority queue data type, vector and this greater int you have to write.', 'start': 2270.629, 'duration': 9.114}, {'end': 2284.087, 'text': 'and if you give this data type and now, if you push 5, 5 is there.', 'start': 2279.743, 'duration': 4.344}, {'end': 2287.75, 'text': 'if you push 2, 2 is there, and if you push 8, 8 is there.', 'start': 2284.087, 'duration': 3.663}, {'end': 2289.311, 'text': 'if you push 10, 10 is there.', 'start': 2287.75, 'duration': 1.561}, {'end': 2292.714, 'text': 'but this time, if you try to access pq.top, 2 will come out.', 'start': 2289.311, 'duration': 3.403}, {'end': 2304.024, 'text': "so that's how you maintain a very simple minimum priority queue and generally it's known as mean heap And this is known as max heap.", 'start': 2292.714, 'duration': 11.31}, {'end': 2308.388, 'text': 'Remember this, the terms that you learn in DS Algo as you move forward.', 'start': 2304.224, 'duration': 4.164}, {'end': 2309.029, 'text': 'What is the time?', 'start': 2308.489, 'duration': 0.54}, {'end': 2310.45, 'text': 'complexity of push?', 'start': 2309.029, 'duration': 1.421}, {'end': 2320.741, 'text': 'Push happens in logarithmic of n, top happens in bigo of 1 and the pop, which is the deletion, again happens in logarithmic of n.', 'start': 2310.931, 'duration': 9.81}, {'end': 2323.223, 'text': 'n. so this is how it happens.', 'start': 2321.181, 'duration': 2.042}, {'end': 2327.666, 'text': "if you don't know what is logarithmic of n, no issues, just keep this in your mind as you move forward.", 'start': 2323.223, 'duration': 4.443}, {'end': 2330.349, 'text': 'you will understand in ds algo.', 'start': 2327.666, 'duration': 2.683}, {'end': 2335.773, 'text': 'now the next container is very, very interesting and that is nothing but the set container.', 'start': 2330.349, 'duration': 5.424}], 'summary': 'Introduction to priority queue data type, including time complexities of push, top, and pop operations.', 'duration': 24.842, 'max_score': 2270.629, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU2270629.jpg'}, {'end': 2398.489, 'src': 'embed', 'start': 2359.507, 'weight': 0, 'content': [{'end': 2360.707, 'text': 'Imagine you say insert two.', 'start': 2359.507, 'duration': 1.2}, {'end': 2365.148, 'text': 'Unique So will it store two again? No, it does not.', 'start': 2361.167, 'duration': 3.981}, {'end': 2366.489, 'text': 'No, it does not.', 'start': 2365.768, 'duration': 0.721}, {'end': 2367.649, 'text': 'It does not stores two.', 'start': 2366.689, 'duration': 0.96}, {'end': 2370.469, 'text': 'If I say insert four, will it? Yes.', 'start': 2368.209, 'duration': 2.26}, {'end': 2372.63, 'text': 'If I say insert three, it will.', 'start': 2371.03, 'duration': 1.6}, {'end': 2375.856, 'text': 'but it will insert it here again.', 'start': 2373.154, 'duration': 2.702}, {'end': 2377.036, 'text': 'a very important thing.', 'start': 2375.856, 'duration': 1.18}, {'end': 2379.178, 'text': 'sorted stores in a sorted order.', 'start': 2377.036, 'duration': 2.142}, {'end': 2386.502, 'text': 'at first it will have one, then it will have two, then it will have three, then it will have four everything in the sorted fashion.', 'start': 2379.178, 'duration': 7.324}, {'end': 2389.303, 'text': 'so it stores everything in the sorted fashion.', 'start': 2386.502, 'duration': 2.801}, {'end': 2392.846, 'text': 'so this is how the set will be storing again a container.', 'start': 2389.303, 'duration': 3.543}, {'end': 2394.126, 'text': 'is it a linear container?', 'start': 2392.846, 'duration': 1.28}, {'end': 2395.747, 'text': 'no, a tree is maintained.', 'start': 2394.126, 'duration': 1.621}, {'end': 2398.489, 'text': "so i'm just explaining you this via this bucket.", 'start': 2395.747, 'duration': 2.742}], 'summary': 'Explanation of how a set stores and maintains elements in sorted order.', 'duration': 38.982, 'max_score': 2359.507, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU2359507.jpg'}], 'start': 2064.774, 'title': 'Queue and priority containers', 'summary': 'Explains the basics of a queue data structure with emphasis on fifo nature and demonstrates push, back, front, and pop operations. it also covers priority queue operations with constant and logarithmic time complexities, and the unique and sorted characteristics of set containers.', 'chapters': [{'end': 2146.409, 'start': 2064.774, 'title': 'Queue data structure basics', 'summary': 'Explains the basics of a queue data structure, emphasizing its first in, first out (fifo) nature and showcasing an example of using push, back, front, and pop operations on a queue.', 'duration': 81.635, 'highlights': ['A queue data structure is similar to a stack, but it follows the FIFO principle, where the first element added is the first to be removed.', 'Illustrates the concept of a queue using an example of buying tickets at a platform, emphasizing the first in, first out principle.', 'Demonstrates the usage of push, back, front, and pop operations on a queue, showcasing how these operations affect the elements in the queue.']}, {'end': 2604.168, 'start': 2146.409, 'title': 'Priority and set containers', 'summary': 'Covers the operations and functionality of priority queue and set containers, including the concepts of max and min heaps, time complexities, and the unique and sorted characteristics of set containers, with priority queue operations occurring in constant and logarithmic time complexities.', 'duration': 457.759, 'highlights': ['Priority queue operations occur in constant and logarithmic time complexities. Push occurs in logarithmic of n, top happens in bigo of 1 and deletion happens in logarithmic of n.', 'Explanation of priority queue functionality, including max and min heap concepts. Covers the functionality of priority queue, distinguishing between max heap and min heap, and the syntax for creating a minimum priority queue.', 'Set container stores elements in sorted order and ensures uniqueness. Explains the characteristics of the set container, emphasizing its storage of elements in sorted order and the preservation of unique elements.', 'Detailed explanation of set container functionality, including find, count, insert, and erase operations. Provides a comprehensive understanding of the set container operations, including find, count, insert, and erase, as well as the usage of iterators and the unique and sorted nature of the set container.']}], 'duration': 539.394, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU2064774.jpg', 'highlights': ['Priority queue operations occur in constant and logarithmic time complexities. Push occurs in logarithmic of n, top happens in bigo of 1 and deletion happens in logarithmic of n.', 'A queue data structure is similar to a stack, but it follows the FIFO principle, where the first element added is the first to be removed.', 'Set container stores elements in sorted order and ensures uniqueness. Explains the characteristics of the set container, emphasizing its storage of elements in sorted order and the preservation of unique elements.', 'Demonstrates the usage of push, back, front, and pop operations on a queue, showcasing how these operations affect the elements in the queue.', 'Illustrates the concept of a queue using an example of buying tickets at a platform, emphasizing the first in, first out principle.', 'Explanation of priority queue functionality, including max and min heap concepts. Covers the functionality of priority queue, distinguishing between max heap and min heap, and the syntax for creating a minimum priority queue.', 'Detailed explanation of set container functionality, including find, count, insert, and erase operations. Provides a comprehensive understanding of the set container operations, including find, count, insert, and erase, as well as the usage of iterators and the unique and sorted nature of the set container.']}, {'end': 2836.387, 'segs': [{'end': 2668.207, 'src': 'embed', 'start': 2641.746, 'weight': 2, 'content': [{'end': 2649.048, 'text': 'like if you try to insert one one, one stores all the occurrence and you try to erase one, but all the occurrences are erased this time.', 'start': 2641.746, 'duration': 7.302}, {'end': 2657.351, 'text': 'but if you do an erase one, it erases everyone and this time count will count you the number of ones in the multi set.', 'start': 2649.048, 'duration': 8.303}, {'end': 2659.982, 'text': 'But if you want to delete,', 'start': 2658.561, 'duration': 1.421}, {'end': 2668.207, 'text': 'imagine your multiset is containing three ones and I just want to delete one occurrence of one or two occurrence of one or three occurrence of one.', 'start': 2659.982, 'duration': 8.225}], 'summary': 'Erasing one from a multiset removes all occurrences, while counting the number of ones reflects the occurrences in the multiset.', 'duration': 26.461, 'max_score': 2641.746, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU2641746.jpg'}, {'end': 2773.387, 'src': 'embed', 'start': 2750.393, 'weight': 1, 'content': [{'end': 2758.88, 'text': 'it has randomized order, like if i put in one, after that i put in five, after that i put in two, after that i put in three, after that i put in six.', 'start': 2750.393, 'duration': 8.487}, {'end': 2759.801, 'text': 'it can have this order.', 'start': 2758.88, 'duration': 0.921}, {'end': 2768.065, 'text': 'it can have any order in the world, but it will just have unique elements, like if i try to insert one again, it will say i have one, i have one,', 'start': 2759.801, 'duration': 8.264}, {'end': 2773.387, 'text': 'and in most of the cases the time complexity is bigo of one.', 'start': 2768.065, 'duration': 5.322}], 'summary': 'Randomized order with unique elements, time complexity is o(1).', 'duration': 22.994, 'max_score': 2750.393, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU2750393.jpg'}, {'end': 2822.599, 'src': 'embed', 'start': 2793.399, 'weight': 0, 'content': [{'end': 2799.184, 'text': 'so all the operations are generically in a bigo of one constant time.', 'start': 2793.399, 'duration': 5.785}, {'end': 2805.929, 'text': 'but in the worst case, which happens once in a millennium, like if the data is pro like,', 'start': 2799.184, 'duration': 6.745}, {'end': 2815.296, 'text': 'possibly given in such a way that they want you to explore the worst case, which does not happen, then the unordered set goes for a.', 'start': 2805.929, 'duration': 9.367}, {'end': 2817.217, 'text': 'we go often linear time.', 'start': 2815.296, 'duration': 1.921}, {'end': 2822.599, 'text': 'it goes for the worst case again does not happens every day, happens once in a blue moon.', 'start': 2817.217, 'duration': 5.382}], 'summary': 'Operations are generally o(1), but worst case occurs once in a millennium, leading to unordered set going into o(n) time.', 'duration': 29.2, 'max_score': 2793.399, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU2793399.jpg'}], 'start': 2604.168, 'title': 'Logarithmic time complexity in sets and multisets and c++ set, multiset, and unorderedset', 'summary': 'Discusses logarithmic time complexity in sets and multisets, emphasizing efficiency and functionality, and explains c++ set, multiset, and unordered set, highlighting differences in storage and time complexity, with unordered set having a time complexity of o(1) for most operations.', 'chapters': [{'end': 2707.682, 'start': 2604.168, 'title': 'Logarithmic time complexity in sets and multisets', 'summary': 'Discusses the logarithmic time complexity of set operations, the distinction between sets and multisets, and the usage of multiset.erase to delete specific occurrences, emphasizing the efficiency and functionality of these data structures.', 'duration': 103.514, 'highlights': ['The set data structure operates in logarithmic time complexity for both insertion and erasure, ensuring efficient performance for large datasets.', 'Multiset differs from set in that it allows multiple occurrences of elements, and the multiset.erase function can be used to delete specific occurrences based on their position in the multiset, providing flexibility in data manipulation.', 'The multiset.find function can be utilized to locate the first occurrence of a specific element, and combined with multiset.erase, it enables precise deletion of desired occurrences within the multiset, enhancing control and efficiency in data management.']}, {'end': 2836.387, 'start': 2707.682, 'title': 'C++ set, multiset, and unorderedset', 'summary': 'Explains the concepts of c++ set, multiset, and unordered set, highlighting their differences in terms of storage of unique and sorted elements, as well as the time complexity of operations, with the unordered set having a time complexity of o(1) for most operations but potentially going up to o(n) in rare worst-case scenarios.', 'duration': 128.705, 'highlights': ['The time complexity of unordered set operations is generally O(1), except for lower bound and upper bound functions, but in rare worst-case scenarios, it can go up to O(n).', 'Unordered set does not store elements in a sorted order, and the order of elements is randomized, making it suitable for scenarios requiring unique elements with a time complexity of O(1) for most operations.', 'Multiset stores everything in a sorted but not unique manner, allowing for the storage of multiple occurrences of elements, while set stores unique and sorted elements with a time complexity of O(log n) for most operations.']}], 'duration': 232.219, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU2604168.jpg', 'highlights': ['Unordered set has a time complexity of O(1) for most operations.', 'Multiset differs from set by allowing multiple occurrences of elements.', 'The set data structure operates in logarithmic time complexity for both insertion and erasure.']}, {'end': 3265.716, 'segs': [{'end': 2925.537, 'src': 'embed', 'start': 2874.608, 'weight': 0, 'content': [{'end': 2880.511, 'text': 'So map, you can think this as a data structure or a container, which says the roll number is my key.', 'start': 2874.608, 'duration': 5.903}, {'end': 2883.212, 'text': 'And over here, the value can be the name.', 'start': 2881.451, 'duration': 1.761}, {'end': 2885.854, 'text': 'So this is what the data structure means.', 'start': 2883.893, 'duration': 1.961}, {'end': 2890.756, 'text': "You store unique keys because you can't have 23 roll numbers twice.", 'start': 2886.454, 'duration': 4.302}, {'end': 2891.977, 'text': 'You can have it just once.', 'start': 2891.136, 'duration': 0.841}, {'end': 2894.378, 'text': 'So the keys are unique.', 'start': 2892.437, 'duration': 1.941}, {'end': 2897.68, 'text': 'The keys are unique, but the values can be like.', 'start': 2894.978, 'duration': 2.702}, {'end': 2899.462, 'text': 'Over here, there can be a Raj.', 'start': 2898.482, 'duration': 0.98}, {'end': 2900.783, 'text': 'Over here, there can be a Raj.', 'start': 2899.943, 'duration': 0.84}, {'end': 2903.784, 'text': 'So there is one guy with key 3 who is Raj.', 'start': 2900.803, 'duration': 2.981}, {'end': 2905.705, 'text': 'There is one guy with key 50 who is Raj.', 'start': 2903.824, 'duration': 1.881}, {'end': 2909.647, 'text': 'There can be duplicate values, but it has to be a unique key.', 'start': 2906.025, 'duration': 3.622}, {'end': 2916.83, 'text': 'So you can think map as a container which stores everything in respect of key and values.', 'start': 2910.007, 'duration': 6.823}, {'end': 2918.271, 'text': 'And very important thing.', 'start': 2917.25, 'duration': 1.021}, {'end': 2922.156, 'text': 'this key can be of any data structure.', 'start': 2919.355, 'duration': 2.801}, {'end': 2924.417, 'text': 'it can be integer, sorry, any data type.', 'start': 2922.156, 'duration': 2.261}, {'end': 2925.537, 'text': 'it can be integer.', 'start': 2924.417, 'duration': 1.12}], 'summary': 'Map stores unique keys and respective values, allowing duplicate values but ensuring unique keys of any data type.', 'duration': 50.929, 'max_score': 2874.608, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU2874608.jpg'}, {'end': 3083.452, 'src': 'embed', 'start': 3056.106, 'weight': 3, 'content': [{'end': 3059.067, 'text': 'These three lines will be storing like this.', 'start': 3056.106, 'duration': 2.961}, {'end': 3061.308, 'text': 'So, again, if you want to.', 'start': 3059.567, 'duration': 1.741}, {'end': 3065.485, 'text': 'explore or if you want to iterate on the map.', 'start': 3062.384, 'duration': 3.101}, {'end': 3069.847, 'text': 'one of the ways is you start from begin iterator and you go on till end iterator.', 'start': 3065.485, 'duration': 4.362}, {'end': 3071.087, 'text': 'similar in the vector.', 'start': 3069.847, 'duration': 1.24}, {'end': 3074.469, 'text': 'all you do is you say it, you run a for each loop.', 'start': 3071.087, 'duration': 3.382}, {'end': 3077.27, 'text': 'first time id is here, so it stores in a pair.', 'start': 3074.469, 'duration': 2.801}, {'end': 3079.21, 'text': 'next time id is here, stores in a pair.', 'start': 3077.27, 'duration': 1.94}, {'end': 3081.191, 'text': 'next time id is here, it stores in a pair.', 'start': 3079.21, 'duration': 1.981}, {'end': 3083.452, 'text': 'if it is storing in a pair, this is it dot first.', 'start': 3081.191, 'duration': 2.261}], 'summary': 'Iterating through lines and storing in pairs, using iterators and for-each loops.', 'duration': 27.346, 'max_score': 3056.106, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU3056106.jpg'}, {'end': 3206.131, 'src': 'embed', 'start': 3177.173, 'weight': 4, 'content': [{'end': 3183.854, 'text': 'Now over here, if you try to do dot find 5 and 5 is not there, it points to nothing but dot end.', 'start': 3177.173, 'duration': 6.681}, {'end': 3186.515, 'text': 'End means after the map, after the map.', 'start': 3184.014, 'duration': 2.501}, {'end': 3187.295, 'text': 'Okay, make sense?', 'start': 3186.755, 'duration': 0.54}, {'end': 3190.256, 'text': 'And again, the lower bound and upper bound functions.', 'start': 3188.115, 'duration': 2.141}, {'end': 3194.997, 'text': 'if you have seen the video in the description, you can understand how lower bound and upper bound works.', 'start': 3190.256, 'duration': 4.741}, {'end': 3198.978, 'text': 'Okay, and all the other functions like array, swap, size, empty are same.', 'start': 3195.317, 'duration': 3.661}, {'end': 3200.298, 'text': "So I'm not going to explain it again.", 'start': 3199.018, 'duration': 1.28}, {'end': 3206.131, 'text': 'next thing is multi map, similar to map.', 'start': 3202.529, 'duration': 3.602}], 'summary': 'Explanation of dot end, lower bound, upper bound, array functions, and multi map.', 'duration': 28.958, 'max_score': 3177.173, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU3177173.jpg'}, {'end': 3265.716, 'src': 'embed', 'start': 3240.746, 'weight': 2, 'content': [{'end': 3245.847, 'text': 'unordered map will have unique keys, but it will not be sorted.', 'start': 3240.746, 'duration': 5.101}, {'end': 3252.984, 'text': 'and the difference is like the map works in logarithmic of time and unordered map in the.', 'start': 3245.847, 'duration': 7.137}, {'end': 3256.287, 'text': 'in almost all cases works in constant time.', 'start': 3252.984, 'duration': 3.303}, {'end': 3258.85, 'text': 'in the worst case it goes for b go of n again.', 'start': 3256.287, 'duration': 2.563}, {'end': 3262.914, 'text': 'this worst case happens once in a blue moon, not always.', 'start': 3258.85, 'duration': 4.064}, {'end': 3265.716, 'text': 'in almost all the cases, b go of 1 is what appears.', 'start': 3262.914, 'duration': 2.802}], 'summary': 'Unordered map has unique unsorted keys, works in constant time for almost all cases, with worst case being logarithmic time.', 'duration': 24.97, 'max_score': 3240.746, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU3240746.jpg'}], 'start': 2836.627, 'title': 'Data differentiation and map understanding', 'summary': "Discusses the use of roll numbers for individual differentiation, demonstrating with examples of 'raj' individuals having unique roll numbers. it also explains the concepts of maps, multi-maps, and unordered maps, emphasizing their functionalities and time complexities.", 'chapters': [{'end': 2874.087, 'start': 2836.627, 'title': 'Data differentiation with roll numbers', 'summary': "Discusses differentiating individuals with the same name using roll numbers, illustrating the concept with examples of multiple 'raj' individuals having distinct roll numbers like 23, 25, and 28, highlighting the effectiveness of roll numbers in distinguishing individuals in a class setting.", 'duration': 37.46, 'highlights': ["The roll numbers effectively differentiate individuals with the same name, such as multiple 'Raj' individuals having roll numbers 23, 25, and 28, providing a clear distinction (quantifiable data: roll numbers 23, 25, 28).", 'In a class setting with 50 people, the roll numbers are used for storage and differentiation, with each individual assigned a unique roll number, demonstrating the widespread application of this method (quantifiable data: 50 people).']}, {'end': 3265.716, 'start': 2874.608, 'title': 'Understanding maps and containers', 'summary': 'Explains the concept of map as a data structure that stores unique keys and corresponding values, allowing for traversal in a sorted order. it also introduces multi-map and unordered map, highlighting the differences and time complexities.', 'duration': 391.108, 'highlights': ['Map stores unique keys in sorted order and allows traversal in a sorted order of keys, similar to set data structure. Map stores unique keys in sorted order, ensuring no duplicates. Traversal in a sorted order of keys is possible.', 'Accessing a key in the map returns its corresponding value, and accessing a non-existent key returns null or zero. Accessing a key in the map retrieves its corresponding value. Accessing a non-existent key returns null or zero.', 'Introduction to multi-map, allowing storage of duplicate keys in a sorted order, and unordered map, which stores unique keys in a randomized manner with constant time complexity in most cases. Multi-map permits the storage of duplicate keys in a sorted order. Unordered map stores unique keys in a randomized manner with constant time complexity in the majority of cases.']}], 'duration': 429.089, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU2836627.jpg', 'highlights': ["The roll numbers effectively differentiate individuals with the same name, such as multiple 'Raj' individuals having roll numbers 23, 25, and 28, providing a clear distinction (quantifiable data: roll numbers 23, 25, 28).", 'In a class setting with 50 people, the roll numbers are used for storage and differentiation, with each individual assigned a unique roll number, demonstrating the widespread application of this method (quantifiable data: 50 people).', 'Introduction to multi-map, allowing storage of duplicate keys in a sorted order, and unordered map, which stores unique keys in a randomized manner with constant time complexity in most cases. Multi-map permits the storage of duplicate keys in a sorted order. Unordered map stores unique keys in a randomized manner with constant time complexity in the majority of cases.', 'Map stores unique keys in sorted order and allows traversal in a sorted order of keys, similar to set data structure. Map stores unique keys in sorted order, ensuring no duplicates. Traversal in a sorted order of keys is possible.', 'Accessing a key in the map returns its corresponding value, and accessing a non-existent key returns null or zero. Accessing a key in the map retrieves its corresponding value. Accessing a non-existent key returns null or zero.']}, {'end': 4047.188, 'segs': [{'end': 3384.704, 'src': 'embed', 'start': 3309.733, 'weight': 0, 'content': [{'end': 3316.758, 'text': "But in C++ STL, if you just write the line sort A comma, it's a 4 size.", 'start': 3309.733, 'duration': 7.025}, {'end': 3323.246, 'text': 'So, this actually means the first position, the first position or the first iterator, the starting iterator.', 'start': 3317.238, 'duration': 6.008}, {'end': 3325.407, 'text': 'And this means the last iterator.', 'start': 3323.647, 'duration': 1.76}, {'end': 3331.549, 'text': 'A plus four actually means this portion, the end portion, the last iterator.', 'start': 3326.267, 'duration': 5.282}, {'end': 3338.491, 'text': 'Again, similar to something like start, start is included and end is not included.', 'start': 3332.349, 'duration': 6.142}, {'end': 3344.433, 'text': 'So you write the starting iterator, which is A, which actually points to this, and A plus four, which actually points to this.', 'start': 3338.911, 'duration': 5.522}, {'end': 3347.054, 'text': 'So all the elements are sorted.', 'start': 3344.853, 'duration': 2.201}, {'end': 3351.247, 'text': 'Right after this line, it will have 1, 2, 3, 5.', 'start': 3347.887, 'duration': 3.36}, {'end': 3354.269, 'text': "So, you don't have to actually use merge shot, bubble shot, selection shot.", 'start': 3351.248, 'duration': 3.021}, {'end': 3356.01, 'text': 'It sorts that into one line.', 'start': 3354.709, 'duration': 1.301}, {'end': 3359.411, 'text': "And if you're using vector, the starting is begin.", 'start': 3356.81, 'duration': 2.601}, {'end': 3362.572, 'text': 'This is the ending, the starting iterator and the ending iterator.', 'start': 3360.171, 'duration': 2.401}, {'end': 3366.693, 'text': 'So, in this way, you can sort any container, not map, all like all.', 'start': 3362.892, 'duration': 3.801}, {'end': 3368.671, 'text': 'not map.', 'start': 3367.89, 'duration': 0.781}, {'end': 3371.473, 'text': "i'm talking about vectors and arrays over here.", 'start': 3368.671, 'duration': 2.802}, {'end': 3381.741, 'text': "okay, now, what if i just wanted, like i had something like one, three, two, five, and rather let's keep it like five, two, okay,", 'start': 3371.473, 'duration': 10.268}, {'end': 3384.704, 'text': 'and i wanted just this portion to be sorted.', 'start': 3381.741, 'duration': 2.963}], 'summary': 'C++ stl sort function can sort elements using starting and ending iterators, making sorting efficient and easy.', 'duration': 74.971, 'max_score': 3309.733, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU3309733.jpg'}, {'end': 3537.116, 'src': 'embed', 'start': 3505.673, 'weight': 2, 'content': [{'end': 3506.753, 'text': 'Now, these couple of guys.', 'start': 3505.673, 'duration': 1.08}, {'end': 3510.146, 'text': 'having same second element.', 'start': 3508.004, 'duration': 2.142}, {'end': 3519.574, 'text': 'now, if they have the same second element, i want you to sort it according to the first element, but in descending, which means i want you to have 4,', 'start': 3510.146, 'duration': 9.428}, {'end': 3525.193, 'text': 'comma 1 at first and then 2, comma 1 means among them, among them.', 'start': 3519.574, 'duration': 5.619}, {'end': 3527.293, 'text': 'i wanted to sort it according to descending.', 'start': 3525.193, 'duration': 2.1}, {'end': 3537.116, 'text': 'so first four, then two, and then you can write so first, sorted according to the second, and if there is a group which is having the same second,', 'start': 3527.293, 'duration': 9.823}], 'summary': 'Sort the pairs based on second element, then first element in descending order', 'duration': 31.443, 'max_score': 3505.673, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU3505673.jpg'}, {'end': 4047.188, 'src': 'embed', 'start': 4023.555, 'weight': 3, 'content': [{'end': 4030.039, 'text': "because that is the only thing that keeps me motivated to make these kind of content, and if you're probably the first time on this channel,", 'start': 4023.555, 'duration': 6.484}, {'end': 4034.101, 'text': 'please do consider subscribing, because i have a lot of content regarding trees, graphs, dynamic programming,', 'start': 4030.039, 'duration': 4.062}, {'end': 4036.703, 'text': 'dsa that might help you in your longer run.', 'start': 4034.101, 'duration': 2.602}, {'end': 4040.164, 'text': 'so please make sure you subscribe to this channel as well and you can like this video.', 'start': 4036.703, 'duration': 3.461}, {'end': 4043.486, 'text': 'and yeah, please please do comment, because that keeps me going with this.', 'start': 4040.164, 'duration': 3.322}, {'end': 4044.787, 'text': "i'll be wrapping up this video.", 'start': 4043.486, 'duration': 1.301}, {'end': 4046.087, 'text': "let's meet in some other video till then.", 'start': 4044.787, 'duration': 1.3}, {'end': 4047.188, 'text': 'bye, bye, take care, see ya.', 'start': 4046.087, 'duration': 1.101}], 'summary': 'Creator encourages subscribing for content on trees, graphs, dynamic programming, and dsa.', 'duration': 23.633, 'max_score': 4023.555, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU4023555.jpg'}], 'start': 3266.357, 'title': 'Learning and using algorithms in c++', 'summary': 'Emphasizes the importance of learning essential algorithms while coding, including sorting an array and using c++ stl for sorting and various operations, such as creating custom comparators and finding maximum elements.', 'chapters': [{'end': 3309.273, 'start': 3266.357, 'title': 'Learning important algorithms', 'summary': 'Covers the importance of learning important algorithms, emphasizing the significance of understanding certain algorithms while coding and deferring non-essential algorithms, along with an example of sorting an array and considering various sorting algorithms.', 'duration': 42.916, 'highlights': ['The significance of learning important algorithms while coding, deferring non-essential ones, and learning them as required, is emphasized.', 'Example of sorting an array of size 4 and considering various sorting algorithms like bubble sort, merge sort, and selection sort is provided.']}, {'end': 4047.188, 'start': 3309.733, 'title': 'C++ stl sorting and algorithms', 'summary': 'Covers sorting elements in c++ stl using the sort function, sorting in descending order, creating custom comparators, using built-in pop count, generating permutations, and finding the maximum element in an array.', 'duration': 737.455, 'highlights': ['Using sort function to sort elements in C++ STL The sort function in C++ STL can be used to sort elements in a container like arrays and vectors with a single line of code, eliminating the need for manual sorting algorithms.', 'Sorting elements in descending order To sort elements in descending order, the greater int comparator can be used with the sort function, providing a simple way to achieve descending sorting.', 'Creating custom comparators for sorting Custom comparators can be created to specify unique sorting criteria, such as sorting pairs based on the second element in increasing order and the first element in decreasing order.', 'Understanding built-in pop count function The built-in pop count function in C++ STL can be used to determine the number of set bits in a binary number, providing a convenient way to perform bit manipulation.', 'Generating permutations of a string The next permutation function can be used to generate all permutations of a string, allowing for the creation of unique combinations and arrangements of the characters.', 'Finding the maximum element in an array The max element function can be utilized to efficiently find the maximum element in an array, providing a built-in algorithm for identifying the largest value.']}], 'duration': 780.831, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/RRVYpIET_RU/pics/RRVYpIET_RU3266357.jpg', 'highlights': ['The significance of learning important algorithms while coding, deferring non-essential ones, and learning them as required, is emphasized.', 'Using sort function to sort elements in C++ STL The sort function in C++ STL can be used to sort elements in a container like arrays and vectors with a single line of code, eliminating the need for manual sorting algorithms.', 'Creating custom comparators for sorting Custom comparators can be created to specify unique sorting criteria, such as sorting pairs based on the second element in increasing order and the first element in decreasing order.', 'Finding the maximum element in an array The max element function can be utilized to efficiently find the maximum element in an array, providing a built-in algorithm for identifying the largest value.', 'Example of sorting an array of size 4 and considering various sorting algorithms like bubble sort, merge sort, and selection sort is provided.']}], 'highlights': ['STL is essential for getting started with DSA, emphasizing the importance of understanding and learning C++ STL in depth.', 'The chapter introduces C++ STL with a 20% discount offer on Coding Ninjas, motivating the audience to check out the platform.', 'The chapter introduces the concept of pair and vector in data structures, explaining how pair can be treated as a data type.', 'The auto keyword in C++ simplifies the syntax by automatically assigning data types to variables, making it easier to work with vectors and other data structures.', 'Priority queue operations occur in constant and logarithmic time complexities. Push occurs in logarithmic of n, top happens in bigo of 1 and deletion happens in logarithmic of n.', "The roll numbers effectively differentiate individuals with the same name, such as multiple 'Raj' individuals having roll numbers 23, 25, and 28, providing a clear distinction (quantifiable data: roll numbers 23, 25, 28).", 'In a class setting with 50 people, the roll numbers are used for storage and differentiation, with each individual assigned a unique roll number, demonstrating the widespread application of this method (quantifiable data: 50 people).', 'The significance of learning important algorithms while coding, deferring non-essential ones, and learning them as required, is emphasized.', 'Using sort function to sort elements in C++ STL The sort function in C++ STL can be used to sort elements in a container like arrays and vectors with a single line of code, eliminating the need for manual sorting algorithms.']}