Chương 1 giúp người học có những hiểu biết tổng quan về cấu trúc dữ liệu và giải thuật như: Vai trò của tổ chức dữ liệu, mối quan hệ giữa cấu trúc dữ liệu và giải thuật, các khái niệm và yêu cầu về cấu trúc dữ liệu, nhắc lại các kiểu dữ liệu trong C++, tổng quan về đánh giá độ phức tạp giải thuật. . | CHƯƠNG 1. TỔNG QUAN VỀ CTDL & GT Trần Minh Thái Email: minhthai@ Website: 1 Mục tiêu Giới thiệu vai trò của tổ chức dữ liệu Mối quan hệ giữa GT & CTDL Các khái niệm và yêu cầu về CTDL Nhắc lại các kiểu dữ liệu trong C++ Tổng quan về đánh giá độ phức tạp GT 2 Suy nghĩ 3 Theo bạn: trước khi viết một chương trình để giải quyết một bài toán nào đó trên máy tính thì cần phải làm những việc gì? ? Xét đoạn chương trình sau void main() { int n; cout>n; if(n%2==0) cout V = {Tập các giá trị} O = {Tập các thao tác xử lý} Ví dụ: Kiểu dữ liệu số nguyên short trong ngôn ngữ C T = short V = {-32768, 32767} O = {+, -, *, /, %} 7 Khái niệm về kiểu dữ liệu Các thuộc tính của một kiểu dữ liệu gồm: | CHƯƠNG 1. TỔNG QUAN VỀ CTDL & GT Trần Minh Thái Email: minhthai@ Website: 1 Mục tiêu Giới thiệu vai trò của tổ chức dữ liệu Mối quan hệ giữa GT & CTDL Các khái niệm và yêu cầu về CTDL Nhắc lại các kiểu dữ liệu trong C++ Tổng quan về đánh giá độ phức tạp GT 2 Suy nghĩ 3 Theo bạn: trước khi viết một chương trình để giải quyết một bài toán nào đó trên máy tính thì cần phải làm những việc gì? ? Xét đoạn chương trình sau void main() { int n; cout>n; if(n%2==0) cout V = {Tập các giá trị} O = {Tập các thao tác xử lý} Ví dụ: Kiểu dữ liệu số nguyên short trong ngôn ngữ C T = short V = {-32768, 32767} O = {+, -, *, /, %} 7 Khái niệm về kiểu dữ liệu Các thuộc tính của một kiểu dữ liệu gồm: Tên Miền giá trị Kích thước lưu trữ Tập các thao tác tác động lên kiểu dữ liệu đó Các loại kiểu dữ liệu Kiểu dữ liệu cơ bản: Cơ sở, mảng, cấu trúc cơ bản Kiểu dữ liệu có cấu trúc hướng giải quyết vấn đề: Danh sách liên kết, hàng đợi, ngăn xếp, cây, bảng băm, 8 Khái niệm về kiểu dữ liệu Tĩnh Được định nghĩa ở thời điểm biên dịch. Được cấp phát ở thời điểm liên kết. Có thể có giá trị ban đầu tùy theo từng ngôn ngữ lập trình. Tồn tại đến khi kết thúc chương trình. Động Được gắn kết với một con trỏ (tại thời điểm biên dịch chưa có). Phát sinh lúc thực thi. Không xác định giá trị ban đầu. Được giải phóng khỏi bộ nhớ khi cần. 9 Nhắc lại các kiểu dữ liệu C++ Kiểu cơ sở: Số nguyên, số thực và kiểu logic Kiểu mảng, chuỗi Kiểu có cấu trúc 10 11 Kiểu số nguyên Stt Tên kiểu Ghi chú Kích thước 1 char Ký tự 1 byte Số nguyên 1 byte 2 unsigned char Số nguyên dương 1 byte 3 short Số nguyên 2 bytes 4 unsigned short Số nguyên dương 2 bytes 5 int Số nguyên 4 bytes 6 unsigned int Số nguyên dương 4