# Programming Practices Algorithms and Data Structures

Software practices, Algorithms, Data Structures, Software Engineering, Productivity, Clean Code

0/5

## 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

### Requirements

No programming experience needed. Familiarity with one or more programming languages would be definitely helpful to appreciate the generic knowledge.

### Overview

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.

#### Course Information:

Udemy | English | 0h 53m | 277.36 MB