Tài liệu miễn phí Cơ sở dữ liệu

Download Tài liệu học tập miễn phí Cơ sở dữ liệu

Lecture Algorithms and data structures: Chapter 22 - Pointers

In computer science, a balanced trees is a self-balancing tree data structure that keeps data sorted and allows searches, sequential access, insertions, and deletions in logarithmic time. In this topic, we will: Introduce the idea of balance and a few examples.

7/8/2020 3:21:49 PM +00:00

Lecture Algorithms and data structures: Chapter 21 - Lists

In this lecture we will continue our study of trees by examining a few special kinds of trees. This topic quickly looks at a generalization of a binary tree, where each node has up to N children: Definition, perfect N-ary trees, complete N-ary trees, implementation using templates.

7/8/2020 3:21:43 PM +00:00

Lecture Algorithms and data structures: Chapter 20 - Pseudo Code & Flow Charts

The preceding chapter introduces the idea of a perfect tree. Complete trees and perfect trees are closely related, yet quite distinct. In this chapter, introducing complete binary trees: Background, definitions, examples, logarithmic height, array storage.

7/8/2020 3:21:37 PM +00:00

Lecture Algorithms and data structures: Chapter 19 - Algorithm Analysis

A binary tree is a tree data structure in which each node has at most two children, which are referred to as the left child and the right child. This chapter introduce perfect binary trees: Definitions and examples, number of nodes, logarithmic height, number of leaf nodes, applications.

7/8/2020 3:21:30 PM +00:00

Lecture Algorithms and data structures: Chapter 18 - Doubly Linked List

In computer science, a binary tree is a tree data structure in which each node has at most two children, which are referred to as the left child and the right child. In this talk, we will look at the binary tree data structure: Definition, properties, a few applications (Ropes, expression trees).

7/8/2020 3:21:24 PM +00:00

Lecture Algorithms and data structures: Chapter 17 - Singly Linked List

This topic will cover tree traversals: A means of visiting all the objects in a tree data structure, we will look at breadth-first traversals and depth-first traversals (Pre-order and Post-order depth-first traversals), applications, general guidelines.

7/8/2020 3:21:18 PM +00:00

Lecture Algorithms and data structures: Chapter 16 - Singly Linked List

A hierarchical ordering of a finite number of objects may be stored in a tree data structure. Operations on a hierarchically stored container include: Accessing the root, given an object in the container: Access the parent of the current object, find the degree of the current object, get a reference to a child, attach a new sub-tree to the current object, detach this tree from its parent.

7/8/2020 3:21:11 PM +00:00

Lecture Algorithms and data structures: Chapter 15 - Deleting an Element from a Linked List

In this topic, we will cover: Definition of a tree data structure and its components. Concepts of: Root, internal, and leaf nodes; parents, children, and siblings; paths, path length, height, and depth; ancestors and descendants; ordered and unordered trees; subtrees.

7/8/2020 3:21:05 PM +00:00

Lecture Algorithms and data structures: Chapter 14 - Linked List Traversal Inserting

In this presentation, we covered: Dealing with node-based allocation with arrays; internally, it is still a linked list, only the nodes are contiguous in memory; it is no longer necessary to call the operating system for each new node; doubling the memory used is straight-forward; to halve the memory used, we just follow the linked list.

7/8/2020 3:20:59 PM +00:00

Lecture Algorithms and data structures - Chapter 13: Prefix - Infix - Postfix - Examples

In this topic, we will look at linked lists: The Node and List classes, accessors and mutators, the implementation of various member functions, stepping through a linked list, defining the copy and assignment operator, defining move constructors and move assignment operators, discussed efficiencies.

7/8/2020 3:20:52 PM +00:00

Lecture Algorithms and data structures: Chapter 12 - Prefix Infix Postfix

An Abstract Queue (Queue ADT) is an abstract data type that emphasizes specific operations: Uses a explicit linear ordering, insertions and removals are performed individually, there are no restrictions on objects inserted into (pushed onto) the queue - that object is designated the back of the queue,... This topic discusses the concept of a queue: Description of an Abstract Queue, list applications, implementation, queuing theory, standard template library.

7/8/2020 3:20:46 PM +00:00

Lecture Algorithms and data structures: Chapter 11- Stacks

An Abstract Stack (Stack ADT) is an abstract data type which emphasizes specific operations: Uses a explicit linear ordering, insertions and removals are performed individually, there are no restrictions on objects inserted into (pushed onto) the queue that object is designated the back of the queue,... This topic discusses the concept of a stack: Description of an Abstract Stack, list applications, implementation, example applications, standard template library.

7/8/2020 3:20:40 PM +00:00

Lecture Algorithms and data structures: Chapter 10 - List using Array

An Abstract Deque (Deque ADT) is an abstract data structure which emphasizes specific operations: Uses a explicit linear ordering, insertions and removals are performed individually, allows insertions at both the front and back of the deque. This topic discusses the concept of a queue: Description of an Abstract Deque, applications, implementations, the STL and iterations.

7/8/2020 3:20:34 PM +00:00

Lecture Algorithms and data structures: Chapter 9 - Sorting Algorithms

An Abstract List (or List ADT) is linearly ordered data where the programmer explicitly defines the ordering. We will now look at our first abstract data structure: Relation - explicit linear ordering, operations, implementations of an abstract list with linked lists and arrays, memory requirements, strings as a special case, the STL vector class.

7/8/2020 3:20:28 PM +00:00

Lecture Algorithms and data structures: Chapter 8 - Selection Sort

In this topic, we will examine code to determine the run time of various operations. We will introduce machine instructions, we will calculate the run times of: operators +, -, =, +=, ++, etc; control statements if, for, while, do-while, switch; functions; recursive functions.

