Professional Documents
Culture Documents
CSC317 Module 1and2
CSC317 Module 1and2
Study Guide
CSC 317 is a compulsory course offered by 300 level Computer Science, Computer
Science Education and Education Technology students. The Prerequisites for the
course are CSC 211, CSC 231 and CSC 233.
The course outlines are divided into seven modules, each module with at least
4nuits/topics.
Lecture venue: FCIS lecture theatre
Day/Time: Tuesday, 12-2pm
The course will be examined based on the following:
Attendance 5%
Project 10%
Test 15%
Examination 70%
For enquiry about the course, you can reach the lecturer at Room 17, Faculty of CIS
building, call her on 08033974515 or email salihu.sa@unilorin.edu.ng
COURSE OUTLINES
Module 1: Introduction to Data Structure
Unit 1: Data and Algorithm
Unit 2: Characteristics of Data
Unit 3: Importance of data and data processing
Unit 4: Algorithm and its categories
Module 2: Data structure Basics
Unit 1: Definition of Data structure
Unit 2: Basic Operations in data structure
Unit 3: Basic terminology in data structure
Unit 4: Data structures and types
Module 3: Stack and Queue
Unit 1: Stack and ADT Stack
Unit 2: Implementation of Stack
Unit 3: Applications of Stack
Unit 4: Stack Expression Manipulation (Pre-fix, In-fix, Post-fix)
Unit 5: Queue and ADT Queue
Unit 6: Implementations of a Queue
Unit 7: Priority Queue and Its Implementation
Unit 8: Applications of Queue
Module 4: Array data structure
Unit 1: Type and Dimension of an Array
Unit 2: Regular and Irregular (jagged) Array
Unit 3: Implementation of Array
Unit 4: Record Structure
Unit 5: Implementation and Implicit operations on Record
Unit 6: Strings
Unit 7: Implementation and operations on Strings
Unit 8: Pattern Matching
Unit 9: Longest Common Subsequence
Module 5&6: Tree-based data structure
Unit1: Tree: Definitions, Terminologies, Properties, and Notations
Unit 2: ADT Tree
Unit 3: Tree Traversal (Walking)
Unit 4: Implementation of a Tree
Unit 5: Applications of Tree
unit 6: Types of Trees o Binary Tree
o Threaded Binary Tree
o Binary Search Tree
o Balanced Tree: AVL Tree
o Self-Adjusting Trees
o Splay Tree
o Complete Binary Tree
o Heap
o Augmented Binary Search Tree
o Red-Black Tree
o Multi-search Tree, B-Tree
o B+ Tree
o Tries
Module 7: Graph based data structure
Unit 1: Graph: Definition, Terminologies, and Operations
Unit 2: Graph Traversal
Unit 3: Graph Implementation
Unit 4: Applications of Graphs
Unit 5: Relation and Graph
Unit 6: Topological Sorting
Unit 7: Shorted Distance Between Two Nodes in a Graph
Data refers to raw facts, symbols, or inputs that lack context or meaning on their
own. In computing and information technology, data can take various forms,
including numbers, text, images, audio clips, and more. It serves as the basis for all
information and knowledge
Types of Data:
Data Processing:
From the data structure point of view, the following are some important categories
of algorithms −
As applications are getting complex and data rich, there are three common
problems that applications face now-a-days.
To solve the above-mentioned problems, data structures come to rescue. Data can
be organized in a data structure in such a way that all items may not be required to
be searched, and the required data can be searched almost instantly.
Data Definition
Data Object
Data Object represents an object having a data.
Data Type
Data type is a way to classify various types of data such as integer, string, etc.
which determines the values that can be used with the corresponding type of data,
the type of operations that can be performed on the corresponding type of data.
There are two data types −
Those data types for which a language has built-in support are known as Built-in
Data types. For example, most of the languages provide the following built-in data
types.
Integers
Boolean (true, false)
Floating (Decimal numbers)
Character and Strings
List
Array
Stack
Queue
The data in the data structures are processed by certain operations. The particular
data structure chosen largely depends on the frequency of the operation that needs
to be performed on the data structure.
Traversing
Searching
Insertion
Deletion
Sorting
Merging
Unit 4: Data Structures and Types
Data structures are introduced in order to store, organize and manipulate data in
programming languages. They are designed in a way that makes accessing and
processing of the data a little easier and simpler. These data structures are not
confined to one particular programming language; they are just pieces of code that
structure data in the memory.
Data types are often confused as a type of data structures, but it is not precisely
correct even though they are referred to as Abstract Data Types. Data types
represent the nature of the data while data structures are just a collection
of similar or different data types in one.
Linear
Non-Linear
The data is stored in linear data structures sequentially. These are rudimentary
structures since the elements are stored one after the other without applying any
mathematical operations.
Linear data structures are usually easy to implement but since the memory
allocation might become complicated, time and space complexities increase. Few
examples of linear data structures include −
Arrays
Linked Lists
Stacks
Queues
Based on the data storage methods, these linear data structures are divided into
two sub-types. They are − static and dynamic data structures.
In Static Linear Data Structures, the memory allocation is not scalable. Once the
entire memory is used, no more space can be retrieved to store more data. Hence,
the memory is required to be reserved based on the size of the program. This will
also act as a drawback since reserving more memory than required can cause a
wastage of memory blocks.
In Dynamic linear data structures, the memory allocation can be done dynamically
when required. These data structures are efficient considering the space complexity
of the program. Few examples of dynamic linear data structures include: linked
lists, stacks and queues.
Non-Linear data structures store the data in the form of a hierarchy. Therefore, in
contrast to the linear data structures, the data can be found in multiple levels and
are difficult to traverse through.
However, they are designed to overcome the issues and limitations of linear data
structures. For instance, the main disadvantage of linear data structures is the
memory allocation. Since the data is allocated sequentially in linear data structures,
each element in these data structures uses one whole memory block. However, if
the data uses less memory than the assigned block can hold, the extra memory
space in the block is wasted. Therefore, non-linear data structures are introduced.
They decrease the space complexity and use the memory optimally.
Graphs
Trees
Tries
Maps
TMA1: What is the difference between Data types and Data Structure.