TY - BOOK AU - Deshpande,P.S. TI - C & data structures U1 - 005.1 PY - 2004/// CY - Hingham, Mass. PB - Charles River Media KW - C (Computer program language) KW - Data Structures (Computer science) N1 - Title from title screen; Includes index and link to CD content; Part I: C Language Introduction to the C Language The first program in C Inputting the data The control statement (if statement) The iteration loop (for loop) The do.. .while loop The switch statement Data lypes Various data types in C The integer data type family Overflow in char and unsigned char data types The char type Octal numbers Hexadecimal numbers Representation of floating-point numbers Type conversion Forced conversion Type casting C Operators Arithmetic operator Relational operator Logical operator Ternary operator Increment operator Comma operator Bitwis^ operator Operator precedence 4 Control Structures Control structures The if statement Scope of an 1 f clause The if-else statement The if-else if statement The switch statement The while loop The do-while loop The for loop The for loop with a comma operator The break statement The continue statement 5 The printf Function printf Placeholders 6 Address and Pointers Address Pointers 7 The scanf Function scanf The scanf placeholders 8 Preprocessing Preprocessor undef ifdef i fndef #if ifelse ifelif Error directive #line Macro Macro and function 9 Arrays Arrays Address of each element in an array Accessing an array using pointers' Manipulating arrays using pointers Another case of manipulating an array using pointers Two-dimensional array Three-dimensional array Pointer arrays 10 Functions Functions The concept of stack The sequence of execution during a function call Parameter passing Call by reference The concept of global variables Resolving variable references Syntax of function definition Calling function 11 Storage of Variables Storage External references Register variables Scope of variables Further scope of variables 12 Memory Allocation Dynamic memory allocations 13 Recursion Recursion Stack overheads in recursion Writing a recursive function 14 Strings Strings as an array of characters String definition Strings as parameters 15 Structures Structures Complex structure definitions Memory allocation to structure Programming with structures Structure pointers 16 Union Union 17 Files The concept of files Direct access files Part 11: Data Structures 18 Arrays, Searching, and Sorting Arrays Application of arrays Manipulations on the list implemented using an array Merging of two sorted lists Transpose of a matrix Finding the saddle point of a matrix Implementation of heaps Sorting and searching ^ Bubble sort Quick sort v^erge sort Heapsort Searching techniques: linear or sequential search Binary search Hashing Hashing functions 19 Stacks and Queues The concept of stacks and queues Stacks Applications of stacks Queues Implementation of queues Circular queues Implementation of a queue using.linked representation Applications of queues 20 UnkedUsts The concept of the linked lists Inserting a node by using recursive programs Sorting and reversing a linked list Deleting the specified node in a singly Imked list Inserting a node after the specified node in a singly linked list Inserting a new node in a sorted list Counting the nuniber of nodes of a linked list Merging of two sorted lists Erasing a linked list Polynomial representation Representation of sparse matrices Circular linked lists Splitting a list with 2n nodes into two separate and equal lists Merging of two circular lists Reversing the direction of links in a singly linked circular list Doubly linked lists Insertion of a node in a doubly linked Ust Deleting a node from a doubly Imked list AppUcation of doubly linked lists to memory management 21 Trees The concept of tree Binary tree and its representation Binary tree traversal ^inary search tree Counting the number of nodes in a binary search tree Swapping of left and right subtrees of a given binary tree Searching for a target key in a binary search tree Deletion of a node from binary search tree 22 Graphs Graphs Representations of a graph Computing indegree and outdegree of a node of a graph using adjacency matrix representation Depth-first traversal Breadth-first traversal Connected component of a graph Depth-first spanning tree and breadth-first spanning tree Minimum-cost spanning tree Directed acyclic graph (DAG) Part III: Advanced Problems In Data Structures 23 Problems In Arrays, Searching, Sorting, Hashing Problem: Calculate the value of an N x N determinant Problem: Write a program to find the saddle point of a matrix, if it exists Problem: Multiply two sparse miatrices Problem: Multiplication of two sparse matrices (different versions) Problem: Implement A-way sort-merge to sort a file containing records Problem: Find a plateau in a matrix Problem: Implementation of a hash search Problem: Implementation of rehashing 24 Problems in Stacks and Queues Problem: Convert an infix expression to prefix form Problem: Implementation of two stacks using an array 25 Problems in Linked Lists Problem: Implementation of polynomials using linked lists Problem: Implementation of circular lists by using arrays Problem: Reversing links in the case of circular list Problem: Memory management using lists Problem: Memory management using various schemes Problem: Garbage collection—the first method Problem: Garbage collection—the second method Problem: Compute N equivalence classes 26 Problems in Strings Problem: Maximize a combination under constraints Problem: Maximize a combination of strings—the second method Problem: Closure of sets Problem: Finding the maximum matching pattern in the string Problem: Implementation of the soundex function 27 Problems in Trees Problem: Write a non-recursive version of preorder Problem: Write a non-recursive version of postorder Problem: Preorder traversal of a threaded binary tree Problem: Implementation of a set using a binary tree Problem: Huffman coding Problem: Implementation of a B-tree Problem: Implementation of a B+ tree 28 Problems in Graphs Problem: The dfs method for graph traversal Problem: Connected components in a graph Problem: Minimum spanning tree Problem: Topological sort Problem: Finding the shortest path by using an adjacency matrix Problem: Finding the shortest path by using an adjacency list Problem: The m shortest path Problem: The all-cost shortest path 29 Miscellaneous Problems Problem: The two-class classification problem Problem: The iV-coins problem Problem: All combinations of strings Problem: The 8-knights problem Problem: A^-queens problem Problem: Mapping of N-queues in an array Problem: Implementation of A* algorithm ER -