... thuật KRUSKAL Procedure KRUSCAL A:= ∅ For each u in V(G) Make-Set(u); Sắp xếp cạnh E(G) theo số không giảm w; For each (u,v) in E(G) if Find-Set(u) Find-Set(v) then A:= A U (u,v); Union(u,v); Chú ... w(H), tổng trọng số tất cạnh nó: w(H) = Σe∈Hw(e) Bài toán: Tìm bao trùm T có trọng số nhỏ (minimum spanning tree-MST) G THUẬT TOÁN KRUSKAL 37 Ý tưởng Tại bước, thuật toán tìm cạnh có trọng số ... thuật toán DFS 34 35 Giải thuật đồ thị có trọng số Cây bao trùm nhỏ Khái niệm Thuật toán Kruskal Thuật toán Prim Khái niệm 36 Cho G đồ thị vô hướng, liên thông có trọng số, n đỉnh...
... thủ trò chơi gọi MIN MAX MAX đại diện cho đối thủ giành thắng lợi hay cố gắng tối đa hóa ưu Ngược lại MIN đối thủ cố gắng tối thiểu hóa điểm số MAX Ta giả thiết MIN dùng thông tin MAX Nhóm 04 Trang ... phiên MAX MIN Cây trò chơi có tên MIN-MAX Trên trò chơi nút ứng với trạng thái mà từ người chơi MAX chọn nước thuộc lớp MAX, nút ứng với trạng thái mà từ người chơi MIN chọn nước thuộc lớp MIN Chiến ... duyệt xong (cơ chế First In First Out - Vào trước trước) Thủ tục mô tả đây: Procedure BFS(u); Begin Queue:=Empty Kết nạp u vào Queue; Daxet[u]:=True; While QueueEmpty Begin Lấy v từ Queue; Visit(v);...
... đầu máy, với input hữu hạn băng, đầu đọc-ghi nằm ký tự bên trái input Tiếp theo, ta xét hai mô hình máy Turing tất định và máy Turing không tất định 1.2 Máy Turing tất định (deterministic) Có ... N and Saxena, N (2002) PRIMES is in P Tech Report Dept of Computer Science and Engineering Indian Inst of Technology Kanpur Ahuja, R.K., Magnanti, T.L and Orlin, J.B (1993) Network Flows Theory, ... chứng minh một số bài toán thuộc lớp NPC dựa một khái niệm quan trọng là phép dẫn đa thức Bây xin trình bày chương, chương CHƯƠNG 1: KIẾN THỨC CHUẨN BỊ Chúng bắt đầu với khái niệm máy Turing...
... 1.1 Máy Turing .4 1.1.1 Máy Turing 1.1.2 Máy Turing tất định .5 1.1.3 Máy Turing không tất định 1.2 Khái niệm thuật toán .8 1.2.1 Khái niệm ... N and Saxena, N (2002) PRIMES is in P Tech Report Dept of Computer Science and Engineering Indian Inst of Technology Kanpur Ahuja, R.K., Magnanti, T.L and Orlin, J.B (1993) Network Flows Theory, ... mô hình tính toán thể tốt thuật toán 1.1 Máy Turing (Turing machine) 1.1.1 Máy Turing Gồm có: 1) Tập trạng thái hữu hạn 2) Băng vô hạn hai phía (về lý thuyết kéo dài tuỳ ý hai phía) 3) Bảng tín...
... chứng minh số toán thuộc lớp NPC dựa khái niệm quan trọng phép dẫn đa thức Bây xin trình bày chương, chương CHƯƠNG 1: KIẾN THỨC CHUẨN BỊ Chúng bắt đầu với khái niệm máy Turing 1.1 Máy Turing Máy ... đầu máy, với input hữu hạn băng, đầu đọc-ghi nằm ký tự bên trái input Tiếp theo, ta xét hai mô hình máy Turing tất định máy Turing không tất định 1.2 Máy Turing tất định (deterministic) Có thể ... N and Saxena, N (2002) PRIMES is in P Tech Report Dept of Computer Science and Engineering Indian Inst of Technology Kanpur Ahuja, R.K., Magnanti, T.L and Orlin, J.B (1993) Network Flows Theory,...
... N and Saxena, N (2002) PRIMES is in P Tech Report Dept of Computer Science and Engineering Indian Inst of Technology Kanpur Ahuja, R.K., Magnanti, T.L and Orlin, J.B (1993) Network Flows Theory, ... hình t nh to n thể kh tốt c c thuật to n 1.1 Máy Turing (Turing machine) 1.1.1 Máy Turing Gồm có 1) ập trạng th i hữu hạn 2) ăng vô hạn hai ph a (về lý thuyết kéo d i tuỳ ý c hai phía) 3) ng tín ... Applications Prentice–Hall Dietzfelbinger, M (2004) Primality Testing in Polynomial Time LNCS 3000 Springer Garey, M.R and Johnson, D.B (1979) Computers and Intractability A Guide to the Theory...
... procedure Swap (var x, y: integer); var temp: integer; begin temp := x; x := y; y := temp; end; procedure Bubble (var a: array[1 n] of integer); var i, j :integer; begin {1} for i:=1 to n-1 {2} ... procedure Bubble (var a: array[1 n] of integer); var i, j, temp: integer; begin {1} for i:=1 to n-1 {2} for j:=n downto i+1 {3} if a[j-1]>a[j] then begin /* đổi chổ a[i], a[j] */ {4} temp:=a[j-1]; ... ., X[n] tăng dần {T(n) =O(n2)} begin [1] for i:=1 to n-1 begin [2] smallPos:= i [3] smallest := X[smallPos] [4] for j:=i+1 to n [5] if X[j] < smallest then begin [6] smallPos := j [7] smallest...
... pháp chọn procedure selection; var i, j, min, t: integer; begin for i :=1 to N-1 begin :=i; for j :=i+1 to N if a[j] v begin a[j] := a[j-1]; // pull down j:= j-1 end; a[j]:=v; end; end; 10 Những lưư ý giải thuật insertion...
... sau: a sum = 0; for ( int i = 0; i < n; i + +) for ( int j = 0; j < n; j + +) sum + +; b sum = 0; for ( int i = 0; i < n; i + +) for ( int j = 0; j < n*n; j + +) for ( int k = 0; k < j; k + +) ... chung lớn hai số nguyên dương hàm đệ quy UCLN(n, m): int UCLN( int n, int m) // n m nguyên dương n > m { if ( n % m = = 0) return m; else { int k = n % m ; return UCLN(m, k); } } Cỡ liệu vào hàm ... +) sum + + ; Đánh giá thời gian chạy hàm đệ quy sau: int Bart(int n) // n nguyên dương { if ( n = = 1) return 1; else { result = 0; for ( int i = 2; i < = n; i + +) result + = Bart(i – 1); 151...
... a[j] PROCEDURE Quicksort(i,j:integer); VAR Pivot : KeyType; PivotIndex, k : integer; BEGIN PivotIndex := FindPivot(i,j); IF PivotIndex THEN BEGIN Pivot := a[PivotIndex].key; k := Partition(i,j,Pivot); ... trữ thông tin tập tin giải thuật tìm, xen, xoá thông tin tập tin Đối tượng sử dụng Môn học giải thuật dùng để giảng dạy cho sinh viên sau: - Sinh viên năm thứ chuyên ngành Tin học - Sinh viên năm ... VAR i,j,LowIndex: integer; LowKey: KeyType; BEGIN {1} FOR i := TO n-1 DO BEGIN {2} LowIndex := i; {3} LowKey := a[i].key; {4} FOR j := i+1 TO n DO {5} IF a[j].key < LowKey THEN BEGIN {6} LowKey...
... pháp chọn procedure selection; var i, j, min, t: integer; begin for i :=1 to N-1 begin :=i; for j :=i+1 to N if a[j] v begin a[j] := a[j-1]; // pull down j:= j-1 end; a[j]:=v; end; end; 10 Những lưư ý giải thuật insertion...
... - * Phép gán: < := < begin < end if B then S if B then S1 else S2 T : B S, S1, S2 case B1 : S1; B2 : S2; Bn : Sn else Sn+1 end case - While B S l B T : * Vào, ra: begin end return return ...
... getbit(i,j :integer):byte; var p,k,v :integer; begin v:=j div 8; k:=j mod 8; p:=d[i,v] and (1 shl k); getbit:=ord( p>0 ); end; procedure print; var i :integer; procedure find(left,right :integer); ... begin inc(dau); kq[dau]:=a[right]; dec(cuoi); kq[cuoi]:=a[right]; find(left,right-1); end else begin dec(cuoi); kq[cuoi]:=a[left]; inc(dau); kq[dau]:=a[left]; find(left+1,right); end; end; begin ... tìm} dau,cuoi,sol,n,test,sotest :integer; procedure readinp; begin n:=1; while not seekeoln(f) begin read(f,a[n]); if a[n]=’ ’ then if n>1 then break else continue; inc(n); end; readln(f); dec(n);...
... học sinh lớp Sắp thứ tự danh sách học sinh Chọn học sinh đứng đầu danh sách để làm lớp trưởng Khi nhận thông báo này, giáo viên chắn bối rối không hiểu danh sách học sinh cần có thông tin gì? ... bình có hạng Nếu có học sinh có hạng chọn học sinh làm lớp trưởng Trường hợp có nhiều học sinh đồng hạng chọn học sinh có điểm môn Toán cao làm lớp trưởng Nếu nhiều học sinh đồng hạng có điểm môn ... danh sách tất học sinh lớp theo hai thông tin: Họ Tên; Ðiểm trung bình cuối năm 2 Sắp hạng học sinh theo điểm trung bình theo thứ tự giảm dần (từ điểm cao đến điểm thấp) Hai học sinh có điểm trung...