Data Structures using C, 2e.
Material type:
- 9789332514225
- 23rd 005.13C
Item type | Current library | Call number | Status | Barcode | |
---|---|---|---|---|---|
![]() |
Digital Library Digital Library | 005.13C SHA-D2 | Available | E0071 |
Cover -- Contents -- Preface to the Second Edition -- Preface -- About the Author -- Chapter 1 : Overview of C -- 1.1 The History -- 1.2 Characters Used in C -- 1.3 Data Types -- 1.3.1 Integer Data Type (int) -- 1.3.2 Character Data Type (char) -- 1.3.3 The Floating point (float) Data Type -- 1.4 C Tokens -- 1.4.1 Identifiers -- 1.4.2 Keywords -- 1.4.3 Variables -- 1.4.4 Constants -- 1.5 Structure of a C Program -- 1.5.1 Our First Program -- 1.6 printf() and scanf() Functions -- 1.6.1 How to Display Data using printf() Function -- 1.6.2 How to Read Data from Keyboard using scanf() -- 1.7 Comments -- 1.8 Escape Sequence (Backslash Character Constants) -- 1.9 Operators and Expressions -- 1.9.1 Arithmetic Operators -- 1.9.2 Relational and logical Operators -- 1.9.3 Conditional Operator -- 1.9.4 Order of Evaluation of Expressions -- 1.9.5 Some Special Operators -- 1.9.6 Assignment Operator -- 1.9.7 Bitwise Shift Operators -- 1.10 Flow of Control -- 1.10.1 The Compound Statement -- 1.10.2 Selective Execution (Conditional Statements) -- 1.10.3 Repetitive Execution (Iterative Statements) -- 1.10.4 The exit() Function -- 1.10.5 Nested Loops -- 1.10.6 The Goto Statement (Unconditional Branching) -- 1.11 Input-Output Functions (I/O) -- 1.11.1 Buffered I/O -- 1.11.2 Single Character Functions -- 1.11.3 String-based Functions -- 1.12 Arrays -- 1.13 Structures -- 1.13.1 Defining a Structure in C -- 1.13.2 Referencing Structure Elements -- 1.13.3 Arrays of Structures -- 1.13.4 Initializing Structures -- 1.13.5 Assignment of Complete Structures -- 1.13.6 Nested Structures -- 1.14 User-defined Data Types -- 1.14.1 Enumerated Data Types -- 1.15 Unions -- 1.16 Functions -- 1.16.1 Function Prototypes -- 1.16.2 Calling a Function -- 1.16.3 Parameter Passing in Functions -- 1.16.4 Returning Values from Functions -- 1.16.5 Passing Structures to Functions.
1.17 Recursion -- 1.17.1 Types of Recursion -- 1.17.2 Tower of Hanoi -- Chapter 2 : Data Structures and Algorithms: An Introduction -- 2.1 Overview -- 2.2 Concept of Data Structures -- 2.2.1 Choice of Right Data Structures -- 2.2.2 Types of Data Structures -- 2.2.3 Basic Terminology Related with Data Structures -- 2.3 Design of a Suitable Algorithm -- 2.3.1 How to Develop an Algorithm? -- 2.3.2 Stepwise Refinement -- 2.3.3 Using Control Structures -- 2.4 Algorithm Analysis -- 2.4.1 Big-Oh Notation -- Chapter 3 : Arrays:Searching and Sorting -- 3.1 Introduction -- 3.2 One-dimensional Arrays -- 3.2.1 Traversal -- 3.2.2 Selection -- 3.2.3 Searching -- 3.2.4 Insertion and Deletion -- 3.2.5 Sorting -- 3.3 Multi-dimensional Arrays -- 3.4 Representation of Arrays in Physical Memory -- 3.4.1 Physical Address Computation of Elements of One-dimensional Arrays -- 3.4.2 Physical Address Computation of Elements of Two-dimensional Arrays -- 3.5 Applications of Arrays -- 3.5.1 Polynomial Representation and Operations -- 3.5.2 Sparse Matrix Representation -- Chapter 4 : Stacks and Queues -- 4.1 Stacks -- 4.1.1 Stack Operations -- 4.2 Applications of Stacks -- 4.2.1 Arithmetic Expressions -- 4.3 Queues -- 4.3.1 Queue Operations -- 4.3.2 Circular Queue -- 4.3.3 Priority Queue -- 4.3.4 The Deque -- Chapter 5 : Pointers -- 5.1 Introduction -- 5.1.1 The '&' Operator -- 5.1.2 The '*' Operator -- 5.2 Pointer Variables -- 5.2.1 Dangling Pointers -- 5.3 Pointers and Arrays -- 5.4 Array of Pointers -- 5.5 Pointers and Structures -- 5.6 Dynamic Allocation -- 5.6.1 Self Referential Structures -- Chapter 6 : Linked Lists -- 6.1 Introduction -- 6.2 Linked Lists -- 6.3 Operations on Linked Lists -- 6.3.1 Creation of a Linked List -- 6.3.2 Travelling a Linked List -- 6.3.3 Searching a Linked List -- 6.3.4 Insertion in a Linked List -- 6.3.5 Deleting a Node from a Linked List.
6.4 Variations of Linked Lists -- 6.4.1 Circular Linked Lists -- 6.4.2 Doubly Linked List -- 6.5 The Concept of Dummy Nodes -- 6.6 Linked Stacks -- 6.7 Linked Queues -- 6.8 Comparison of Sequential and Linked Storage -- 6.9 Solved Problems -- Chapter 7 : Tree -- 7.1 Introduction -- 7.2 Basic Terminology -- 7.3 Binary Trees -- 7.3.1 Properties of Binary Trees -- 7.4 Representation of a Binary Tree -- 7.4.1 Linear Representation of a Binary Tree -- 7.4.2 Linked Representation of a Binary Tree -- 7.4.3 Traversal of Binary Trees -- 7.5 Types of Binary Trees -- 7.5.1 Expression Tree -- 7.5.2 Binary Search Tree -- 7.5.3 Heap Trees -- 7.5.4 Threaded Binary Trees -- 7.6 Weighted Binary Trees and Huffman Algorithm -- 7.6.1 Huffman Algorithm -- 7.6.2 Huffman Codes -- 7.7 Dynamic Dictionary Coding -- Chapter 8 : Graphs -- 8.1 Introduction -- 8.2 Graph Terminology -- 8.3 Representation of Graphs -- 8.3.1 Array-based Representation of Graphs -- 8.3.2 Linked Representation of a Graph -- 8.3.3 Set Representation of Graphs -- 8.4 Operations of Graphs -- 8.4.1 Insertion Operation -- 8.4.2 Deletion Operation -- 8.4.3 Traversal of a Graph -- 8.4.4 Spanning Trees -- 8.4.5 Shortest Path Problem -- 8.5 Applications of Graphs -- Chapter 9 : Files -- 9.1 Data and Information -- 9.1.1 Data -- 9.1.2 Information -- 9.2 File Concepts -- 9.3 File Organization -- 9.4 Files in C -- 9.5 Files and Streams -- 9.6 Working with Files Using I/O Stream -- 9.6.1 Opening of a File -- 9.6.2 Unformatted File I/O Operations -- 9.6.3 Formatted File I/O Operations -- 9.6.4 Reading or Writing Blocks of Data in Files -- 9.7 Sequential File Organization -- 9.7.1 Creating a Sequential File -- 9.7.2 Reading and Searching a Sequential File -- 9.7.3 Appending a Sequential File -- 9.7.4 Updating a Sequential File -- 9.8 Direct File Organization -- 9.9 Indexed Sequential Organization.
9.9.1 Searching a Record -- 9.9.2 Addition/Deletion of a Record -- 9.9.3 Storage Devices for Indexed Sequential Files -- 9.9.4 Multilevel Indexed Files -- 9.10 Choice of File Organization -- 9.11 Graded Problems -- Chapter 10 : Advanced Data Structures -- 10.1 AVL Trees -- 10.1.1 Searching an AVL Tree -- 10.1.2 Inserting a Node in an AVL Tree -- 10.2 Sets -- 10.2.1 Representation of Sets -- 10.2.2 Operations on Sets -- 10.2.3 Applications of Sets -- 10.3 Skip Lists -- 10.4 B-Trees -- 10.4.1 Searching a Key in a B-Tree -- 10.4.2 Inserting a Key in a B-Tree -- 10.4.3 Deleting a Key from a B-Tree -- 10.4.4 Advantages of B-Trees -- 10.5 Searching by Hashing -- 10.5.1 Types of Hashing Functions -- 10.5.2 Requirements for Hashing Algorithms -- 10.5.3 Overflow Management (Collision Handling) -- Appendix A -- ASCII Codes (Character Sets) -- Appendix B -- Table of Format Specifiers -- Appendix C -- Escape Sequences -- Appendix D -- Trace of Huffman Algorithm -- Index.
A data structure is the logical organization of a set of data items that collectively describe an object. Using the C programming language, Data Structures using C describes how to effectively choose and design a data structure for a given situation or problem. The book has a balance between the fundamentals and advanced features, supported by solved examples. This book completely covers the curriculum requirements of computer engineering courses.
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2018. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.