4.61 sur 5
4.61

Maîtriser les structures de données et les algorithmes en C et C++

Apprenez, analysez et implémentez la structure de données en utilisant C et C++. Apprenez la récursivité et le tri.
Apprenez diverses structures de données populaires et leurs algorithmes.
Développez vos compétences analytiques sur la structure des données et utilisez-les efficacement.
Apprendre des algorithmes récursifs sur des structures de données
En savoir plus sur les différents algorithmes de tri
Implémentation de Structures de Données en C et C++

Vous êtes peut-être nouveau dans la structure de données ou vous avez déjà étudié et mis en œuvre des structures de données, mais vous pensez toujours que vous devez en savoir plus sur la structure de données en détail afin qu’elle vous aide à résoudre des problèmes difficiles et à utiliser efficacement la structure de données.

Ce cours de 53 heures couvre chaque sujet plus en détail, chaque sujet est traité sur le tableau blanc, ce qui améliorera vos compétences en résolution de problèmes et en analyse. Chaque structure de données est discutée, analysée et mise en œuvre avec un codage pratique ligne par ligne.

 

Après avoir terminé le cours

Après avoir terminé ce cours, vous serez suffisamment confiant pour résoudre tout problème difficile de codage à l’aide de structures de données.

 

Contenu du cours

1. Récursivité

2. Représentation des tableaux

3. Tableau ADT

4. Liste liée

5. Pile

6. Files d’attente

7. Arbres

8. Arbre de recherche binaire

9. Arbres AVL

10. Graphiques

11. Technique de hachage

Before we Start

1
Instructor's Note
2
Introduction

Essential C and C++ Concepts

1
Arrays Basics
2
Practice : Arrays Basics
3
Structures
4
Practice : Structures
5
Pointers
6
Practice : Pointers
7
Reference in C++
8
Practice : Reference
9
Pointer to Structure
10
Practice : Pointer to Structure
11
Functions
12
Practice : Functions
13
Parameter Passing Methods
14
Practice : Parameter Passing Methods
15
Array as Parameter
16
Practice : Array as Parameter
17
Structure as Parameter
18
Practice : Structure as Parameter
19
Structures and Functions (Must Watch)
20
Converting a C program to a C++ class (Must Watch)
21
Practice : Monolithic Program
22
Practice : Modular Program
23
Practice : Structure and Functions
24
Practice : Object-Oriented Program
25
C++ Class and Constructor
26
Practice : C++ Class
27
Template classes
28
Practice : Template Class

Required Setup for Programming

1
Online C and C++ compiler
2
Setup CodeBlocks and Settings
3
Setup Dev-C++ and Settings
4
Debugging using Dev-C++
5
Debugging using CodeBlocks
6
Setup Visual Studio
7
Debugging using Visual Studio
8
Setup Xcode

Introduction

1
Introduction

Learn What are Data Structures.

Comparing

1. Data Structure

2. Database

3. Datawarehouse

4. Big Data

2
Stack vs Heap Memory

Learn How program uses Main Memory. How program uses sections of Memory

3
Stack vs Heap. Continued...

Learn How function uses Stack, how memory is allocated when the function is called.

Learn how Heap is used with the help of Pointers

4
Physical vs Logical Data Structures

Difference between Physical and Logical Data Structures

Physical : Array and Linked List

Logical : Stack,Queues, Trees, Graphs, Hashtables

5
ADT

Learn what does it mean by Abstract Datatypes

6
Time and Space Complexity

Learn How to Analyse Time and Space of any Algorithm on Data Structures, based on working of Algorithm

7
Time and Space Complexity from Code

Learn How to Analyse based on Code of Algorithm

Recursion

1
How Recursion Works ( Tracing )

Learn how to trace a Recursion

2
Generalising Recursion

General form of Recursion and its phases

1. Ascending Phase

2. Descending Phase

3
How Recursion uses Stack

Learn how Recursion uses Stack

4
Recurrence Relation - Time Complexity of Recursion

Learn how to find the Time complexity of Recursion using Recurrence Relation

5
Lets Code Recursion
6
Static and Global Variables in Recursion

Learn how Static and Global variables are used in Recursion

7
Let's Code Static and Global in Recursion
8
Tail Recursion

Learn What does it mean by Tail Recursion, a recursion processing at calling time

9
Head Recursion

Learn what does it mean by Head Recursion, a recursion processing at returning time

10
Tree Recursion

Learn Tree Recursion, a Recursion calling itself more than one time

11
Let's Code Tree Recursion
12
Indirect Recursion

Learn Indirect Recursion. two or more functions calling each other recursively.

