Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 930 trang
THÔNG TIN TÀI LIỆU
Cấu trúc
Table of Contents
BackCover
C & Data Structures
Preface
Part I: C Language
Chapter 1: Introduction to the C Language
INPUTTING THE DATA
THE CONTROL STATEMENT (if STATEMENT)
THE ITERATION LOOP (for LOOP)
THE do...while LOOP
THE switch STATEMENT
Chapter 2: Data Types
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
Chapter 3: C Operators
ARITHMETIC OPERATOR
RELATIONAL OPERATOR
LOGICAL OPERATOR
TERNARY OPERATOR
INCREMENT OPERATOR
COMMA OPERATOR
BITWISE OPERATOR
OPERATOR PRECEDENCE
Chapter 4: Control Structures
THE if STATEMENT
SCOPE OF AN if 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
Chapter 5: The printf Function
PLACEHOLDERS
Chapter 6: Address and Pointers
POINTERS
Chapter 7: The scanf Function
THE scanf PLACEHOLDERS
Chapter 8: Preprocessing
undef
ifdef
ifndef
#if
ifelse
ifelif
ERROR DIRECTIVE
#line
MACRO
MACRO AND FUNCTION
Chapter 9: 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
Chapter 10: Function
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
Chapter 11: Storage of Variables
EXTERNAL REFERENCES
REGISTER VARIABLES
SCOPE OF VARIABLES
FURTHER SCOPE OF VARIABLES
Chapter 12: Memory Allocation
Chapter 13: Recursion
STACK OVERHEADS IN RECURSION
WRITING A RECURSIVE FUNCTION
Chapter 14: Strings
STRING DEFINITION
STRINGS AS PARAMETERS
Chapter 15: Structures
COMPLEX STRUCTURE DEFINITIONS
MEMORY ALLOCATION TO STRUCTURE
PROGRAMMING WITH STRUCTURES
STRUCTURE POINTERS
Chapter 16: Union
Chapter 17: Files
DIRECT ACCESS FILES
Part II: Data Structures
Chapter 18: Arrays, Searching, and Sorting
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
MERGE SORT
HEAPSORT
SEARCHING TECHNIQUES: LINEAR OR SEQUENTIAL SEARCH
BINARY SEARCH
HASHING
HASHING FUNCTIONS
Chapter 19: Stacks and Queues
STACKS
APPLICATIONS OF STACKS
QUEUES
IMPLEMENTATION OF QUEUES
CIRCULAR QUEUES
IMPLEMENTATION OF A QUEUE USING LINKED REPRESENTATION
APPLICATIONS OF QUEUES
Chapter 20: Linked Lists
INSERTING A NODE BY USING RECURSIVE PROGRAMS
SORTING AND REVERSING A LINKED LIST
DELETING THE SPECIFIED NODE IN A SINGLY LINKED LIST
INSERTING A NODE AFTER THE SPECIFIED NODE IN A SINGLY LINKED LIST
INSERTING A NEW NODE IN A SORTED LIST
COUNTING THE NUMBER 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 LIST
DELETING A NODE FROM A DOUBLY LINKED LIST
APPLICATION OF DOUBLY LINKED LISTS TO MEMORY MANAGEMENT
Chapter 21: Trees
BINARY TREE AND ITS REPRESENTATION
BINARY TREE TRAVERSAL
BINARY 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
Chapter 22: 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
Chapter 23: Problems in Arrays, Searching, Sorting, Hashing
PROBLEM:WRITE A PROGRAM TO FIND THE SADDLE POINT OF A MATRIX, IF IT EXISTS
PROBLEM: MULTIPLY TWO SPARSE MATRICES
PROBLEM: MULTIPLICATION OF TWO SPARSE MATRICES (DIFFERENT VERSIONS)
PROBLEM: IMPLEMENT K-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
Chapter 24: Problems in Stacks and Queues
PROBLEM: IMPLEMENTATION OF TWO STACKS USING AN ARRAY
Chapter 25: Problems in 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
Chapter 26: Problems in Strings
PROBLEM: MAXIMIZE A COMBINATION OF STRINGS-THE SECOND METHOD
PROBLEM: CLOSURE OF SETS
PROBLEM: DISTANCE BETWEEN TWO STRINGS
PROBLEM: FINDING THE MAXIMUM MATCHING PATTERN IN THE STRING
PROBLEM: IMPLEMENTATION OF THE SOUNDEX FUNCTION
Chapter 27: Problems in Trees
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
Chapter 28: Problems in Graphs
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
Chapter 29: Miscellaneous Problems
PROBLEM: THE N-COINS PROBLEM
PROBLEM: ALL COMBINATIONS OF STRINGS
PROBLEM: THE 8-KNIGHTS PROBLEM
PROBLEM: N-QUEENS PROBLEM
PROBLEM: MAPPING OF N-QUEUES IN AN ARRAY
PROBLEM: IMPLEMENTATION OF A* ALGORITHM
Index
Index_A
Index_B
Index_C
Index_D
Index_E
Index_F
Index_G
Index_H
Index_I-J
Index_K
Index_L
Index_M
Index_N
Index_O
Index_P
Index_Q
Index_R
Index_S
Index_T
Index_U
Index_V
Index_W-Z
List of Figures
List of Tables
CD Content
Nội dung
lic graph Figure 22.24: DAG representation of expression (a+b)*c +((a+b) + e) Figure 22.25: A graph G Chapter 29: Miscellaneous Problems Figure 29.1: A knight can move to a maximum of eight positions List of Tables Chapter 2: Data Types Table 2.1: Integer data type storage allocations Chapter 3: C Operators Table 3.1: Comparing the equality operator (= =) with the ‘=’ assignment operator Table 3.2: Results of AND, OR, and Negation Table 3.3: Operator precedence rules Chapter 17: Files Table 17.1: Random access Chapter 19: Stacks and Queues Table 19.1: Scanning the infex expression a*b+c/d from right to left CD Content Following are select files from this book's Companion CD-ROM These files are for your personal use, are governed by the Books24x7 Membership Agreement, and are copyright protected by the publisher, author, and/or other third parties Unauthorized use, reproduction, or distribution is strictly prohibited Click on the link(s) below to download the files to your computer: File Description All CD Content Size 79,201 ... Chapter 17: Files Table 17.1: Random access Chapter 19: Stacks and Queues Table 19.1: Scanning the infex expression a*b +c/ d from right to left CD Content Following are select files from this book 's Companion CD-ROM...Chapter 29: Miscellaneous Problems Figure 29.1: A knight can move to a maximum of eight positions List of Tables Chapter 2: Data Types Table 2.1: Integer data type storage allocations Chapter 3: C Operators... Chapter 3: C Operators Table 3.1: Comparing the equality operator (= =) with the ‘=’ assignment operator Table 3.2: Results of AND, OR, and Negation Table 3.3: Operator precedence rules Chapter 17: Files