7/8/2020 3:20:22 PM +00:00

Lecture Algorithms and data structures: Chapter 7 - Merge Sort

In this topic, we will look at: Justification for analysis, quadratic and polynomial growth, counting machine instructions, Landau symbols, Big-Q as an equivalence relation, little-o as a weak ordering.

7/8/2020 3:20:16 PM +00:00

Lecture Algorithms and data structures: Chapter 6 - Quick Sort

This topic will describe: The concrete data structures that can be used to store information, the basic forms of memory allocation, the prototypical examples of these: arrays and linked lists, other data structures, finally we will discuss the run-time of queries and operations on arrays and linked lists.

7/8/2020 3:20:10 PM +00:00

Lecture Algorithms and data structures: Chapter 5 - Insertion Sort

This topic will describe the storage of objects in containers, we will focus on linear orderings: Implicitly defined linear orderings (sorted lists), explicitly defined linear orderings. We will summarize this information and look briefly at: Hierarchical orderings, partial orderings, equivalence relations, adjacency relations.

7/8/2020 3:20:01 PM +00:00

Lecture Algorithms and data structures: Chapter 4 - Bubble Sort

This topic gives an overview of the mathematical technique of a proof by induction: We will describe the inductive principle, look at ten different examples, four examples where the technique is incorrectly applied, well-ordering of the natural numbers, strong induction, geometric problems.

7/8/2020 3:19:54 PM +00:00

Lecture Algorithms and data structures: Chapter 3 - Recursion

This chapter will provide a brief overview of C++. In this topic we will see: The similarities between C# and C++; some differences (including global variables and functions; the preprocessor, compilation, namespaces; printing), concluding with classes, templates, pointers memory allocation and deallocation.

7/8/2020 3:19:48 PM +00:00

Lecture Algorithms and data structures: Chapter 2 - Searching

This topic reviews the basic mathematics required in this course: A justification for a mathematical framework, the ceiling and floor functions, L’Hôpital’s rule, logarithms, arithmetic and other polynomial series, geometric series, recurrence relations, weighted averages, combinations.

7/8/2020 3:19:42 PM +00:00

Lecture Algorithms and data structures: Chapter 1 - Introduction to Data Structure and Algorithms

The course focuses on strategies and techniques to efficiently store data (Data Structures) and to perform processing on such data in efficient ways (Algorithms), as well as on the analysis and design of such techniques. In this lecture, the following topics will be covered: Mathematical review; asymptotic and algorithm analysis; relationships and data structures; requential storage: Lists, queues, stacks, deques; hash tables; trees; priority queues and heaps; sort algorithms; graphs and graph algorithms; algorithm design techniques; complexity classes and NP completeness.

7/8/2020 3:19:36 PM +00:00

Lecture Computer organization and assembly language: Chapter 1 - Dr. Safdar Hussain Bouk

After successfully completing the course, you will be able to: Describe the basic components of a Computer System, its instruction set architecture and its basic fetch-execute cycle operation; describe how data is represented and recognized in a computer; understand the basics of Assembly Language programming including addressing modes, subroutines, interrupts, stacks, etc.

7/8/2020 2:48:40 PM +00:00

Lecture Computer organization and assembly language: Chapter 32 - Dr. Safdar Hussain Bouk

After studying this chapter you will be able to understand: Computer system operation, I/O structure, storage structure, storage hierarchy, hardware protection, general system architecture.

7/8/2020 2:48:34 PM +00:00

Lecture Computer organization and assembly language: Chapter 31 - Dr. Safdar Hussain Bouk

After studying this chapter you will be able to understand: Describe the basic concepts of files and file systems, understand the principal techniques for file organization and access, define B-trees, explain file directories, understand the requirements for file sharing,...

7/8/2020 2:48:28 PM +00:00

Lecture Computer organization and assembly language: Chapter 30 - Dr. Safdar Hussain Bouk

After studying this chapter you will be able to understand: Summarize key categories of I/O devices on computers, discuss the organization of the I/O function, explain some of the key issues in the design of OS support for I/O, analyze the performance implications of various I/O buffering alternatives,...

7/8/2020 2:48:22 PM +00:00

Lecture Computer organization and assembly language: Chapter 29 - Dr. Safdar Hussain Bouk

This chapter continues our survey of process and thread scheduling. We begin with an examination of issues raised by the availability of more than one processor. A number of design issues are explored.

7/8/2020 2:48:16 PM +00:00

Lecture Computer organization and assembly language: Chapter 28 - Dr. Safdar Hussain Bouk

This chapter begins with an examination of the three types of processor scheduling, showing how they are related. We see that long-term scheduling and mediumterm scheduling are driven primarily by performance concerns related to the degree of multiprogramming.

7/8/2020 2:48:10 PM +00:00

Lecture Computer organization and assembly language: Chapter 27 - Dr. Safdar Hussain Bouk

After studying this chapter you will be able to understand: Define virtual memory; describe the hardware and control structures that support virtual memory; describe the various OS mechanisms used to implement virtual memory; describe the virtual memory management mechanisms in UNIX, Linux, and Windows 7.

7/8/2020 2:48:04 PM +00:00

Lecture Computer organization and assembly language: Chapter 26 - Dr. Safdar Hussain Bouk

After studying this chapter you will be able to understand: Discuss basic concepts related to concurrency, such as race conditions, OS concerns, and mutual exclusion requirements; understand hardware approaches to supporting mutual exclusion; define and explain semaphores; define and explain monitors;...

7/8/2020 2:47:58 PM +00:00