← Retour

Data Structures and Algorithms

★ ★ ★ ★ ★ (2 Avis des lecteurs)
par: B Bessaa
Disponible
Pages 290
Dimensions 16*23,5
Publication 2024-05-03
Éditeur —
Papier : 1 350.00 DA Numérique: 675.00 DA

This work is intended for students in the computer science bachelor's degree program and engineering schools. The expected level of mastery corresponds to the second year of the bachelor's degree. In this book, we assume that the basic concepts of algorithms are acquired; indeed, we present here more complex data structures. The book is organized into six chapters covering the entire program of the second year of the computer science bachelor's degree program. In each chapter, we present a lecture notes followed by a varied series of exercises with detailed solutions presented in a pedagogical manner to help the student understand the solution. At times, we provide the translation of the solution into C language. For C programs, we used the Code::Blocks IDE, so it may happen that if you use other IDEs, some syntax errors may be reported. The majority of the C programs presented are functions, so we advise students to manipulate programs using these functions to understand the solutions well and eventually be able to improve them depending on the envisaged applications. For the syntax used in algorithmic solutions, we have kept the one used in our first- year book (Algorithms: Exercises with solutions, "Edition Pages Bleues Internationales"). Depending on the universities or schools, there may be some differences in syntax, but they do not affect the logic and substance of the solutions. Finally, I extend my heartfelt gratitude to Mrs. Chahra-zad IGHILAZA, an esteemed algorithm specialist at USTHB, for her meticulous review of the manuscript prior to its publication, as well as for her valuable advice and insightful corrections, all of which have greatly contributed to shaping this book into its current form For all your comments, you can contact us at the following address: bbessaa@yahoo.fr

Afficher la table des matières
Foreword
Preface
Chapter 1 Introduction to Algorithms Complexity 11
1. Different types of complexity 12
2. Asymptotic Complexity 12
3. Landau Notations 13
4. Common time complexity functions 13
5. Properties 13
Exercises 15
Chapter 2 Dynamic Allocation and Linked lists 37
1. Dynamic Variable 38
2. Dynamic Arrays 38
3. Linked Lists 39
3.1. Singly Linked Lists 39
3.2. Doubly Linked Lists (Bidirectional Lists) 41
3.3. Circular Linked Lists 42
Exercices 43
Chapter 3 Stacks and Queues 85
1. Stacks 86
1.1. Representation of a stack in memory 86
1.1.1. Contiguous representation
1.1.2. Linked representation 87
1.2. Operations on stacks 87
1.3. Implementation in C for linked representation 89
1.4. Complexity 90
2. Queues 90
2.1. Representation of a queue in memeory 90
2.1.1. Contiguous representation 90
2.1.2. Linked representation 91
2.2. Operations on queues 92
2.3. Complexity 94
2.4. Implementation in C for linked representation 94
2.5. Representation with circular array 95
Exercises 96
Chapter 4 Recursion 141
1. Recursive programming 142
2. Different types of recursion 142
2.1. Tail recursion 142
2.2. Non-Tail recursion 143
2.3. Multiple recursion (Tree recursion) 144
2.4. Nested recursion 144
2.5. Direct and Indirect recursion 144
3. Elimination of recursion 144
Exercises 151
Chapter 5 Trees
1. Definitions and terminology 180
2. Binary trees 181
2.1. Traversal of binary trees 182
2.2. Binary Search Trees (BST) 183
2.3. AVL trees 183
2.4. Balancing 184
2.5. Binary heaps 185
2.5.1. Insertion into a max-heap 186
2.5.2. Deletion of the maximum element from a max-heap 186
2.5.3. Application of heaps 187
3. Operations on trees 187
Exercises 189
Chapter 6 Hash Tables 257
1. Direct address table 258
2. Hash table 258
3. Hash function 259
4. Collisions 259
5. Collision resolution 260
5.1. Separate chaining 260
5.2. Linear probing 260
5.3. Quadratic probing 262
5.4. Double hashing 263
6. Building hash functions 264
6.1. Key properties of a well-designed hash function
6.2. Hashing steps 265
Exercises 268
Bibliography

Avis des lecteurs

Admin PagesBleues
★ ★ ★ ★ ★
👌🏻
Admin PagesBleues
★ ★ ★ ★ ★
👌🏻