## With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

No credit card required

## Book Description

Data structure is the logical organization of a set of data items that collectively describes an object. Using the C programming language, this book describes how to effectively choose and design a data structure for a given situation or problem. Data structures using C maintains a fine balance between discussions on fundamental concepts and advanced topics, supported by relevant algorithms and solved examples. It completely covers the curriculum requirements of computer engineering courses.

1. Cover
2. Title page
3. Contents
5. Dedication
6. Preface to the Second Edition
7. Preface
8. Chapter 1: Overview of C
1. 1.1 The History
2. 1.2 Characters Used in C
3. 1.3 Data Types
4. 1.4 C Tokens
5. 1.5 Structure of a C Program
6. 1.6 printf () and scanf () Functions
8. 1.8 Escape Sequence (Backslash Character Constants)
9. 1.9 Operators and Expressions
10. 1.10 Flow of Control
11. 1.11 Input–Output Functions (I/O)
12. 1.12 Arrays
13. 1.13 Structures
14. 1.14 User-defined Data Types
15. 1.15 Unions
16. 1.16 Functions
17. 1.17 Recursion
9. Chapter 2: Data Structures and Algorithms: An Introduction
1. 2.1 Overview
2. 2.2 Concept of Data Structures
3. 2.3 Design of a Suitable Algorithm
4. 2.4 Algorithm Analysis
10. Chapter 3: Arrays: Searching and Sorting
1. 3.1 Introduction
2. 3.2 One-dimensional Arrays
3. 3.3 Multi-dimensional Arrays
4. 3.4 Representation of Arrays in Physical Memory
5. 3.5 Applications of Arrays
11. Chapter 4: Stacks and Queues
1. 4.1 Stacks
2. 4.2 Applications of Stacks
3. 4.3 Queues
12. Chapter 5: Pointers
1. 5.1 Introduction
2. 5.2 Pointer Variables
3. 5.3 Pointers and Arrays
4. 5.4 Array of Pointers
5. 5.5 Pointers and Structures
6. 5.6 Dynamic Allocation
1. 6.1 Introduction
3. 6.3 Operations on Linked Lists
4. 6.4 Variations of Linked Lists
5. 6.5 The Concept of Dummy Nodes
8. 6.8 Comparison of Sequential and Linked Storage
9. 6.9 Solved Problems
14. Chapter 7: Trees
1. 7.1 Introduction
2. 7.2 Basic Terminology
3. 7.3 Binary Trees
4. 7.4 Representation of a Binary Tree
5. 7.5 Types of Binary Trees
6. 7.6 Weighted Binary Trees and Huffman Algorithm
7. 7.7 Dynamic Dictionary Coding
15. Chapter 8: Graphs
1. 8.1 Introduction
2. 8.2 Graph Terminology
3. 8.3 Representation of Graphs
4. 8.4 Operations of Graphs
5. 8.5 Applications of Graphs
16. Chapter 9: Files
1. 9.1 Data and Information
2. 9.2 File Concepts
3. 9.3 File Organization
4. 9.4 Files in C
5. 9.5 Files and Streams
6. 9.6 Working with Files Using I/O Stream
7. 9.7 Sequential File Organization
8. 9.8 Direct File Organization
9. 9.9 Indexed Sequential Organization
10. 9.10 Choice of File Organization
17. Chapter 10: Advanced Data Structures
1. 10.1 AVL Trees
2. 10.2 Sets
3. 10.3 Skip Lists
4. 10.4 B-Trees
5. 10.5 Searching by Hashing
18. Appendix A. ASCII Codes (Character Sets)
19. Appendix B. Table of Format Specifiers
20. Appendix C. Escape Sequences
21. Appendix D. Trace of Huffman Algorithm
22. Notes
23. Acknowledgements