13
Let's Code Indirect Recursion
14
Nested Recursion

Learn Nested Recursion. a Function call is passed as parameter to itself.

15
Let's Code Nested Recursion
16
Sum of Natural Number using Recursion

Finding Sum of first n natural numbers using Recursion and Iteration

17
Let's Code Sum of N using Recursion
18
Factorial using Recursion

Finding Factorial using Recursion.

19
Let's Code Factorial using Recursion
20
Power using Recursion

Finding Power using Recursion and computing using less number of multiplications

21
Let's Code Power Recursion
22
Taylor Series using Recursion

Recursive function for Taylor Series using Static variables

23
Let's Code Taylor Series using Recursion
24
Taylor Series using Horner's Rule

Apply Horner's Rule to reduce number of multiplications in Taylor Series.

25
Let's Code Taylor Series Horner's Rule - Recursion
26
Let's Code Taylor Series Iterative
27
Fibonacci Series using Recursion - Memoization

Learn about Fibonacci Series.

1. Iterative method for Fibonacci Series.

2. Recursive Method.

3. Using Memoization

28
Let's Code Fibonacci
29
nCr using Recursion

Learn how to devise a Recursive function for nCr formula using Pascals Triangle

30
Let's Code nCr using Recursion
31
Tower of Hanoi Problem

Devising a Recursive function for Tower of Hanoi

32
Let's Code Tower of Hanoi
33
Recursion
34
Quiz 1 Solutions

Arrays Representations

1
Introduction to Array

1. What is an Array

2. Declaring and Initialising Array

3. Accessing Elements of an Array

2
Declarations of Array
3
Demo - Array Declaration
4
Static vs Dynamic Arrays

Learn how to create Array in Stack and Heap.

5
Demo - Static vs Dynamic Array
6
How to Increase Array Size

How to change Size of an Array

7
Demo - Increasing Array Size
8
2D Arrays

Learn various methods of creating 2D Array

9
Demo - 2D Array
10
Array Representation by Compiler

How Compiler manage Arrays, How compilers use Relative addresses

11
Row Major Formula for 2D Arrays

Learn how Compilers use Relative address for Representing 2D arrays

12
Column Major Formula for 2D Arrays

Learn how Compilers use Relative address for Representing 2D arrays

13
Formulas for nD Arrays

Learn how Compilers use Relative address for Representing nD arrays

14
Formulas for 3D Arrays

Learn how Compilers use Relative address for Representing 3D arrays

15
Arrays Representation
16
Solutions for Quiz 2

Array ADT

1
Array ADT

Learn how to represent Array as Abstract Datatype

2
Demo - Array ADT
3
Inserting in an Array

Learn How to Insert an element in an Array at a given index by shifting elements

find the time complexity

4
Let's Code Insert
5
Deleting from Array

Deleting an Element from given index

Time complexity

Best and Worst case Analysis

6
Let's Code Delete
7
Linear Search

Linear Search and its Analysis

Find Best Worst and Average Case Time

8
Improving Linear Search

How to improve Linear Search for future Searches.

9
Let's Code Linear Search
10
Binary Search

Learn how to Devise Binary Search

11
Binary Search Algorithm

Write an Algorithm for Binary Search

Recursive Algorithm

Iterative Algorithm

12
Let's Code Binary Search
13
Analysis of Binary Search

Learn how to Analyse Binary Search

Best Case Analysis

Worst Case Analysis

14
Average Case Analysis of Binary Search

Learn how to do Average Case of Binary Search using Tree method

15
Get( ) Set( ) Avg( ) Max( ) functions on Array

Learn How to perform Get() / Set()/ Max() / Min()  Operations on an Array

16
Let's Code Get() Set() Max() on Array
17
Reverse and Shift an Array

Learn Methods to Reverse elements of an Array

Learn what does it mean by Shifting elements

18
Lest's Code Reversing an Array
19
Check if Array is Sorted

Learn how to Check if Array is Already Sorted

Learn How to insert an element in a Sorted position

Learn how to arrange All negatives on one side and Positives another side.

20
Let's Code to check if Array is Sorted
21
Merging Arrays
22
Let's Code to Merge Arrays
23
Set operations on Array - Union, Intersection and Difference
24
Let's Code Set operations on Array
25
Let's Code a Menu Driver program for Arrays
26
Let's convert C program for Array to C++
27
Let's Put all together in C++ program for Array
28
Student Challenge : Finding Single Missing Element in an Array
29
Student Challenge : Finding Multiple Missing Elements in an Array
30
Student Challenge : Finding Missing Element in an Array Method 2
31
Student Challenge Finding Duplicates in a Sorted Array
32
Student Challenge : Finding Duplicates in Sorted Array using Hashing
33
Student Challenge : Finding Duplicates in a Unsorted Array
34
Student Challenge : Finding a Pair of Elements with sum K
35
Student Challenge : Finding a Pair of Elements with sum K in Sorted Array
36
Student Challenge : Finding Max and Min in a single Scan
37
Array ADT
38
Solutions for Quiz 3

