Bài giảng Kỹ thuật lập trình: Các cấu trúc dữ liệu cơ bản - ThS. Đặng Bình Phương (ĐH Khoa học Tự nhiên)

33 59 0
Bài giảng Kỹ thuật lập trình: Các cấu trúc dữ liệu cơ bản - ThS. Đặng Bình Phương (ĐH Khoa học Tự nhiên)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng Kỹ thuật lập trình: Các cấu trúc dữ liệu cơ bản bao gồm các nội dung: Danh sách liên kết, hàng đợi, ngăn xếp, đồ án lập trình, các vấn đề tìm hiểu mở rộng kiến thức nghề nghiệp, thuật ngữ và bài đọc thêm tiếng Anh. Mời các bạn cùng tham khảo.

Kỹ thuật lập trình ThS Đặng Bình Phương (dbphuong@fit.hcmus.edu.vn) CuuDuongThanCong.com https://fb.com/tailieudientucntt Danh sách liên kết Hàng đợi Ngăn xếp Đồ án lập trình Các vấn đề tìm hiểu mở rộng kiến thức nghề nghiệp Thuật ngữ đọc thêm tiếng Anh 2/27/2014 CuuDuongThanCong.com Khoa CNTT - ĐH Khoa học tự nhiên https://fb.com/tailieudientucntt CuuDuongThanCong.com https://fb.com/tailieudientucntt • Mối liên hệ phần tử ngầm hiểu – Mỗi phần tử có số ngầm hiểu xi+1 nằm sau xi Do phần tử phải nằm cạnh nhớ – Số lượng phần tử cố định Khơng có thao tác thêm hủy mà có thao tác dời chỗ – Truy xuất ngẫu nhiên đến phần tử nhanh chóng – Phí nhớ khơng biết trước kích thước – Ví dụ: mảng chiều 2/27/2014 CuuDuongThanCong.com Khoa CNTT - ĐH Khoa học tự nhiên https://fb.com/tailieudientucntt • Mối liên hệ phần tử rõ ràng – Mỗi phần tử thơng tin thân cịn có thêm liên kết (địa chỉ) đến phần tử – Các phần tử không cần phải xếp cạnh nhớ – Việc truy xuất đến phần tử đòi hỏi phải thông qua phần tử khác – Tùy nhu cầu, phần tử liên kết theo nhiều cách khác tạo thành danh sách liên kết đơn, kép, vòng 2/27/2014 CuuDuongThanCong.com Khoa CNTT - ĐH Khoa học tự nhiên https://fb.com/tailieudientucntt • Nhận xét – Số nút không cố định, thay đổi tùy nhu cầu nên cấu trúc động – Thích hợp thực thao tác chèn hủy khơng cần phải dời nút mà cần sửa liên kết cho phù hợp Thời gian thực không phụ thuộc vào số nút danh sách – Tốn nhớ chứa trỏ liên kết pNext – Truy xuất nên thời gian 2/27/2014 CuuDuongThanCong.com Khoa CNTT - ĐH Khoa học tự nhiên https://fb.com/tailieudientucntt pTail A B C D E pHead typedef struct tagNode { Data Info; struct tagNode *pNext; } NODE; typedef struct tagList { NODE *pHead; NODE *pTail; } LIST; 2/27/2014 CuuDuongThanCong.com Khoa CNTT - ĐH Khoa học tự nhiên https://fb.com/tailieudientucntt • Khởi tạo danh sách pHead ? pTail ? • Kiểm danh sách có rỗng hay không pHead NULL? pTail 2/27/2014 CuuDuongThanCong.com Khoa CNTT - ĐH Khoa học tự nhiên https://fb.com/tailieudientucntt • Tạo nút X ? ? • Xác định trỏ nút thứ i danh sách – p = pHead – p = p->pNext i lần p != NULL return lại trỏ p • Xác định vị trí nút p danh sách – Tương tự trả lại vị trí 2/27/2014 CuuDuongThanCong.com Khoa CNTT - ĐH Khoa học tự nhiên https://fb.com/tailieudientucntt • Chèn nút vào đầu danh sách pTail – Danh sách rỗng pHead X – Danh sách không rỗng X A pTail B C D E pHead 2/27/2014 CuuDuongThanCong.com Khoa CNTT - ĐH Khoa học tự nhiên https://fb.com/tailieudientucntt 10 • Khái niệm – Làm việc theo FIFO (First In First Out) pHead (Front) A B C D pTail (Rear) 2/27/2014 CuuDuongThanCong.com Khoa CNTT - ĐH Khoa học tự nhiên https://fb.com/tailieudientucntt 19 • • • • • • Lưu trữ Kiểm tra rỗng hay không Thêm phần tử (vào cuối) Lấy phần tử (ở đầu) Lấy kích thước Lấy thơng tin phần tử (ở đầu) 2/27/2014 CuuDuongThanCong.com Khoa CNTT - ĐH Khoa học tự nhiên https://fb.com/tailieudientucntt 20 • Bộ đệm bàn phím máy tính • Xử lý lệnh máy tính: hàng đợi thơng điệp Windows, hàng đợi tiến trình… • Thường dùng hệ mơ 2/27/2014 CuuDuongThanCong.com Khoa CNTT - ĐH Khoa học tự nhiên https://fb.com/tailieudientucntt 21 CuuDuongThanCong.com https://fb.com/tailieudientucntt • Khái niệm – Làm việc theo LIFO (Last In First Out) (Top) pHead C B A 2/27/2014 CuuDuongThanCong.com pTail (Bottom) Khoa CNTT - ĐH Khoa học tự nhiên https://fb.com/tailieudientucntt 23 • • • • • • Lưu trữ Kiểm tra rỗng hay không Thêm phần tử (vào đỉnh) Lấy phần tử (từ đỉnh) Lấy kích thước Lấy thơng tin phần tử (đỉnh) 2/27/2014 CuuDuongThanCong.com Khoa CNTT - ĐH Khoa học tự nhiên https://fb.com/tailieudientucntt 24 • Khử đệ qui (trường hợp đệ qui đi) • Đổi số • Tính giá trị biểu thức 2/27/2014 CuuDuongThanCong.com Khoa CNTT - ĐH Khoa học tự nhiên https://fb.com/tailieudientucntt 25 CuuDuongThanCong.com https://fb.com/tailieudientucntt • Cài đặt thao tác danh sách liên kết đơn • Cài đặt ngăn xếp hàng đợi sử dụng danh sách liên kết đơn • Cài đặt số ứng dụng ngăn xếp hàng đợi 2/27/2014 CuuDuongThanCong.com Khoa CNTT - ĐH Khoa học tự nhiên https://fb.com/tailieudientucntt 27 CuuDuongThanCong.com https://fb.com/tailieudientucntt • Hàng đợi có độ ưu tiên • Một vài cấu trúc liệu khác 2/27/2014 CuuDuongThanCong.com Khoa CNTT - ĐH Khoa học tự nhiên https://fb.com/tailieudientucntt 29 CuuDuongThanCong.com https://fb.com/tailieudientucntt • • • • • • • • • circularly linked list, ring list: danh sách liên kết vòng doubly linked list, bi-directional linked list: danh sách liên kết kép FIFO – First In First Out: vào trước trước (cơ chế hàng đợi) FILO – First In Last Out: vào trước sau (cơ chế ngăn xếp) linked list: danh sách liên kết priority queue: hàng đợi có độ ưu tiên queue: hàng đợi singly linked list, uni-directional linked list: danh sách liên kết đơn stack: ngăn xếp 2/27/2014 CuuDuongThanCong.com Khoa CNTT - ĐH Khoa học tự nhiên https://fb.com/tailieudientucntt 31 • Theory and Problems of Fundamentals of Computing with C++, John R.Hubbard, Schaum’s Outlines Series, McGraw-Hill, 1998 2/27/2014 CuuDuongThanCong.com Khoa CNTT - ĐH Khoa học tự nhiên https://fb.com/tailieudientucntt 32 CuuDuongThanCong.com https://fb.com/tailieudientucntt ... Khoa CNTT - ĐH Khoa học tự nhiên https://fb.com/tailieudientucntt 24 • Khử đệ qui (trường hợp đệ qui đi) • Đổi số • Tính giá trị biểu thức 2/27/2014 CuuDuongThanCong.com Khoa CNTT - ĐH Khoa học. .. Hàng đợi Ngăn xếp Đồ án lập trình ? ?Các vấn đề tìm hiểu mở rộng kiến thức nghề nghiệp ? ?Thuật ngữ đọc thêm tiếng Anh 2/27/2014 CuuDuongThanCong.com Khoa CNTT - ĐH Khoa học tự nhiên https://fb.com/tailieudientucntt... CuuDuongThanCong.com Khoa CNTT - ĐH Khoa học tự nhiên https://fb.com/tailieudientucntt 27 CuuDuongThanCong.com https://fb.com/tailieudientucntt • Hàng đợi có độ ưu tiên • Một vài cấu trúc liệu khác 2/27/2014

Ngày đăng: 11/01/2020, 19:33

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan