• Cấu trúc dữ liệu và giải thuật - Chương 7: Tìm kiếm

    Cấu trúc dữ liệu và giải thuật - Chương 7: Tìm kiếm

    Cho biết: Một danh sách các bản ghi (record). Một khóa cần tìm. Tìm bản ghi có khóa trùng với khóa cần tìm (nếu có). Đo độ hiệu quả: Số lần so sánh khóa cần tìm và khóa của các bản ghi Phân loại: Tìm kiếm nội (internal searching) Tìm kiếm ngoại (external searching)

     29 p cit 19/03/2013 173 7

  • Cấu trúc dữ liệu và giải thuật - Chương 6: Danh sách và chuỗi

    Cấu trúc dữ liệu và giải thuật - Chương 6: Danh sách và chuỗi

    Một danh sách (list) kiểu T Một dãy hữu hạn kiểu T Một số tác vụ: 1. Khởi tạo danh sách rỗng (create) 2. Kiểm tra rỗng (empty) 3. Kiểm tra đầy (full) 4. Tính kích thước (size) 5. Xóa rỗng danh sách (clear) 6. Thêm một giá trị vào danh sách tại một ví trí cụ thể (insert) 7. Lấy một giá trị tại một vị trí cụ thể ra khỏi danh sách (remove) 8. Nhận về giá...

     38 p cit 19/03/2013 166 8

  • Cấu trúc dữ liệu và giải thuật - Chương 5: Đệ qui

    Cấu trúc dữ liệu và giải thuật - Chương 5: Đệ qui

    Khái niệm (định nghĩa) đệ qui có dùng lại chính nó. Ví dụ: giai thừa của n là 1 nếu n là 0 hoặc là n nhân cho giai thừa của n-1 nếu n 0 Quá trình đệ qui gồm 2 phần: Trường hợp cơ sở (base case) Trường hợp đệ qui: cố gắng tiến về trường hợp cơ sở Ví dụ trên: Giai thừa của n là 1 nếu n là 0 Giai thừa của n là n * (giai thừa của n-1) nếu n0

     27 p cit 19/03/2013 168 6

  • Cấu trúc dữ liệu và giải thuật - Chương 4: Stack và Queue liên kết

    Cấu trúc dữ liệu và giải thuật - Chương 4: Stack và Queue liên kết

    Địa chỉ của biến: Biến: int_ptr = &x; Array: arr_ptr = an_array; Dynamic array: Trong C++, array có thể được quản lý như một con trỏ và ngược lại Ví dụ: int arr[3] = {0, 1, 2, 3}; int *arr_ptr = arr; //in ra 0 – 1 – 2 cout

     32 p cit 19/03/2013 178 7

  • Cấu trúc dữ liệu và giải thuật - Chương 3: Queue

    Cấu trúc dữ liệu và giải thuật - Chương 3: Queue

    Một queue là một cấu trúc dữ liệu mà việc thêm vào được thực hiện ở một đầu (rear) và việc lấy ra được thực hiện ở đầu còn lại (front) Phần tử vào trước sẽ ra trước – FIFO (First In First Out) Một queue kiểu T: Một dãy hữu hạn kiểu T Một số tác vụ: 1. Khởi tạo queue rỗng (create) 2. Kiểm tra rỗng (empty) 3. Thêm một giá trị vào cuối của...

     22 p cit 19/03/2013 185 9

  • Cấu trúc dữ liệu và giải thuật - Chương 2: Stack

    Cấu trúc dữ liệu và giải thuật - Chương 2: Stack

    Một stack là một cấu trúc dữ liệu mà việc thêm vào và loại bỏ được thực hiện tại một đầu (gọi là đỉnh – top của stack). Là một dạng vào sau ra trước – LIFO (Last In First Out) ĐN1: Một kiểu (type) một tập hợp mỗi thành phần của tập hợp này là các giá trị (value) Ví dụ: int, float, char là các kiểu cơ bản ĐN2: Một dãy của kiểu T có chiều...

     24 p cit 19/03/2013 163 9

  • Cấu trúc dữ liệu và giải thuật - Chương 1: Tổng quan

    Cấu trúc dữ liệu và giải thuật - Chương 1: Tổng quan

    Class: hiện thực của abstract type Định nghĩa các dữ liệu Định nghĩa các phương thức + hàm phụ trợ (nội bộ) Định nghĩa các phương phức ‘constructor’ và ‘destructor’ nếu cần Đối tượng = một instance của một class Thông điệp (message): dùng tương tác lẫn nhau = lời gọi phương thức của các đối tượng Student aStudent; aStudent.print();

     20 p cit 19/03/2013 166 5

  • Introduction to Algorithms Second Edition

    Introduction to Algorithms Second Edition

    This book provides a comprehensive introduction to the modern study of computer algorithms. It presents many algorithms and covers them in considerable depth, yet makes their design and analysis accessible to all levels of readers. We have tried to keep explanations elementary without sacrificing depth of coverage or mathematical rigor. Each chapter presents an algorithm, a design technique, an application area, or a related topic. Algorithms...

     984 p cit 19/03/2013 130 1

  • Analysis and design of algorithms - chapter 8: Approximation Algorithms

    Analysis and design of algorithms - chapter 8: Approximation Algorithms

    Many problems of practical significance are NP-complete but are too important to abandon merely because obtaining an optimal solution is intractable. If a problem is NP-complete, we are unlikely to find a polynomial time algorithm for solving it exactly, but it may still be possible to find near-optimal solution in polynomial time. In practice, near-optimality is often good enough. An algorithm that returns near-optimal solutions is called...

     22 p cit 19/03/2013 133 1

  • Phân tích và thiết kế giải thuật - chương 7: Vấn đề NP-đầy đủ

    Phân tích và thiết kế giải thuật - chương 7: Vấn đề NP-đầy đủ

    Đối với nhiều bài toán chúng ta có những giải thuật hữu hiệu để giải. Tuy nhiên, có rất nhiều bài toán khác không có giải thuật hữu hiệu để giải. Và đối với một lớp khá lớn của những bài toán như vậy, chúng ta không thể nói có tồn tại giải thuật hữu hiệu để giải nó hay không.

     25 p cit 19/03/2013 169 1

  • Phân tích và thiết kế giải thuật - chương 6: Giải thuật quay lui

    Phân tích và thiết kế giải thuật - chương 6: Giải thuật quay lui

    Một phương pháp tổng quát để giải quyết vấn đề: thiết kế giải thuật tìm lời giải cho bài tóan không phải là bám theo một tập qui luật tính tóan được xác định mà là bằng cách thử và sửa sai (trial and error).  Khuôn mẫu thông thường là phân rã quá trình thử và sửa sai thành những công tác bộ phận. Thường thì những công tác bộ phận này...

     37 p cit 19/03/2013 170 1

  • Phân tích và thiết kế giải thuật - chương 5: Qui hoạch động và giải thuật tham lam

    Phân tích và thiết kế giải thuật - chương 5: Qui hoạch động và giải thuật tham lam

    Quy hoạch động (dynamic programming) giải các bài toán bằng cách kết hợp các lời giải của các bài toán con của bài toán đang xét. Phương pháp này khả dụng khi các bài toán con không độc lập đối với nhau, tức là khi các bài toán con có dùng chung những bài toán “cháu” (subsubproblem). Qui hoạch động giải các bài toán “cháu” dùng chung này một lần...

     72 p cit 19/03/2013 186 1

Hướng dẫn khai thác thư viện số