TAILIEUCHUNG - Lecture Algorithms and data structures (CSC112) - Chapter 1

Lecture Algorithms and data structures(CSC112) - 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. | Algorithms and Data Structures (CSC112) 1 Introduction Algorithms and Data Structures Static Data Structures Searching Algorithms Sorting Algorithms List implementation through Array ADT: Stack ADT: Queue Dynamic Data Structures (Linear) Linked List (Linear Data Structure) Dynamic Data Structures (Non-Linear) Trees, Graphs, Hashing 2 What is a Computer Program? To exactly know, what is data structure? We must know: What is a computer program? Input Some mysterious processing Output 3 Definition An organization of information, usually in memory, for better algorithm efficiency such as queue, stack, linked list and tree. 4 3 steps in the study of data structures Logical or mathematical description of the structure Implementation of the structure on the computer Quantitative analysis of the structure, which includes determining the amount of memory needed to store the structure and the time required to process the structure 5 Lists (Array /Linked List) Items have a position in this Collection Random access or not? Array Lists internal storage container is native array Linked Lists public class Node { private Object data; private Node next; } first last 6 6 Stacks Collection with access only to the last element inserted Last in first out insert/push remove/pop top make empty Top Data4 Data3 Data2 Data1 7 7 Queues Collection with access only to the item that has been present the longest Last in last out or first in first out enqueue, dequeue, front, rear priority queues and deques Data4 Data3 Data2 Data1 Front Rear Deletion Insertion 8 8 Trees Similar to a linked list public class TreeNode { private Object data; private TreeNode left; private TreeNode right; } Root 9 9 Hash Tables Take a key, apply function f(key) = hash value store data or object based on hash value Sorting O(N), access O(1) if a perfect hash function and enough memory for table how deal with collisions? 10 10 Other ADTs Graphs Nodes with unlimited connections between other nodes 11 11 cont .

TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.