CPT 102

The note starts from week 3.

Since we learn the module in 100% English. So I won’t be using too much Chinese in my note(Only for the concept or necessary explanation)

Here is the brief overview of the module:

Brief Introduction to the Module


This module introduces students to a wide variety of data structures and algorithms. It provides students with a coherent knowledge of techniques for implementing data structures and algorithms and discusses the advantages and disadvantages of different data structures and algorithms. It also introduces students to those algorithms for fundamental tasks upon data structures, such as sorting and searching. Students will be encouraged to reflect upon the purpose of knowledge creation including their own motivations for engaging with data structure related research.

Key Module Information 

Module name: Data Structures Module code: CPT102
Credit value: 5

Semester in which the module is taught: S2 Pre-requisites needed for the module:

Programmes on which the module is shared: BEng Digital Media Technology, BSc Information and Computing Science

Delivery Schedule 

Seminar room: TBA Seminar time: TBA

Lecture 1

DATA STRUCTURE:

A data structure is a systematic way of organising a collection of data for efficient access. And every data structure needs a variety of algorithms for processing the data in it like insertion, deletion, retrieval…..

The drawback of the primitive data types:

  • It is conceptually inadequate & low level, since information is usually expressed in the form of highly structured data
  • The simplicity of It makes it difficult to describe complex algorithms, since the basic operations are too primitive

The data structure in this lecture include:Arrays, Lists, Stacks, Queues, Maps , Trees, Graphs. We mainly just declare the format of the certain data structure and implement the data structure in pseudo code or Java. You have to retell all of the algorithms in any format. Also if you want to get into the major cooperation you will need to bear all these things in mind.

Software quality:

The correctness and the efficiency is the measurement of the software quality.

A careful design of the data structures used in software system helps in designing good software.

Abstraction:

The abstraction can be considered as a entity or a process.

As a process, abstraction denotes the extracting of the essential details about an item, or a group of items, while ignoring the nonessential details.指的是提取,抽象,是一个动作。

As an entity, abstraction denotes a model, a view, or some representation for an actual item which leaves out some of the details of the item.指的是一个事物的抽象,是名词。

Abstraction dictates that some information is more important than other information, but does not provide a specific mechanism for handling the unimportant information.

Different Aims of the abstraction:

  • The aim of data abstraction is to identify which details of how data is stored and can be manipulated are important and which are not
  • The aim of procedural abstraction is to identify which details of how a task is accomplished are important and which are not
The ways of abstraction:

Extracting the commonality of components and hiding their details 提取他们的共同点。

Abstraction typically focuses on the outside view of an object/concept. 把握每一个物体和概念的概览。