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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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