Strings

1
Introduction to Strings
2
Finding Length of a String
3
Changing Case of a String
4
Counting Words and Vowels in a String
5
Validating a String
6
Reversing a String
7
Comparing Strings and Checking Palindrome
8
Finding Duplicates in a String
9
Finding Duplicates in a String using Bitwise Operations
10
Checking if 2 Strings are Anagram (distinct letters)
11
Permutation of String

Matrices

1
Section Introduction

Introduction to Section

2
Diagonal Matrix

Learn How to Represent Diagonal Matrix in a Single Dimension Array by storing only non-zero elements

3
Let's Code Diagonal Matrix
4
C++ class for Diagonal Matrix
5
Let's Code C++ class for Diagonal matrix
6
Lower Triangular Matrix Row-Major Mapping

Learn How to Represent Lower Triangular Matrix in a Single Dimension Array by storing only non-zero elements

Row-by-Row Representation

7
Lower Triangular Matrix Column-Major Mapping

Learn How to Represent Lower Triangular Matrix in a Single Dimension Array by storing only non-zero elements

Column-by-Column Representation

8
Let's Code Lower Triangular Matrix in C
9
Let's Code Lower Triangular Matrix in C++
10
Upper Triangular Matrix Row-Major Mapping

Learn How to Represent Upper Triangular Matrix in a Single Dimension Array by storing only non-zero elements

Row-by-Row Representation

11
Upper Triangular Matrix Column-Major Mapping

Learn How to Represent Upper Triangular Matrix in a Single Dimension Array by storing only non-zero elements

Column-by-Column Representation

12
Symmetric Matrix

Learn How to Represent Symmetric Matrix in a Single Dimension Array by storing only non-zero elements


13
Tri-Diagonal and Tri-Band Matrix

Learn How to Represent Trim-Diagonal and Trim-Band Matrix in a Single Dimension Array by storing only non-zero elements

14
Toeplitz Matrix

Learn How to Represent Toeplitz Matrix in a Single Dimension Array by storing only non-zero elements


15
Menu Driven Program for Matrices
16
Menu Driven Program for Matrices using Functions
17
How to Write C++ Classes for All Matrices
18
Matrices

Sparse Matrix and Polynomial Representation

1
Sparse Matrix Representation

Learn How to Represent a Sparse Matrix

1. 3-Column Representation

2. Compressed Sparse Row Representation

2
Addition of Sparse Matrices

Learn How to Add 2 Sparse Matrices using Representation

3
Array Representation of Sparse Matrix

Learn how to Create a Data Structure for storing Sparse Matrix

4
Let's Code to Create Sparse Matrix
5
Program for Adding Sparse Matrix
6
Let's Code to Add Sparse Matrix
7
Let's Code Sparse Matrix using C++
8
Let's Code Sparse Matrix using C++ Continued.....
9
Polynomial Representation

Learn about Polynomial Representation

10
Polynomial Evaluation

Learn how to Evaluate Polynomial using its Representation

11
Polynomial Addition

Learn how to Add 2 Polynomials using representation

12
Let's Code Polynomial

Linked List

1
Why we need Dynamic Data Structure Linked List

Learn why we need Linked List

Drawbacks of Array

Benefit of Linked List

2
About Linked List

Learn Basics of Linked List

1.What is a Linked List

2. What is a Node

3. How to define and Create Node

4. Accessing a Node

3
More About Linked List

Learn Important Syntax used for Linked List

4
Display Linked List

Learn ho to Display a Linked List

Iterative Method

Recursive Method

