Data Structures using C, 2e.

Sharma, A.K.

Data Structures using C, 2e. - 2nd ed. - 1 online resource (521 pages)

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.

9789332514225


Electronic books.

005.13C
Powered by Koha ILS
Page Design & Customization: Library Web Team CE Thalassery