
ET210x: Data Structures & Algorithms
Đào Trung Kiên @ MICA Institute & Dept. of Comm. Eng., SEEE, Hanoi Univ. of Science and Technology
1
Weeks 1+2: Overview & Revision
❑Overview
❑Revision of C/C++ Programming
❑Structures, Arrays, Pointers, Strings
❑Dynamic Memory Allocation & Memory Management

ET210x: Data Structures & Algorithms
Đào Trung Kiên @ MICA Institute & Dept. of Comm. Eng., SEEE, Hanoi Univ. of Science and Technology
2
Overview

ET210x: Data Structures & Algorithms
Đào Trung Kiên @ MICA Institute & Dept. of Comm. Eng., SEEE, Hanoi Univ. of Science and Technology
Introduction
Data Structures & Algorithms (ET2100, ET2101E,
ET2105E)
Structure: Assiduity + Midterm project + Final exam
Compilers: gcc/g++ or MS Visual C++
Textbooks:
Data Structures using C, R. Thareja, Oxford University
Press, 2014
Algorithms in C (Parts 1-4: Fundamentals, Data
Structures, Sorting, Searching), R. Sedgewick, Addison-
Wesley, 1998
The C Programming Language, B.W. Kernighan, D.M.
Ritchie, Prentice Hall, 1998
3

ET210x: Data Structures & Algorithms
Đào Trung Kiên @ MICA Institute & Dept. of Comm. Eng., SEEE, Hanoi Univ. of Science and Technology
Compiling a C/C++ program
Compilation: is the process of converting a source
code (written by human) into a program in the form
of machine codes that can be executed
4
Source file
file1.c Compiler Object code
file1.obj
Source file
file2.c Compiler Object code
file2.obj
Linker
Libraries
Executable program
a.exe

ET210x: Data Structures & Algorithms
Đào Trung Kiên @ MICA Institute & Dept. of Comm. Eng., SEEE, Hanoi Univ. of Science and Technology
Compiling a C/C++ program (cont.)
Benefits of compiling each source file individually:
Easy to divide and manage parts of the program
Only need to modify the involved files when something
need to change
→shorten maintenance, update time
Only need to recompile modified files instead of
everything
→shorten compilation time
Modern compilers are able to optimize compiled
codes (both data and instructions)
Some popular compilers: MS Visual C++, gcc/g++,
clang, Intel C++ Compiler, Watcom C/C++,…
5

