Você está na página 1de 4

NATIONAL DIPLOMA IN INFORMATION TECHNOLOGY

Subject: ALGORITHMS AND DATASTRUCTURES USING PASCAL


Subject Code: 553/004

INTRODUCTION:
This subject material has been prepared for use in the training of students undergoing the
National Diploma course in Information Technology at approved or registered
vocational/technical training institutions.

AIMS OF THE SUBJECT:


 to foster an understanding and skills in the use of data structures in information
systems development
 to impart and develop creative algorithms writing skills

GENERAL OBJECTIVES OF THE SUBJECT:


 students should be able to choose and design a proper data structure which suit the
solution to a particular problem and they are familiar with the basic data structures
designed in this syllabus.
 students should be able to write well structured algorithms and are familiar with some
fundamental algorithms presented in this syllabus

UNIT CONTENT:
The general objectives of each unit and the specific objectives of the topic areas are set out
herein.
The units are prefixed by capital letters, the unit objectives by non-decimal numbers and topic
objectives by decimal numbers.

DESIGN LENGTH: 220 hours

All objectives are to be understood to relate to what the student should be able to “do” at the
end of each respective topic. The guiding language for this subject is PASCAL.

SUBJECT UNITS
A. ELEMENTARY CONCEPTS
B. RECORDS
C. RECURSION
D. SEARCHING AND SORTING ALGORITHMS FOR TABLES
E. POINTERS AND LINKED LISTS
F. STACKS
G. QUEUES
H. TREES
I. GRAPHS
J. FILES

CONTENT

A. ELEMENTARY CONCEPTS
1 Data and information
Students can describe the difference between data and information.

2 Data structures and algorithms


Student can describe the terms data structure and algorithm.

3 Abstract data types


Students can describe the benefits of abstract data types and the separation of interface and implementation
parts.

B. RECORDS
Students can describe the data type record, should be able to declare and use record types in problem solving.
Students should be able to design data structures in which arrays and records are mixed.

C. RECURSION
Students can describe the general concept of recursion and can determine the output of recursive subprograms.
Students should be able to write recursive algorithms, these include algorithms for factorial, fibonacci sequence,
towers of Hanoi and quicksort.

D. SEARCHING AND SORTING ALGORITHMS FOR TABLES


1. Searching
Students can describe the general concept of searching.
Students can demonstrate the sequential and binary search methods for tables.
Students can write algorithms for sequential and binary search and can describe the relative merits of each
algorithm

2. Sorting
Students can describe the general concept of sorting.
Students can demonstrate how the following sorting methods for tables work. For each they can give an algorithm
and they can describe the relative merits of each algorithm. Sorting methods include bubble sort, selection sort,
insertion sort and shell sort.

E. POINTERS AND LINKED LISTS


1. Pointer
Students can describe the concept of the pointer data type. The can distinguish between a pointer variable and an
anonymous variable. They should be able to declare pointer variables and use NEW, DISPOSE and NIL.

2. Single linked lists


Students should be able to declare a single linked list. They can write algorithms for single linked lists, these
include algorithms to add an element, delete an element, search for an element and reverse a single linked list.

3. Other list structures


Students should be able to declare a single linked circular list, a doubly linked list and a double linked circular list.
They can describe the relative merits of each and can write the algorithms for single linked lists, these include
algorithms to add an element and delete an element.

4. Contiguous versus linked lists


Students should be able to describe the relative merits of each storage method, considering access time and
memory requirements.

F. STACKS
1 THE ADT STACK
The student is able to design the interface for the ADT Stack, including createStack, destroyStack, push, pop,
isEmpty and topOfStack.
The student is able to implement this ADT using static and dynamic techniques.
The student can describe the differences and relative merits of these two implementations.
The student can describe how the stack is used in computer environments (subprogram calls, undo-redo
operations). The student can apply Stacks in the solving of problems; this includes algorithms to convert infix
expressions (with and without brackets) to postfix and to evaluate of postfix expressions.

G. QUEUES
1 THE ADT QUEUE
The student is able to design the interface for the ADT QUEUE, including createQueue, destroyQueue, enqueue,
dequeue and isEmpty.
The student is able to implement this ADT using static (including linear and circular arrays) and dynamic
techniques.
The student can describe the differences and relative merits of these two implementations.
The student can describe how Queues are used in computer environments (including queue for print jobs, event
queue) and can apply Queues in the solving of problems including simulations and radix sort.
2 THE ADT PRIORITYQUEUE
The student is able to design the interface for the ADT PRIORITYQUEUE (ascending and descending), including
createQueue, destroyQueue, enqueue, dequeue and isEmpty.
The student is able to implement this ADT using static and dynamic techniques.

H. TREES
1. THE ADT BINARY TREE
The student is able to design the interface for the ADT BINARYTREE, including createNullTree, createNode,
setLeft, setRight, getLeft, getRight, setInfo, getInfo, isEmpty.
The student is able to implement this ADT using static (including implicit and explicit arrays) and dynamic
techniques.
The student can describe the differences and relative merits of these two implementations.
The student can apply BinaryTrees in writing algorithms for Binary Search Trees, this includes, the construction
of a BST, the deleting of a node from a BST, traversing a BST, sorting using a BST and evaluation of expressions.

2. THE ADT TREE


The student is able to describe the differences between a binary tree and a general tree.
I. GRAPHS
The student can describe the following terms: graph, directed graph, weighted graph, connected graph, cyclic
and acyclic graph, path, degree (indegree, outdegree).
The student can describe different ways of implementing graphs, this includes static (adjacency matrix), hybrid
and dynamic implementations.
The student can describe the algorithm for a depth first search on a directed graph.

J. FILES
The student can describe Pascal's structured files. The student is able to declare a structured file and knows how
to read from and write to structured files.
The student can write an algorithm for a merge sort.

Você também pode gostar