YOMEDIA
Bài giảng Maple: Bài 6 - Cấu trúc dữ liệu trong maple
Chia sẻ: Dat Dat
| Ngày:
| Loại File: PPT
| Số trang:20
129
lượt xem
12
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
Dưới đây là bài giảng Maple: Bài 6 - Cấu trúc dữ liệu trong maple, mời các bạn tham khảo bài giảng để nắm bắt những nội dung về cấu trúc dữ liệu trong Maple bao gồm dãy (sequence); tập hợp (set); danh sách (list); bảng (table); mảng (array). Bài giảng phục vụ cho các bạn chuyên ngành Toán học và những ngành có liên quan.
AMBIENT/
Chủ đề:
Nội dung Text: Bài giảng Maple: Bài 6 - Cấu trúc dữ liệu trong maple
- CẤU TRÚC DỮ LiỆU TRONG
MAPLE
- Cấu trúc dữ liệu trong Maple
Trong Maple có 5 lọai cấu trúc dữ liệu
chính:
Dãy (sequence)
Tập hợp (set)
Danh sách (list)
Bảng (table)
Mảng (array)
- Cấu trúc dữ liệu dãy…
Mô tả:
Là một nhóm các đối tượng được sắp xếp
theo thứ tự và ngăn cách nhau bởi dấu
phẩy.
Dãy có thể được gán cho 1 biến.
VD: x:=a,b,c,d.
Kí hiệu NULL dùng để thay thế cho một
dãy trống.
- Cấu trúc dữ liệu dãy…
Maple áp dụng định giá hòan tòan trong quá
trình tạo ra dãy.
> S1:=a,b,c;
> S2:=S1,d,e;
S2:=a,b,c,d,e
>S1:=a,1,2;
>S2:=S1,NULL,S1;
S2:=a,1,2,a,1,2
- Lệnh dùng để tạo dãy…
seq(f(i),i=low..high);
i low low+1 high1 high
f(low) ,f(low+1) , ,f(high1) ,f(high)
………………………,
seq(f(x),x=expression));
Tạo ra một dãy mà các thành phần của nó co được bằng
cách cho f tác động lên các thành phần của biểu thức
expression.
Expression có thể là một tập hợp,danh sách hoặc một biểu
thức dạng tổng tích.
- Ví dụ…
Làm thế nào tạo ra dãy : 1,4,9,16,25,36,49,64,81.
>seq(i^2,i=1..9);
1,4,9,16,25,36,49,64,81
- Ví dụ…
>tong:=sum(k^2,k=1..n);
1 1 1 1
tong := (n + 1) − (n + 1) + n +
3 2
3 2 6 6
>seq(op(i,tong),i=1..4);
1 3 1 2 1 1
(n + 1) , (n + 1) , n,
3 2 6 6
- Ví dụ…
> x:=[seq(Pi/i,i=1..9)];
1 1 1 1 1 1 1 1
x := [π , π , π , π , π , π , π , π , π ]
2 3 4 5 6 7 8 9
> y:= seq(sin(i),i=x);
1 1 1 1 �π �1 �π �
y := 0,1, 3, 2, 2 5 − 5 , ,sin � � , 2 − 2 ,sin � �
2 2 4 2 �7 �2 �9 �
- Cấu trúc dữ liệu tập hợp…
Tập hợp trong Maple được bao trong {}.
Khác với dãy, các phần tử của tập hợp phải
khác nhau.
Trên tập hợp có các phép tóan union(hợp) ,
intersect(giao) và minus(hiệu).
Truy cập phần tử của tập hợp thông qua
chỉ số của nó.
- Ví dụ…
>set1:= {x,y,z};
set1:={x,y,z}
>set2:={a,b,x,z};
set2:={a,b,x,z}
>set3:=set1 union set2;
set3:={x,y,z,a,b};
>set4:= set1 minus set2;
set4:={y}
>set5:= set1 intersect set2;
set5:={x,z}
>set5[2];
z
- Cấu trúc dữ liệu danh sách…
Một danh sách(list) trong Maple được
bao bọc trong [ ].
Giống như dãy, danh sách có thể lưu
trữ các phần tử giống nhau.
Danh sách khác gì dãy???
> x:= [a,b],[c,d] #dãy gồm 2 list
> x:=(a,b),(c,d) #dãy a,b,c,d
- Cấu trúc dữ liệu danh sách…
Có thể dùng lệnh op để truy cập phần tử trong danh
sách.
Hoặc cách khác dùng listname[index]. Với cách này
ta có thể thay đổi phần tử của danh sách.
> ds:=[a,b,c,d,e];
> op(4,ds);
d
> ds[3];
c
> ds[2]:=x;
> ds;
a,x,c,d,e
- Ví dụ ghép hai list…
> list1:=[a,b,c];
> list2:=[1,2,3,4];
> list3:= list1 , list2;
list3:=[a,b,c],[1,2,3,4]
> list4:=[op(list1),op(list2)];
list4:=[a,b,c,1,2,3,4]
- Dùng subsop() tạo một list…
subsop(index1=rep1,…,indexn=repn,expr);
Trong biểu thức thay thế n giá trị tại n vị trí
subsop có thể dùng thay thế một lúc nhiều
phần tử của list,set…
- Ví dụ…
> ds:=[a,1,c,d,2];
ds:=[a,1,c,d,2]
> subsop(2=b,5=e,ds);
[a,b,c,d,e]
- Cấu trúc dữ liệu bảng…
table(F,L);
F(option): hàm chỉ mục.
L(option):danh sách hay tập hợp các giá trị khởi tạo cho bảng.
Không giống như mảng có chỉ số (indices) là các số nguyên chỉ số
(khóa) của table có thể là tùy ý.
Hàm table tạo ra bảng với giá trị khởi đầu được chỉ ra bởi L.
Nếu L có dạng dãy các đẳng thức thì vtrái sẽ là khóa ,vphải là giá trị ứng
với khóa.
Nếu L có dạng dãy của các gía trị thì các chỉ số là 1,2,3,….
Dùng hai hàm indices(bảng) và entries(bảng) để tạo ra một dãy gồm
các khóa và giá trị của bảng.
Trật tự của các mục trong bảng không nhất thiết giống như thứ tự
nhập vào bảng.Tuy nhiên, luôn có sự tương ứng 11 giữa khóa và giá
trị.
Bảng là công cụ thích hợp cho việc lập sổ tra cứu….
- Cấu trúc dữ liệu mảng…
Các chỉ số của mảng phải là số
nguyên. Phạm vi của chỉ số được chỉ rõ
trong lệnh khai báo mảng array.
Để tạo mảng cần chỉ rõ:
Số chiều.
Phạm vi chỉ số.
- Sparse,symmetric,identity,anti
symmetric…
sparse: gán các phần tử của mảng
bằng 0.
symmetric: dùng để tạo ma trận đối
xứng.
antisymetric:tính phản xứng.
identity: tạo ma trân đơn vị
- Các lệnh hữu dụng…
map(f,expr);
Tính giá trị hàm với đối số là 1 thành phần biểu
thức.
Expr có thể list,set,phương trình,mảng,bảng….
Hoặc có dạng tổng,tích.
- Sắp xếp các số hạng…
Sort(expr);
Sắp xếp theo thứ tự abc hoặc số mũ.
Sort(expr,varlist,plex);
Sắp xếp bt theo kiểu từ điển.
Sort(expr,varlist,tdeg);
Sắp xếp theo tổng bậc.
Sort(list);
Sort(list,odering);
Sắp xếp list theo trật tự cho bởi odering.
String: sắp xếp theo xâu kí tự.
Numeric:sắp xếp theo trật tự số.
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
ERROR:connection to 10.20.1.98:9315 failed (errno=111, msg=Connection refused)
ERROR:connection to 10.20.1.98:9315 failed (errno=111, msg=Connection refused)
Đang xử lý...