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