Programming Practices Algorithms and Data Structures
What you’ll learn
Basic concepts of Algorithms from programming practices perspective
Basic concepts of Data structures from programming practices perspective
A clear explanation of commonly used data strctures and algorithms independent of programming language
Decision framework to choose the optimal data strcuture and algorithm
No programming experience needed. Familiarity with one or more programming languages would be definitely helpful to appreciate the generic knowledge.
Welcome to Practical Algorithms and Data Structures for Programming, a one-hour course designed to help you understand and effectively use algorithms and data structures in your programming practice. This course covers a wide range of topics, from the basics of algorithms and data structures to more advanced concepts, with a focus on real-world programming scenarios.Note: The content of this course is also published as part of an in-depth course titled “Programming Practices Bootcamp for production ready coding.”Course Outline:Course IntroductionOverview of algorithms and data structures in programming practicesData Structures: HashMapPrimary Purpose, Implementation Overview, ConsiderationsShould You Write Your Own Hash Function, ConclusionAlgorithms and Data Structures IntroductionOverview, Complex Data Structures, Understanding the BasicsSearch AlgorithmsLinear Complexity Concept, Linear Search ExampleUnderstanding the Language Libraries, Logarithmic ComplexitySorted Data Is Better for SearchSorting AlgorithmsIntroduction, Basic Concept, Implement and UnderstandPivot Vulnerability, Tuning to Handle Data PatternsAlgorithm Libraries, Comparison Functions, Return Types, and Error ConditionsAlgorithm Big O NotationNecessity, Small Data Behavior SurprisesData Structures: Dynamic ArraysIntroduction, Advantages, Maintaining Sorted CostReallocation, Deleting Elements, Moving DataData Structures: ListsIntroduction, Basic Concept, Storage StrategyReorganization Strategy, Validity After ModificationsWhen to Use Lists, Availability in Different LanguagesData Structures: TreesIntroduction, Types of Trees, CRUD OperationsTraversals, Real-World Applications of TreesBy the end of this course, you’ll have a solid understanding of algorithms and data structures, and how to effectively use them in your programming practice. With practical examples and insights, this course will help you enhance your programming skills and build more efficient applications. Enroll now and start mastering algorithms and data structures for programming!
Section 1: Introduction
Lecture 1 Introduction
Section 2: Software Practices for programming with Algorithms and Data Structures
Lecture 2 Overview
Lecture 3 Data structure overview
Lecture 4 Complex Data Strcutures
Lecture 5 Importance of understanding the basics
Section 3: Algorithms and programming practices
Lecture 6 Search algorithms
Lecture 7 The concept of linear complexity in algorithms
Lecture 8 Example of linear search
Lecture 9 Algorithm implementations provided by the programming language libraries
Lecture 10 Algorithms and logarithmic complexity (coding interview favorite! )
Lecture 11 Why sorting is important for search algorithms?
Section 4: Sorting Algorithms
Lecture 12 Introduction
Lecture 13 Basic Concept of sorting algorithms from programming practices perspective
Lecture 14 Curcial to implement yourself to understand the basics well
Lecture 15 Quick sort and the pivot vulnerability
Lecture 16 Reality is more prone to data patterns than the coding interview tries to show
Section 5: Algorithms and Libraries
Lecture 17 Using libraries for algorithms is recommended instead or reinventing the wheel
Lecture 18 The role of comparison functions in algorithms and programming practices
Lecture 19 Return types and Error conditions related programming practices for algorithms
Section 6: The Big-O notation overview
Lecture 20 Algorithms and the famous Big O notation
Lecture 21 Necessity for seemigly confusion theoretical notation and procedure to calculate
Lecture 22 Theory is good but reality can pack some surprises.
Section 7: Dynamic Arrays Data Strcutures
Lecture 23 Basic concept of Dynamic Arrays
Lecture 24 Adavantages provided by dyanmics array data structures
Lecture 25 Sorting and dynamic arrays
Lecture 26 Resource management of growing dynamic arrays
Lecture 27 Deleteing Elements from a dynamic array
Lecture 28 Data movement and dynamic arrays
Section 8: List data structure
Lecture 29 Overview of List as a data structure
Lecture 30 Basic concept
Lecture 31 Storage Strategy used by List
Lecture 32 Reorganization strategy used by list
Lecture 33 Data validity post modification
Lecture 34 When to use list data structure?
Lecture 35 Does every language provide a built in list data structure?
Section 9: Tree data structure
Lecture 36 Overview
Lecture 37 Types of trees
Lecture 38 CRUD operations on trees
Lecture 39 Tree traversals for data access
Lecture 40 Who uses trees?
Section 10: Hashmap data structure
Lecture 41 Introduction
Lecture 42 Primary Purpose of hashmap data structures
Lecture 43 How are hashmap implemented? (pseudo code)
Lecture 44 Consideration while working with hashmaps
Lecture 45 Should one write their own hash functions everytime?
Section 11: Conclusion
Lecture 46 Closing remarks
Lecture 47 [Bonus Lecture]
Beginner developers,Students who have recently learned any programming language,Programmers curious to understand the importance of algorithms and data strcutures in software engineering.
Udemy | English | 0h 53m | 277.36 MB
Created by: RougeNeuron Academy