5
Let's Code Display for Linked List
6
Recursive Display of Linked List
7
Let's Code Recursive Display for Linked List
8
Counting Nodes in a Linked List
9
Sum of All Elements in a Linked List
10
Let's Code Count and Sum
11
Maximum Element in a Linked List
12
Let's Code Max for Linked List
13
Searching in a Linked List
14
Improve Searching in Linked List
15
Let's Code Searching in Linked List
16
Inserting in a Linked List
17
Let's Code Insert for Linked List
18
Creating a Linked List using Insert
19
Creating a Linked List by Inserting at Last
20
Inserting in a Sorted Linked List
21
Let's Code Insert in Sorted Linked List
22
Deleting from Linked List
23
Let's Code Delete on Linked List
24
Check if a Linked List is Sorted
25
Let's Code to check if Linked List is Sorted
26
Remove Duplicates from Sorted Linked List
27
Let's Code to Remove Duplicates from Sorted Linked List
28
Reversing a Linked List
29
Reversing using Sliding Pointers
30
Recursive Reverse for Linked List
31
Let's Code Reversing a Linked List
32
Concatenating 2 Linked Lists
33
Merging 2 Linked Lists
34
Let's Code to Concatenate and Merge Linked Lists
35
Check for LOOP in Linked List
36
Let's Code to Check LOOP
37
Let's Code a C++ class for Linked List
38
Circular Linked List
39
Display Circular Linked List
40
Let’s Code Circular Linked List
41
Inserting in a Circular Linked List
42
Let's Code Insert for a Circular Linked List
43
Deleting From Circular Linked List
44
Let's Code Delete for Circular Linked List
45
Doubly Linked List
46
Let's Code Doubly Linked List
47
Insert in a Doubly Linked List
48
Let's Code Insert for Doubly Linked List
49
Deleting from Doubly Linked List
50
Let's Code Delete for Doubly Linked List
51
Reverse a Doubly Linked List
52
Let's Code Reverse for Doubly Linked List
53
Circular Doubly Linked List
54
Comparison of Linked List
55
Comparison of Array with Linked List
56
Student Challenge : Finding Middle Element of a Linked List.
57
Student Challenge : Finding Intersecting point of Two Linked List
58
Linked List

Sparse Matrix and Polynomial using Linked List

1
Student Challenge : Sparse Matrix using Linked List
2
Student Challenge: Polynomial Representation using Linked List
3
Let's Code Polynomial

Stack

1
Introduction to Stack
2
Stack using Array
3
Implementation os Stack using Array
4
Let's Code Stack using Array
5
Stack using Linked List
6
Stack Operations using Linked List
7
Let's Code Stack using Linked List
8
Let's Code C++ class for Stack using Linked List
9
Parenthesis Matching
10
Program for Parenthesis Matching
11
Let's Code Parenthesis Matching
12
More on Parenthesis Matching
13
Infix to Postfix Conversion
14
Associativity and Unary Operators
15
Infix to Postfix using Stack Method 1
16
Infix to Postfix using Stack Method 2
17
Program for Infix to Postfix Conversion
18
Let's Code Infix to Postfix Conversion
19
Student Challenge: Infix to Postfix with Associativity and Parenthesis
20
Evaluation of Postfix Expression
21
Program for Evaluation of Postfix
22
Let's Code Evaluation of Postfix
23
Stack

Queues

1
Queue ADT
2
Queue using Single Pointer
3
Queue using Two Pointers
4
Implementing Queue using Array
5
Let's Code Queue using Array
6
Let's Code Queue in C++
7
Drawback of Queue using Array
8
Circular Queue
9
Let's Code Circular Queue
10
Queue using Linked List
11
Let's Code Queue using Linked List
12
Double Ended Queue DEQUEUE
13
Priority Queues
14
Queue using 2 Stacks
15
Queue

Trees

1
Terminology
2
Number of Binary Trees using N Nodes
3
Height vs Nodes in Binary Tree
4
Internal Nodes vs External Nodes in Binary Tree
5
Strict Binary Tree
6
Height vs Node of Strict Binary Tree
7
Internal vs External Nodes of Strict Binary Trees
8
n-ary Trees
9
Analysis of n-Ary Trees
10
Representation of Binary Tree
11
Linked Representation of Binary Tree
12
Full vs Complete Binary Tree
13
Strict vs Complete Binary Tree
14
Binary Tree Traversals
15
Binary Tree Traversal Easy Method 1
16
Binary Tree Traversal Easy Method 2
17
Binary Tree Traversal Easy Method 3
18
Creating Binary Tree
19
Program to Create Binary Tree
20
Let's Code Creating Binary Tree
21
Let's Code Creating Binary Tree in C++
22
Preorder Tree Traversal
23
Inorder Tree Traversals Functions
24
Iterative Preorder
25
Iterative Inorder
26
Let's Code Iterative Traversals
27
Level Order Traversal
28
Let's Code Level Order Traversal
29
Can we Generate Tree from Traversals
30
Generating Tree from Traversals
31
Height and Count of Binary Tree
32
Let's Code Height and Count
33
Student Challenge : Count Leaf Nodes of a Binary Tree
34
Binary Trees

Binary Search Trees

