Hướng dẫn thực hành môn: Nhập môn lập trình Lớp 07DB_A/B Người soạn: Nguyễn Hải Minh dựa vào những tham số này để thực hiện theo một hướng nhất định nào đó.. Tham số dòng lệnh được ứng
Trang 1Hướng dẫn thực hành môn: Nhập môn lập trình Lớp 07DB_A/B
Người soạn: Nguyễn Hải Minh
dựa vào những tham số này để thực hiện theo một hướng nhất định nào đó
Tham số dòng lệnh được ứng dụng cho các chương trình viết dạng Console (chạy trên DOS) Từ dấu nhắc DOS, ta có thể gọi một chương trình chạy theo cách
mà ta mong muốn
# Ví dụ: lệnh CD trong DOS cho ta di chuyển tới một thư mục
CD WINDOWS sẽ chuyển tới thư mục C:\WINDOWS
Trong đó, WINDOWS chính là tham số mà ta truyền vào cho câu lệnh CD
Trang 2Hướng dẫn thực hành môn: Nhập môn lập trình Lớp 07DB_A/B
CD chuyển tới thư mục cha của thư mục hiện hành
Trong đó, chính là tham số truyền vào cho lệnh CD
Tất nhiên, một chương trình có thể có hoặc không nhận vào tham số dòng lệnh
để thực thi các chức năng của chương trình đó Tuy nhiên, việc cài đặt tham số dòng lệnh sẽ phát huy được tính linh động và tiện dụng của chương trình
Cách 2: cài đặt với tham số dòng lệnh
Khi chạy chương trình, người dùng phải nhập vào 2 số
a, b chương trình mới thực hiện
Nhập tự động a,b thông qua tham số dòng lệnh như sau: TinhTong 10 12
Trang 3Hướng dẫn thực hành môn: Nhập môn lập trình Lớp 07DB_A/B
• argc : số lượng tham số nhận vào được từ dòng lệnh
• argv : mảng các con trỏ kiểu char lưu các tham số dưới dạng chuỗi ký tự
3.2 Lấy tham số nhập từ dòng lệnh
Mặc định các tham số sẽ được lưu lại trong mảng argv theo thứ tự từ trái sang phải
Ví dụ với cài đặt trong phần 2, ta có:
• argc = 3 //số tham số dòng lệnh nhận vào
• argv[0] = “TinhTong2” //tham số thứ 1: tên chương trình
• argv[1] = “10” //tham số thứ 2
• argv[2] = “12” //tham số thứ 3
ª Lưu ý: Vì mảng argv là mảng con trỏ kiểu char nên để tính toán trên các
tham số này, cần dùng hàm atoi để chuyển chuỗi sang số nguyên (xem ví dụ minh họa ở trên)
3.3 Chạy tham số dòng lệnh trong VC++ 6.0
Để nhập tham số dòng lệnh khi chạy chương trình trong VC++ 6.0, mở Project
Æ Settings… vào tab Debug , ghi các tham số vào khung Program arguments
Trang 4Hướng dẫn thực hành môn: Nhập môn lập trình Lớp 07DB_A/B
ª Lưu ý : Không ghi tên chương trình vào Program arguments (mặc định
argv[0] là tên chương trình), các tham số nhập vào khung Program arguments sẽ được lưu vào bắt đầu từ argv[1], argv[2], …
Sau khi nhập tham số vào, click OK
Biên dịch chương trình (F7) và chạy bình thường (Ctrl+F5 hoặc F5)
3.4 Chạy tham số dòng lệnh từ DOS Commander
1) Vào Start Æ Run , gõ vào cmd Æ OK
Trang 5Hướng dẫn thực hành môn: Nhập môn lập trình Lớp 07DB_A/B
2) Chuyển tới thư mục chứa file TinhTong2.exe (dùng lệnh CD Duong_dan) 3) Gõ vào TinhTong2 55 100
Hoặc gõ đường dẫn trực tiếp đến file TinhTong2.exe như sau:
Trang 63.3 Chạy tham số dòng lệnh trong Visual Studio 2008
Vào Project\<Ten Project> Properties\Configuration Properties\Debugging\Command Argument Đánh các tham số vào text box bên cạnh Command Argument (các tham số này không gồm tên chương trình) Sau đó nhấn OK
Như vậy là chương trình có thể chạy và debug với tham số dòng lệnh trong VS 2008
Trang 7Thuật toán Balan ngược (Reverse Polish Notation)
-oOo -
Input (đầu vào):
- Chuỗi P1 là chuỗi biểu thức ở dạng In-fix VD P1 = “(3+4*5)/(6-8/2)”
Output (kết quả):
- Chuỗi P2 là chuỗi biểu thức ở dạng Post-fix VD P2 = “345*+682/-/”
Thuật toán :
Khởi tạo stack S rỗng
Push(S, ‘$’) // $ là một «toán tử giả» có độ ưu tiên thấp nhất $ < + - < * /
// qui ước: độ ưu tiên ( < $ P2 = ‘’ // chuỗi ban đầu rỗng
Lặp cho mỗi phần tử P1[i]:
1 nếu P1[i] là một toán hạng thì ghi P1[i] vào bên phải P2
2 nếu P1[i] == ‘(‘ thì đưa P1[i] vào stack S: Push(S, P1[i])
3 nếu P1[i] là một toán tử (+ - * /) thì:
Lặp
a Pop(S, x) // x = giá trị ở đỉnh stack
b Nếu độ ưu tiên của x >= độ ưu tiên của P1[i] thì ghi x vào bên phải P2 Ngược lại {
Push(S, x) Push(S, P1[i]) break;
} Hết lặp
4 nếu P1[i] == ‘)’ thì:
Lặp
a Pop(S, x) // x = giá trị ở đỉnh stack
b Nếu x là một toán tử (+ - * /) thì ghi x vào bên phải P2
Trang 8Thuật toán Tính giá trị biểu thức Post-fix
-oOo -
Input (đầu vào):
- Chuỗi P là chuỗi biểu thức ở dạng Post-fix VD P = “345*+682/-/”
- Mỗi số hạng chỉ có 1 chữ số 0 9
Output (kết quả):
- Giá trị của biểu thức P
Thuật toán :
Khai báo một stack S // S: INT_STACK hay FLOAT_STACK tuỳ theo toán tử / là
// chia nguyên hay chia số thực Khởi tạo stack S rỗng
Lặp cho mỗi phần tử P[i]:
1 Nếu P[i] là một toán hạng thì:
Biến đổi P[i] thành số nguyên: value = P[i] – 48;
Push(S, value);
2 Nếu P[i] là một toán tử thì:
Pop(S, b); // b: toán hạng thứ 2 trong biểu thức, VD a + b Pop(S, a); // a: toán hạng thứ 1 trong biểu thức
Kq = a <P[i]> b; // tính biểu thức con, trong đó P[i] là toán tử + - * / Push(S, Kq);
Hết lặp P[i]
Giá trị biểu thức là phần tử cuối cùng còn nằm trong stack
Trang 9PREPRINT In Proc Workshop on Algorithms and Data Structures, pages 60-71 Springer Verlag, 1993.
),($
$/0
'0,*)-
}i/
02&
(Q-
)& $/ÌƯ ¸\ $/((Q-%ÊỈXƠĨ }-'0Í*,(&+0 (Q*£$/(D* ¸ M $'(D(D-³ÊỊ@ỞÌ ±6Î Ư6ƯgĨÐÏ+̸\ $/((D-³ÊÑ@Ơ± K( 2I1¸
+ & (Q* $/((Q-³ÊÔMÔiƠ±9+ ©¸ + & (D* $'(D(D-uÊwÔXÒQƠ±, &+*Ï ¸&)( ¥M9 0 $ $/((Q-³ÊÓXƠ ¡9Ô 0]K( ¦ (D$ ±
&)02&)(K0M© / ( S - ( 02 ( ' (6- +"' $/(K0M© . 0 ¥ ( 02& % $'0 ¨ ¨($.- / ( $'(
¥ ($.-'0M ¨( ¥( ¨(& D¡G¶ 0 " (Õ &)$'0 ±_ÖM+ * - ±n &+* Î (Q* (D ¥ ÊÔD×XƠ ±
' ( '0M& z-10 0,*,(u©°0M$ + & (Q*-'( .¹ $'(D( ¬' 02& /@&+-& ¨($/0 D
-'(D- ¦ 0M¦9& - & ( &+*»*,0 ) (g$/0 /@'0M&+- ' (¥("©% &+* ' ($ 2I/)¡
&)(D ±Q &+*µ ) (K- +D (D-/-1© ± $'( i/02& / ( $/09* +i/02&0@©+-'0M ¨( ¬&)0M& ¸\ $/(( - $ Si¸
' $'(Q- ¡M¶6 (6Ø+$/- 0M&+( ±,Ù°Ú)Û%Ü'Ý]ÞßăOÞ}ÜiÙбM& $/0,* + (D* Ö+M ÊÔÑ]Ơ - ¥( &+*(D( 2 &
$ &+*,02 â (D*¹* @/ - $ Si' $'( ¡ #đK02$/- 1¸< -1(%( ¯¹"(& 6¦X $ } & Q±SÙ°Ú)Ûê2Û"Ù<ÛôiơVÞÍưSÞ}Ü.Ù\ÞỉìgÜ'Ý@ÞßăOÞ}ÜiÙ\± -6$'( (D& $/0,* + (D* Õ &)$/0 ±)ÖM+ * - ±, &+* Î (D* ( } ÊwÔQ×XƠ¡
¶6
0M$
Trang 10 (D$³0M©
&+*ôßyàOÞÍÙ\¡
¶6 (´$/( $/(D-'(& /@'0M&Ç0@© S & ( &)©°0M$/ @'0M& -¹0M&+( )» ($»&)0,*,( $'( ] (Q-
- ¥ & Ø & g 0 0M© 090M ¸2(( )& +¡Fö &)(¨- 02$ g& ( ($Éè÷,Éè0 ¥0 ø Ì ) -.Ì ( M. &)0,*,(g M(Q- ' ( 0M$w/ -6- (D$ ¡
09*)( ©°0M$6-' ¥ ±I 0 ' $'0 +@) '} &S*¹*,( ($/ '}@±, $/( ¡2&0 $0 +& 0M& ±2
- ¥-'0- ¥($ &+* ( $/($ ¡yÔ (& ±y' ( +& $'-'( . $/(( 0M ¦ ($/»(¥
' -' ¥ ($/ -60@©- }"
Î i'0M&»ÒK( $/(D-'(& (&)(DÀ M& (D& 02$' ¨-©°02$ )& $/Æ ¸\$/((Q- ±
&+* Î i'0M&úV(* -/- ' ( $ ¥( ¨(& .]'0M& ¡SÎ ( "'0M&¹Ñ 0M& /M&+- 0M + $
¶6 ( )& $/ Æ ¸Ð $'(D( ± Æ6Æ ¸Ð $'(D( ± $/09* + (Q* ÊÆ M(D$ ñQÅ ²)& $/
$/( $/(D-'(& .]'0M&»0@©Ò ¸ $'(D(D-%ÃÒQÅ¡S½ - & / ( (D$' &)0M¥0 &´ÃÑ@Å ± (- '+@³ &)0,*,(
Ò ú $/(( -B$/( $/(D-'(& (Q* %ßyÜ"Û+ãMé@ð<æyéQãMÛ 0M& .@& & 02&)(60M$ 0 )& $/&)0,*,(D- ¡
® * (Q- &+- *)( -1( *,0 ¸&)0,*,(Q- $/( Ú+é]äiÞQé]æSÙ î@àz &+*²(D* (D- ((D& -'( *,0 ¸&)0,*,(D- $'(
Û"äiÙ\Þèç.î]àO¡%ö &)¥Ç$¥MI'¸ (Q* (Q- $/( ¥¥0]K(Q* 0M$á 0M& / ¡&â0M$.*,($ 0Ê M& /M&
+ & (³* V) * ] (D- ± ( +X¦ ( 0¨- 0M$/( + & ( &,©°02$' @'0M& ' (³&)0,*,(Q- ¡)ö &)(
(Q*
¥á02&
$'(D(D- ± &+**)( (D$' /¥ -1 ¥ ±Q $/( @& .@&)(D* K0 S - ¥ 0 (D$ @'0M&+-Dò>0
&+*- 1'& 0M©Æ ¸\ $/((g&)0,*,(Q- ¡)& )& $' $/(($/( $/(D-'(& /@'0M& ±9/)- (D$1©°02$' ¨(D*
¨$'0 /@'0M&+- &+* .+ & (%0M© + & ( &,©°02$' ]/02& ¡9¶6 (³$/( -102& ' ( 02$'
- 0M ¨( 0M ¥D] (D* '+@Ê -'( *,0 ¸ &)0,*,(· . M(· &9¿* ª (D$'(D& -+@ (D- ±
D@ - & &I - ( ¥ -1(Q- ¡û 0M$(¤ ( ± *+* &)( 0M$ ¥á 0M& . 6(D*
-'( *,0 ¸&)0,*,(0@©K- +@ ( 02$ $/(D- g&´Ø ¦ (* wª ($/(& - S@ (D- ± ¨(¥
Trang 110@©* ª (D$'(D& % -'(D- ±9& 0M¦I& 0M ¥D] (D*$'(Q- +"' $ & 0 (D$ @'0M&+- ¡
û 02$/ & @ (¥ ±f/ ($/( - ¥($ ¥(¨0@© '9 '+@l & @) (D* 0$/(D* + (
' (& ($ 0M© -1(Q-ò
îQÝMÛlÜ,ä'ÛlÙÍÚ+î]Ù6é]æ+àwê¹äiÞQÚ,ÙÐð1Û.ã2Û"Ülî]ä'ÛgÚ)é@äiÞDé@æ+Ù<î]àí/Û"é]ä/ÛlêMé ´ç/Ú+Û.ç/ÝÙ°Ú)ÛÜ.ÞQÛéÙ°Ú)Û6ßSÜÛ+ãMé]ð<æféDã2Û!
½ - & ')-6$ ( ±2/ (uØ ¦ 02-/- ¥ ¥(g- +M (Q- ' ( @ 0 (³ ¥n$/(D* + ( K0 ± ¨(¥
&+* ± 0M&+ ' ( 0M&)(g z$/(Dµ )$/(u- w''& +¡
&»0M$.*,($ @+ 0 $6$ (g0@© '9 & - ¥(g &)&)(D$ ± (g*)("Ø+&)( 0 S - ¥
$/(D- +i/ $ & 0 ($ ]/02&+-gÉ#" )& $/¹&)0,*,(QÌ"ò
ô ÝMÛõ É#"fÌiò ® ] ( 0M$á 0M& / @¥("©1¸(D* (D- (D0]$" ¡D¶6)- - (D$1©°02$' ¨(Q* %©°0M¥0]
/ ($ 2IF+]/ ©°$/0M %" ± % $ ¥MI $/0 .]'0M&g (D&)( ¦ ($ 0M$ ¥á 0M& . ]¥("©1¸(D*
-6©°0 &+* ¡
ô ßyàOÞÍÙ É#"fÌiò / ( -'( *)0 ¸ &)0,*,($'090 (D* @ " 090 ± w%% $'( V/ (
¥( ¦ (60@©%( ¦ (D$' -1( 02&+* &)0,*,( ¡¶6)- (D$1©°02$' ¨(D* ©°02¥0] / ($ ¥MIV+@'
©°$/0M &" ± (© $'0 /]/02&+- ¡
¶6 (Q-1(60 ($]/02&+- ( ¥( ¨(& -- 02$ &S*l(D( 2 & B $/0 (D* $'(Q- ¡]¶6 (D
}-'0 ¥0] ¨ 02& ,'S ¥- (*,(Q- ¥,/02&0M© / ( @& (& 0M$w/ -ò
Trang 1211 13 Skew
12
11 13 Split
4
2
1 3
10 8 6
5 7 9
12
11 13 Skew
4
2
1 3
10 6
Trang 132
1 3
10 6
4
2
3
10 6
10 6
Trang 14Æ(¥0] ± K( M¥¦ ( ' ( 0M ¥( 0,*,(K©°0M$*,( ]'0M&S- &+*l M& (D& (0@© Æ6Æ ¸Ð $'(D( ¡
&+* ôßfàOÞÍÙ
09*)(D*
(D&)( ¦ ($B&)(D(D*,(Q* ¡M¶6 ( 0,*,( 2¦ (& ($/( ³'+$.* 0I-'- +w l ($/(%ô ÝMÛõ &+*ô ßfàOÞÍÙ
$'( 0,*,(Q* $'0 (Q* $/(D-³0 ($ ]/& 0M& - & ¥( )& $/&)0,*,( ¡z¶6)- -g(&)0 )M ©°0M$
/ ($'(Q- Si' $ & $'(Qµ )$/(D* * $ & &S-1(D$ /02& ±z), * $ & *)(¥( '0M& (&)((Q* ' $/((
D ¥¥-0@©ô Ý2Û"õ· &+* K0 }-0@©ô ßyàOÞÍÙ\¡)¶6 (u©M"K/+]6' (D-'( D ¥¥- $/(g- ,¯¹(D& 6-6&)0
+ $/* 0- 0] ± (u¥( X¦ ( / (*,( /@}- &(¤9(D$ -'( ¡
0M$.*,($ + &+*)(*,(D( '0M& 0@© (D$'& &)0,*,(Q-g w/ 0 ,l ¥0 0M© 0,*,( ± ( -1(
0 0 + 0 & ($.- ã2Û"àÛÙ<Û/ãu &+* àî]ÜiÙС,¶6 (Q-1( ($.- $'(u-1( * $ & / ( ,¸
X¦ ($.- / (©°02¥0] - ¥( &+&)($QòD# ( M. &+09*)(( M( & $/ 0M + $
-102& ±M© / (%2( (³*)(¥( (Q* -¥(D-/- /+ & ' (³&)0,*,(p<- ¦] (%K( ' $/&¹¥("©D± 0 ' (D$' -1(
( / $/&·$ ¥MI ÉС( ( (D& / (¹-1( . (D*(¥( ¨(& - $'(Q-1(D& g& / (¨&)0,*,(¨K( / $'&
$ 2IÌ ¡n¢ (¥( ¹àî]Ü.Ù 0 & g0( M.·& (D$'& &)0,*,(¨0M& ' ( +]/z±F &S*²(¨( ãMÛàÛÙ Û.ã
¦ /
((¥( ¨(&
©°$'02 àîXÜiÙ
Trang 15ĐÐDÑƠ`ÌYỊpßDĐWÊÕ±Đ`½ỈâĨ=Ì
Ý[Đ`Đ^ÝpỈ¢ÌĐÐDÑÒH½Ôp½Ò;Ê¯Õ ê[Ì
ĐWïWñ
Û êpÊ;»D½Þ Ơn÷^ߢỉDݾ9ÍâĐ`ß ½lĐ`Ơ`½½SÞÍ1ỉcăÛWơ`½ĐzĨ1Ý[ÌHÍDĐ^½Ơ`ơzÒaÞ ơ`Đ9ÞÍ1ỉ$ỉD½ÒH½Đ`½ỉ£ÑjăÒaÞ ơ`ĐWʯÕ:ĐÌ
ÎbÏư¢ïĐÐDѼ[½í2Ö×@¸DØ
ÎbÏÌHĐ9ÌYơOĨ Ơ`½ơ`½ÍDĐnƯÑzăÎbÏ
ÝpĐ^Đ`ÝpỈ²ÌĐoʯÕ:ĐÐDÑƠ`ÌYỊpßDĐÌỉDÌYơ`Ĩ7Ýpơ^½ ¿ÒbÞơ^ĐnƯÌÝp¼²ÊÕ±Đ`Ơ^ì ½pÌ
ÒY½Ôp½ÒþêƯÝpƠz¿ĐÐDÑƠ`ÌYỊpßDĐÐDÑ ÒY½Ô[½ÒþêƯ@Ö×@¸DØ
¸DÚ
ÒY½Ôp½Ò;Ê ÒY½Ôp½Ò7þê[ÌÎ6Ï
ĐÐDÑƠ^ÌYỊpßDĐÐDÑÒY½Ô[½Ò§ñòĐÐDÑĐÐDÑƠ^ÌYỊpßDĐÐDÑÒY½Ô[½Ò@ÊÕ±ĐÐDÑÒY½Ô[½ÒÌ
»C¼p½¾&¿Đ\ƯÌ
Ơ`ÌYỊpßDĐ\ƯÌƠ`ÌYỊpßDĐ\ƯÌ
»CĨ ÒỲHĐz¿Đ\ƯÌ
¸DØÿ¹OÌ
¸DØ;¹wÌ
Trang 160 $ 0M$ w/Đ ÁÂ- $/( Mă"'Ã+ Ảơu- Ả(D$ /Đ+ 0M$ w/Đ ÁÂ- â ơ0I02 'Đ (0M$ ơM&
+M (D$ Ềặ M(D$ ẳũ]ắ0M$ 'Đ ( ("ô ' 090M đê$'Đ ẳẢẵQũXắ ơ- Đ 0] /Đ+]/Đ)- /Đ (
ăD -'( â
ỹG$.- DẸy $/09* Ã+ă"& - Á ơ(l$ Ã Ả(V0@Ẫ /ĐIÃ Á zẸ Ô( XẶ 0 * Ả 'Đ ( Ặ] $ 0 - ăD
-'(D-/Đ+] 0 ăDă"Ã $ &Ề- . &+* $/* 0M$ w/Đ ÁÂ- âfẽ ( 0M&+* ẸSẪÊÔ( Ã -1(9Ã 0M&)( )wu&Ễ( Mă.Đ &+09*)( Ẹ
0 -1(D$ Ặ]@'0M&+- ẸI'Đ ( ăD]'0M& ă 02ÁẨ(D- ă 0M&+-*)($ @ ơ( â
đ ( (D Ặ 'ĐS] 0 $ Ặ (D$/- 0M&·0@Ẫ ặ6ặ Ì\ $/((Q- Ặ (D$'Ễ- Ã)Ả/M Ả(ỈẪ°0M$ ă -'-'$'0902Á &+*
("ô ' 090M $/(D-'(& /@'0M&+- âKẽ9& ( Ả ì+ơơ-ơ(D-/- 'ĐS &¾02&)( +M ( Ô( ă & $/0 Ặ9*,( /Đ (
- 'Ã *)(& $'( *,(D$G Ả'ĐẨ/Đ /$/( ă 0,*,( â9ữỂ,'Á ẢõD& ă 0M&+- *,($ ]/02&+- Ẹ Ã+ă.ĐÂ -*,( ă $/( Ì
Í'Đ (Ẩ& Ã (D$0@Ẫ )w - Ã -'(D*ỄẪ°0M$ + & ( &,Ẫ°0M$/Á ]'0M& Ẹf $'(Ẩ& }ă (Ẩ(ô9(D$ă-'(D-ỂẪ°02$ /Đ (
ơ-'0 ("ô $/( $' Ặ ($.- 02&0MẪ /Đ (ấẫộẾ Ã)Ả ( ă 02Á }ă@ (D* &+* Ả02& èÂ*)(ơ( '0M&
0M$ w/Đ Á ẳẢẵDỷ@ắ âGả6Đ ( ă 09*)( 2ẢẶ (& &#" Ẹ_)Ã)ẨăD &ỳ( ơ &+-1] (D* ệ
-ăD â_ã 0 & -'0 Ẹ Ô(Âì+&S* 'Đ+@l/Đ ( / ă 09*)(ÂẪ°0M$*,( ($/Á /ơă -1 ơ @ 0 Ã,ẹIỨ%$ ơ0M& ($ /Đ+ &ầ0 à ă 0,*,(Ẫ°02$ặ6ặ ÌÐ $'(D(D- âÊả6Đ (ơ(& M'Đ ă 02Á + $/(D* à /Đ ((Q-.@ Đ (Q*ÁẨ( /Đ 0,*Í0@Ẫ ă à /& ơ("ô }ă 0 $ @)Đ)}ă & w -ẫ 0M2(&+-.è ẳÉ Dắâ
*)* Ả'0M& Ẹ@ă 0,*,(ÔẪ°0M$ặ6ặ ÌÐ $'(D(D- @) ( $/- Ả(D$ &+* ă ơ( &)($ âX &V0 Ã $B0 )&
0M& ẸB/Đ (0 ăă"Ã $'$/(& ă (0MẪ ă 0MÁ ơăD] (Q* (D$Â("ô $/(D-/-0M&+- Ẹ M('&( !ẻọ ( !ơồ ( !ơồ( !ơồ ( !OÝ2í"ởÁ 2(D- 'Đ ( ă 0,*,(%Ẫ°0M$6*,( ($/Á /ơă -' ơ Đ+ $/*)($ Ã &S*,($.- . &+* âIả6Đ ( $/0 ă (D* Ã $'(
-.]
(DÁẨ(&
Dâ
Trang 17¬1 &,©@$ - & (gK( 02 + $/(³$/( $.- ¥¦ ( 0,*,(g ' &)0M& ¸ $/( " $/- ¦ ( ¡9¶ 0-+. &»0 >( i¸
¶6 (02&)¥ 0I-'- (*,$ +M ¨0M©_$/( " $/- 02& '+@6' (g("¤,( ",/02& / ¨( ¸
0M ¨(%-'¥MI¥02& (D$ ¡MÔ 0]K( ¦ (D$ ±]/ (³- ) >( i $'( ] (D* (D$'( M¥¦ (³- ( &+*
(* ¯¹" ¨ 0²Ø+&+*Ê- )/M ( ¦] (D-V©°0M$ åî & &+* å¨î &5264 ¡G&S*,((Q* ±G')
-¬ &)0M$ V $'0 ¥( D@ -'( V $'( ] *,( n0@© 02&,© 02& &+* $/$ /@'0M& ¡
0 ( /+]³ºgÎ Â &)( (D-/- $'(Qµ +$/( ' (Q-1($/(D-'($¦ (Q*2(,- «9/ (»
($'(D 0 ¦ (D* ( 02- 0@©G 02$'( 09*)( ¡
798ç+%-=-/607(ë-/ø+!¶6 ( ) $ 0I-1(V0@© '+- +@ ($ -%&)0 % 0 ¥á ( ' (("¤,( ,'0M&
' ¨( ¡+Ô 0]K( ¦ (D$ ± ©°0M$ / (- M(g0M© 02 ( (D&)(D-/-6K( +X¦ (g$ &-'0M ¨(g("¤ (D$ ¨(& ¡
# ¹/ (´ ¨0M ¨(D& 0@© (Q-/& +± &+0 0,*,(©°02$*,(D( '0M& ºgÎ Â )) (Q* ±
' ($/("©°0M$/(gK(g02&) 0M + $'(Q* / (("¤,( ",/02& / ¨(g©°0M$ &+-'($ '0M&+- &+*»-1( . (D- ¡
'
*
--'-'(D*
(D$'(¹0M©
:01+,;C,.,<1 ÃwÄ ¡¡Ò@×@Å 0=Vç.Ú)î@ä% &S* 02&+- (Q*0@©$ &S*,0M ¨¥ . 0I-1(D& M) 0MG¥( 1
($.-©°$/0M ' ( ® & » )+@ ( Q¡,¶6 (* ¥"'0M& (D-K (D$'(u0@©_-¥á (ÄD×M×§ÄQ×M×2×0M& ' ( Ö "
&S*¿ÄD×2×»§ ÄQ×´×2×M×02& ' ( Î9 & É $' 0 &+-'($ Ò@×2×M×- *,( (D$' ¸
'} -1 ¥ D±y' ( Ö "â$ &0 , 0M© *)*)$'(Q-'-u- SM (XÌ ¡y&0M$.*,(D$ 0 ¨( $/( / ( 02- 0@©
&+-1(D$ /& , -'( .+& ©°0M$ ø (¥( ¨(& ±,/ (g©°0M¥0] ("¤ ($ ¨(D& -6 *)(Mò
Trang 18ặ6ặ ÌÐ $'(D( ãgẽ ằ ặ6ặ Ì\ $/(( ãgẽ ằêẫ>ẵXè ãuẽ ằÒẫÐề2è
ảFÃ
$ 0ệ
- $ & ẵQỨMỨ ẵQề@ỷ2Ứ ẵDậMậ2ậ ể2ũ@ỷ ẵQũMỷMể ẵMẵQậMỨ
ềMỨMỨ ẵẹ2ỷ+ẵ ề,ẵQũ@ẹ ẵQỨMỷ2ể ẵ @ậ@ẹ ẵDỷ+ẵẹũMỨMỨ ẵ 9ẵQể ềMũMềMỨ ẵ2ẵ ... Hãy viết giải thuật để chèn K vào mảng a cho giá trị tăng dần
b Hãy tính độ phức tạp f(N) cho giải thuật
c Hãy xác định giới hạn (big-O) độ phức tạp giải thuật. ..
a Hãy viết giải thuật tìm để tìm phần tử K mảng a
b Hãy tính độ phức tạp f(N) cho giải thuật
c Hãy xác định giới hạn (big-O) độ phức tạp giải thuật Chứng minh... class="text_page_counter">Trang 21
CẤU TRÚC DỮ LIỆU & GIẢI THUẬT
BÀI TẬP ÔN R-1 (Sinh viên chuẩn bị trước nhà Bài tập sửa lớp