Email: tovisionpune@gmail.com
C Programming and Data Structure
Specific References
C Programming and Data Structure
Author: Dr. Poonam Ponde
Book ID: 1018
ISBN: 81-87575-17-4
Contents
SECTION 1: C PROGRAMMING
1. GETTING INTRODUCED TO C
1.1 How 'C' evolved
1.2 Where 'C' Stands
1.3 Application Areas
1.4 Why 'C' ?
1.5 Program Development Cycle
1.6 Structure of a 'C' Program
1.7 A Sample 'C' program
2. VARIABLES, DATA TYPES, OPERATORS AND EXPRESSIONS
2.1 Character Set
2.2. C Tokens
2.3 Identifiers and keywords
2.4 Constants
2.5 Variable
2.6 Data types in C
2.7 Data Declarations
2.8 Operators and Expressions
2.9 Statements
3. INPUT - OUTPUT
3.1 Introduction
3.2 Character input and output
3.3 String input and output
3.4 General Output / formatted Output (printf)
3.5 Formatted Input (scanf)
3.6 sprintf and sscanf
3.7 Sample programs
4. CONTROL STATEMENTS
4.1 Introduction
4.2 Selection / Decision making statements
4.3 Iterative Statements (LOOP Control structure)
4.4 Jump Statements
5. POINTERS
5.1 Introduction
5.2 Memory Organization
5.3 The basics of Pointers
5.4 Applications of Pointers
5.5 Using Pointers
5.6 Void Pointers
5.7 Pointer Arihmetic
5.8 Precedence of & and * operators
5.9 Pointer to a Pointer
5.10 pointers to constant objects
5.11 Constant Pointers
5.12 Command Line Arguments
6. FUNCTIONS
6.1 Introduction
6.2 What is a function?
6.3 Functions and structured programming
6.4 How a function works
6.5 Library and user defined functions
6.6 Function declaration and definition
6.7 Writing a function
6.8 Calling a function
6.9 Passing arguments to a function
6.10 Recursion
6.11 Pointers and functions
7. STORAGE CLASSES AND SCOPE
7.1 Meaning of terms
7.2 Scope
7.3 Storage classes
8. ARRAYS AND STRINGS
8.1 Introduction
8.2 Array Declaration
8.3 One dimensional Arrays
8.4 Multidimensional Arrays
8.5 Arrays and functions
8.6 Arrays and pointers
8.7 Array of pointers (Pointer Array)
8.8 Dynamic Memory Allocation
8.9 Strings
8.10 Some declarations and their meanings
8.11 Solved examples
9. STRUCTURES AND UNIONS
9.1 Structures
9.2 Unions
9.3 Difference between structures and unions
10. FILE HANDLING
10.1 Introduction
10.2 Streams
10.3 Types of Files
10.4 Operations on a File
10.5 Random Access to Files
10.6 Files and Command line Arguments
11. THE C PREPROCESSOR
11.1 What is a Preprocessor?
11.2 Preprocessor directives
12. OPERATIONS ON BITS
12.1 Introduction
12.2 Applications
12.3 Bit Fields
SECTION 2: DATA STRUCTURES
1. INTRODUCTION TO DATA STRUCTURES
1.1 Introduction
1.2 Some Concepts And Their Definitions
1.3 Analysis of programs
2. ARRAYS
2.1 Introduction
2.2 Array as a Data Structure
2.3 Arrays in 'C'
2.4 Storage Representation of Arrays
2.5 Applications of Arrays
2.6 Polynomial Representation Using Arrays
2.7 Sparse Matrices
3. STACKS
3.1 Introduction
3.2 Definition of a Stack
3.3 Operations on a Stack
3.4 Implementation of a stack
3.5 Declarations and Functions
3.6 Multiple Stacks
3.7 Applications of stacks
4. QUEUES
4.1 Introduction
4.2 Definition of a Queue
4.3 Operations on a Queue
4.4 Types of Queues
4.5 Implementation of A LINEAR queue
4.6 Circular Queue
4.7 Applications of Queues
4.8 Priority Queue
4.9 Comparison between Stack and Queue
4.10 Multiple Queues
5. LINKED LISTS
5.1 Introduction
5.2 Drawbacks of sequential storage
5.3 Concept of a Linked List
5.4 Implementation of Linked List
5.5 Operations on a List
5.6 Other operations and applications
5.7 Operations on Circular Lists
5.8 Operations on a Linear Doubly Linked List
5.9 Stack using linked list
5.10 Queue using a Linked List
5.11 Difference between an array and linked list
5.12 Generalized Linked List
6. TREES
6.1 Introduction
6.2 Tree Terminology
6.3 Representation of Binary Trees
6.4 Operations on Binary Trees
6.5 Threaded Binary Trees
6.6 Height Balanced Trees
6.7 Extended Binary Tree
6.8 Applications of Binary Trees
7. SORTING
7.1 Introduction
7.2 Types of Sorting Methods
7.3 Exchange Sort
7.4 Insertion Sort
7.5 Selection and Tree Sorts
7.6 Merge and Radix Sort
7.7 Comparison of Sorting Methods
8. SEARCHING
8.1 Introduction
8.2 Definitions and Terminology
8.3 Sequential / Linear Search
8.4 Binary Search
8.5 Indexed Sequential Search
8.6 Tree Searching
8.7 Hashing
9. GRAPHS
9.1 Introduction
9.2 Definition and Terminology
9.3 Graph Representation
9.4 Graph Traversals
9.5 Spanning Tree
9.6 Applications of Graphs
APPENDIX - A: C KEYWORDS
APPENDIX - B: SUMMARY OF C OPERATORS
APPENDIX - C: ANSI DEFINED CONSTANTS
APPENDIX - D: HEADER FILES
APPENDIX - E: C LIBRARY FUNCTIONS
APPENDIX - F: COMMON PROGRAMMING ERRORS
SELF EVALUATION QUESTIONS
INDEX