1
BST intro
2
Searching in a Binary Search Tree
3
Inserting in a Binary Search Tree
4
Recursive Insert in Binary Search Tree
5
Creating a Binary Search Tree
6
Let's code Binary Search Tree
7
Deleting from Binary Search Tree
8
Let's Code Recursive Insert and Delete on BST
9
Generating BST from Preorder
10
Program for Generating BST from Preorder
11
Drawbacks of Binary Search Tree
12
Binary Search Trees

AVL Trees

1
Introduction to AVL Trees
2
Inserting in AVL with Rotations
3
General form of AVL Rotations
4
Let's Code LL Rotation on AVL
5
Let's Code LR Rotation on AVL
6
Generating AVL Tree
7
Deletion from AVL Tree with Rotations
8
Height Analysis of AVL Trees

Search Trees

1
2-3 Trees
2
2-3-4 Trees
3
Red-Black Trees Introduction
4
Red-Black Tree creation
5
Red-Black Trees vs 2-3-4 Trees
6
Creating Red-Black Tree similar to Creating 2-3-4 Tree
7
Red-Black Tree Deletion Cases
8
Red-Black Tree Deletion Examples
9
Red-Black Tree vs 2-3-4 Tree Deletion

Heap

1
Introduction to Heap
2
Inserting in a Heap
3
Program to Insert in a Heap
4
Creating a Heap
5
Deleting from Heap and Heap Sort
6
Let's Code Heap Sort
7
Heapify - Faster Method for creating Heap
8
Heap as Priority Queue

Sorting Techniques

1
Criteria used for Analysing Sorts
2
Bubble Sort
3
Let's Code Bubble Sort
4
Insertion Sort
5
Insertion Sort Continued....
6
Program for Insertion Sort
7
Analysis of Insertion Sort
8
Let's Code Insertion Sort
9
Comparing Bubble and Insertion Sort
10
Selection Sort
11
Program for Selection Sort
12
Analysis of Selection Sort
13
Let's Code Selection Sort
14
Idea behind Quick Sort
15
Quick Sort
16
Analysis of Quick Sort
17
Analysis of Quick Sort Continued.....
18
Let's Code Quick Sort
19
Merging
20
Iterative Merge Sort
21
Let's Code Iterative Merge Sort
22
Recursive Merge Sort
23
Let's Code Recursive Merge Sort
24
Count Sort
25
Let's Code Count Sort
26
Bin / Bucket Sort
27
Radix Sort
28
Shell Sort
29
Let's Code Shell Sort

Hashing Technique

1
Introduction to Hashing
2
Chaining
3
Let's Code Chaining
4
Linear Probing
5
Let's Code Linear Probing
6
Quadratic Probing
7
Double Hashing
8
Hash Function Ideas
9
Hashing

Graphs

1
Introduction to Graphs
2
Representation of Undirected Graph
3
Representation of Directed Graphs
4
Breadth First Search
5
Program for BFS
6
Depth First Search
7
Program for DFS
8
Let's Code BFS & DFS
9
Spanning Trees
10
Prim's Minimum Cost Spanning Tree
11
Prim's Program
12
Let's Code Prim's using
13
Kruskal's Minimum Cost Spanning Tree
14
Disjoint Subsets
15
Kruskal's Program
16
Let's Code Kruskla's Program
17
Graphs

Asymptotic Notations

1
Asymptotic Notations Big Oh , Omega , Theta
2
PDF for All Programs
Vous pouvez afficher et ru00e9viser les supports de cours indu00e9finiment, comme une chau00eene u00e0 la demande.
Absolumentu00a0! Si vous disposez d'une connexion Internet, les cours sur WeCours sont disponibles u00e0 tout moment sur n'importe quel appareil. Si vous n'avez pas de connexion Internet, certains instructeurs permettent u00e9galement u00e0 leurs u00e9tudiants de tu00e9lu00e9charger les cours. instructeur, alors assurez-vous d'u00eatre du bon cu00f4tu00e9u00a0!
4.6
4.6 sur 5
Notes34938

Détails des Notes

Étoiles 5
21989
Étoiles 4
10416
Étoiles 3
2074
Étoiles 2
259
Étoiles 1
242
Garantie de remboursement de 30 jours

Inclut

59 heures de vidéo à la demande
articles 1
Accès complet à vie
Accès sur le mobile et la télévision
Certificat d'achèvement

Archive

Working hours

Monday 9:30 am - 6.00 pm
Tuesday 9:30 am - 6.00 pm
Wednesday 9:30 am - 6.00 pm
Thursday 9:30 am - 6.00 pm
Friday 9:30 am - 5.00 pm
Saturday Closed
Sunday Closed