Cấu trúc dữ liệu - Chương 1 Các khái niệm cơ bản
lượt xem 85
download
Tài liệu "Cấu trúc dữ liệu - Chương 1 Các khái niệm cơ bản" giúp bạn nắm bắt thuật toán và cấu trúc dữ liệu, các kiểu dữ liệu cơ bản trong ngôn ngữ C, kiểu con trỏ, kiểu tham chiếu, đệ qui.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Cấu trúc dữ liệu - Chương 1 Các khái niệm cơ bản
- Chương 1. CÁC KHÁI NIỆM CƠ BẢN 1.1. Thuật toán và cấu trúc dữ liệu - Dữ liệu: nói chung là bất kỳ những gì mà máy tính xử lý - Kiểu dữ liệu: Mỗi kiểu dữ liệu gồm các giá trị có cùng chung các tính chất nào đó và trên đó xác định các phép toán - Cấu trúc dữ liệu: là cách tổ chức và lưu trữ dữ liệu trong máy tính - Thuật toán (hay giải thuật): là tập hợp các bước theo một trình tự nhất định để giải một bài toán - Giữa cấu trúc dữ liệu và thuật toán có quan hệ mật thiết. Nếu ta biết các tổ chức cấu trúc dữ liệu hợp lý thì thuật toán sẽ đơn giản hơn. Khi cấu trúc dữ liệu thay đổi thì thuật toán sẽ thay đổi theo 1.2. Các kiểu dữ liệu cơ bản trong ngôn ngữ C 1.2.1. Các kiểu dữ liệu đơn giản Có giá trị là đơn, - Kiểu ký tự: có giá trị là một ký tự bất kỳ đặt giữa hai dấu nháy đơn, có kích thước 1 Byte và biểu diễn được một ký tự thông qua bảng mã ASCII, gồm 2 kiểu: Kiểu Phạm vi biểu diễn Kích thước char từ -128 đến 127 1 Byte unsigned char từ 0 đến 255 1 Byte - Kiểu số nguyên: có giá trị là một số nguyên, gồm các kiểu: Kiểu Phạm vi biểu diễn Kích thước int từ -32768 đến 32767 2 Byte unsigned int từ 0 đến 65535 2 Byte long từ -2147483648 đến 2147483647 4 Byte unsigned long từ 0 đến 4294967295 4 Byte Nhận xét: Các kiểu ký tự cũng có thể xem là một dạng của kiểu số nguyên - Kiểu số thực: Có giá trị là một số thực, gồm các kiểu: Kiểu Phạm vi biểu diễn Kích thước float từ 3.4E-38 đến 3.4E+38 4 Byte double từ 1.7E-308 đến 1.7E+308 8 Byte long double từ 3.4E-4932 đến 1.1E4932 10 Byte 1.2.2. Các kiểu dữ liệu có cấu trúc 1.1.1.1. Kiểu mảng Các thành phần có cùng kiểu dữ liệu, mỗi thành phần gọi là một phần tử, các phần tử được đánh chỉ số từ 0 trở đi. Ví dụ với khai báo float A[5] Khai báo A là một mảng các số thực gồm 5 phần tử là A[0] , A[1] , A[2] , A[3] , A[4] 1.1.1.2. Kiểu bản ghi Các thành phần có thể có kiểu dữ liệu khác nhau, mỗi thành phần gọi là một trường Ví dụ: struct SVIEN { char ten[7]; int namsinh; float cao; }; CTDL - C – Trang 1
- Khai báo SVIEN là kiểu bản ghi gồm 3 trường ten, namsinh, cao 1.3. Kiểu con trỏ 1.3.1. Định nghĩa Con trỏ là một biến mà nội dung của nó là địa chỉ của một đối tượng khác. Đối tượng ở đây có thể là một biến hoặc một hàm 1.3.2. Khai báo kiểu con trỏ kiểudữliệu *tênbiếncontrỏ ; Vd char c, *pc; // pc là con trỏ kiểu ký tự char int i, n, *p, *p2; float f, r, *pf; 1.3.3. Hàm địa chỉ &biến Trả về địa chỉ của một biến trong bộ nhớ, ví dụ &n 1.3.4. Các phép toán trên kiểu con trỏ - Phép gán: Ta có thể gán giá trị của hai biến con trỏ cùng kiểu cho nhau, hoặc gán địa chỉ của một biến cho biến con trỏ cùng kiểu - Phép cộng thêm vào con trỏ một số nguyên (đối với con trỏ liên quan đến mảng) - Phép so sánh bằng nhau = = hoặc khác nhau != - Hằng con trỏ NULL: cho biết con trỏ không chỉ đến đối tượng nào cả, giá trị này có thể được gán cho mọi biến con trỏ kiểu bất kỳ - Phép cấp phát vùng nhớ Lệnh biếncontrỏ = NEW kiểudữliệu; Vd lệnh p = new int; - Phép thu hồi vùng nhớ Lệnh DELETE biếncontrỏ; Vd lệnh delete p; 1.4. Kiểu tham chiếu 1.4.1. Định nghĩa Trong C++ có 3 loại biến Biến giá trị chứa một giá trị dữ liệu thuộc về một kiểu nào đó (nguyên, thực, ký tự . . . ) Biến con trỏ chứa địa chỉ của một đối tượng. Hai loại biến này đều được cấp bộ nhớ và có địa chỉ Loại thứ ba là biến tham chiếu, là biến không được cấp phát bộ nhớ, không có địa chỉ riêng, được dùng làm bí danh cho một biến khác và dùng chung bộ nhớ của biến này 1.4.2. Khai báo kiểu tham chiếu Cú pháp: kiểu dữ liệu &tên biến tham chiếu = tên biến; Tên biến là tên biến cùng kiểu với biến tham chiếu đang được khai báo, biến tham chiếu sẽ tham chiếu đến biến cùng kiểu này Vd float u, v; Float &x=u; Khai báo 2 biến thực u và v Biến tham chiếu x tham chiếu đến biến u cùng kiểu thực, dùng chung vùng nhớ với biến u. Khi đó những thay đổi của biến u cũng là những thay đổi của biến x và ngược lại Vd int m; int &n=m; m=25; cout
- n=n+10; 1.4.3. Ứng dụng kiểu tham chiếu #include #include void doi(int x, int &y, int *z) { x=x+1; y=y+2; *z=*z+4; } void main() { int i=10, j=20, k=30; cout
- chuyen(1,x,y,z); chuyen(n-1,z,y,x); } } void main() { int n; cout n; chuyen(n,'A','B','C'); getch(); } ---o-O-o--- CTDL - C – Trang 4
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Giáo trình cấu trúc dữ liệu và giải thuât part 2
16 p | 551 | 286
-
Giáo trình cấu trúc dữ liệu và giải thuât part 3
16 p | 473 | 246
-
Giáo trình cấu trúc dữ liệu và giải thuât part 4
16 p | 388 | 218
-
Giáo trình cấu trúc dữ liệu và giải thuât part 5
16 p | 422 | 204
-
Giáo trình cấu trúc dữ liệu và giải thuât part 6
16 p | 372 | 195
-
Giáo trình cấu trúc dữ liệu và giải thuât part 7
16 p | 352 | 184
-
Giáo trình cấu trúc dữ liệu và giải thuât part 8
16 p | 338 | 183
-
Bài giảng Cấu trúc dữ liệu trên C++
513 p | 124 | 145
-
Cấu trúc dữ liệu : BẢNG BĂM (HASH TABLE) part 1
5 p | 479 | 80
-
Tổng quan Cấu trúc dữ liệu và giải thuật - Gv.Trương Phước Hải
15 p | 152 | 41
-
Cấu trúc dữ liệu : Một số phương pháp sắp xếp part 3
5 p | 204 | 32
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Cấu trúc dữ liệu cây đỏ đen - Bùi Tiến Lên
25 p | 78 | 8
-
Cấu trúc dữ liệu & giải thuật: Phần 2
123 p | 47 | 7
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Các cấu trúc dữ liệu
193 p | 57 | 7
-
Giáo trình Cấu trúc dữ liệu và thuật toán (Tái bản): Phần 1
152 p | 14 | 6
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Tổng quan - Nguyễn Đức Cương
6 p | 99 | 4
-
Giới thiệu môn học Cấu trúc dữ liệu và giải thuật - ThS. Nguyễn Thị Khiêm Hòa (ĐH Ngân hàng TP.HCM)
9 p | 64 | 3
-
Bài giảng Cấu trúc dữ liệu và giải thuật: Các khái niệm cơ bản - Nguyễn Tri Tuấn
22 p | 27 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn