| Book 3: Table of Contents |
| 1. Data Structures |
Page |
| 1.1 What is the data structure? |
2 |
| 1.2 Basic data structure |
3 |
| 1.2.1 Basic data type |
3 |
| 1.2.2 Structured type |
4 |
| 1.2.3 Abstract data type |
6 |
| 1.3 Problem-oriented data structure |
7 |
| 1.3.1 List structure |
7 |
| 1.3.2 Stack |
9 |
| 1.3.3 Queue |
10 |
| 1.3.4 Tree structure |
11 |
| 1.3.5 Hash |
16 |
| Exercises |
18 |
| 2. Algorithms |
34 |
| Introduction |
23 |
| 2.1 Basics of algorithms |
23 |
| 2.1.1 What is an algorithm? |
23 |
| 2.1.2 Algorithm and the data structure |
24 |
| 2.2 Various algorithms |
28 |
| 2.2.1 Search algorithm |
28 |
| 2.2.2 Sort algorithm |
32 |
| 2.2.3 Recursive algorithm |
47 |
| 2.2.4 Character string processing |
49 |
| 2.2.5 File processing |
53 |
| 2.2.6 Drawing figures |
61 |
| 2.2.7 Graph |
65 |
| 2.2.8 Numeric calculation |
69 |
| 2.2.9 Collation algorithm |
76 |
| 2.2.10 Approximate and probability algorithms |
79 |
| 2.3 Evaluation of algorithms |
84 |
| 2.3.1 Evaluation by computational complexity |
84 |
| 2.3.2 Evaluation by validity |
85 |
| 2.3.3 Evaluation by representation |
85 |
| 2.4 How to design algorithms |
86 |
| Exercises |
87 |
| 3. Internal Design |
|
| Introduction |
92 |
| 3.1 What is internal design? |
92 |
| 3.1.1 Purpose of internal design and points to note |
92 |
| 3.1.2 Internal design procedure |
93 |
| 3.2 Functional partitioning and structuring |
96 |
| 3.2.1 Units of functional partitioning and structuring |
96 |
| 3.2.2 Procedures of functional partitioning and structuring |
97 |
| 3.2.3 Structured design method |
102 |
| 3.3 Physical data design |
105 |
| 3.3.1 Physical data design procedure |
105 |
| 3.3.2 Physical data organization |
109 |
| 3.4 Detailed input-output design |
112 |
| 3.4.1 Detailed input data design |
112 |
| 3.4.2 Screen design |
115 |
| 3.4.3 Detailed output data design |
124 |
| 3.5 Creation and reuse of parts |
127 |
| 3.5.1 Concept of creation and reuse of parts |
127 |
| 3.5.2 Use of software packages |
127 |
| 3.6 Creating internal design documents |
128 |
| 3.6.1 Organization of internal design documents |
128 |
| 3.6.2 Points to note when creating internal design documents |
130 |
| 3.6.3 Design review |
130 |
| Exercises |
132 |
| 4. Program Design |
|
| Introduction |
134 |
| 4.1 Purpose and tasks of program design |
134 |
| 4.1.1 Purpose of program design |
134 |
| 4.1.2 Program design tasks |
136 |
| 4.2 Structured design of programs |
138 |
| 4.2.1 Structured design procedure |
138 |
| 4.2.2 Typical module partitioning techniques |
141 |
| 4.2.3 Criteria for module partitioning |
149 |
| 4.2.4 Program partitioning |
160 |
| 4.3 Creating module and test specifications |
161 |
| 4.3.1 Creating module specifications |
161 |
| 4.3.2 Creating test specifications |
162 |
| 4.4 Creating program design documents |
164 |
| 4.4.1 Creating program design documents and the contents |
164 |
| 4.4.2 Points to note when creating program design documents |
166 |
| 4.4.3 Design review |
166 |
| Exercises |
167 |
| 5. Program Implementation |
|
| Introduction |
170 |
| 5.1 Programming |
170 |
| 5.1.1 Programming paradigm |
170 |
| 5.1.2 Programming style |
171 |
| 5.1.3 Use of language processors |
172 |
| 5.1.4 Programming environment |
172 |
| 5.2 Test |
174 |
| 5.2.1 Overview of tests |
174 |
| 5.2.2 Unit tests |
174 |
| 5.2.3 Integration tests |
175 |
| 5.2.4 System tests |
179 |
| 5.2.5 Other tests |
180 |
| 5.2.6 Testing plan and tasks |
181 |
| Exercises |
185 |
| Answers to Exercises |
187 |
| Answers for No.3 Chapter1 (Data Structures) |
187 |
| Answers for No.3 Chapter2 (Algorithms) |
194 |
| Answers for No.3 Chapter3 (Internal Design) |
204 |
| Answers for No.3 Chapter4 (Program Design) |
208 |
| Answers for No.3 Chapter5 (Program Implementation) |
214 |
| Index |
218 |
| FE No.3 INTERNAL DESIGN AND PROGRAMMING |
208 |