Chatbox

Các bạn vui lòng dùng từ ngữ lịch sự và có văn hóa,sử dụng Tiếng Việt có dấu chuẩn. Chúc các bạn vui vẻ!
26/12/2009 22:12 # 1
Hương-Hà Nội
Cấp độ: 30 - Kỹ năng: 20

Kinh nghiệm: 231/300 (77%)
Kĩ năng: 149/200 (74%)
Ngày gia nhập: 27/11/2009
Bài gởi: 4581
Được cảm ơn: 2049
Tất cả tài liệu về Toán Rời Rạc Post ở đây


Giáo trình Toán rời rạc rất chi tiết của Đại học Huế
Nội dung của tài liệu này được bố trí trong 4 phần, không kể lời nói đầu, mục lục, tài liệu tham khảo và phần phụ lục:
-- Phần 1 được dành cho Chương I đề cập đến Thuật toán;
-- Phần 2 được dành cho Chương II nói đến bài toán đếm;
-- Phần 3, đây là phần chiếm nhiều trang nhất trong giáo trình, bàn về Lý thuyết đồ thị và các ứng dụng gồm 5 chương: Đồ thị, Đồ thị Euler và đồ thị Hamilton, Một số bài toán tối ưu trên đồ thị, Cây, Đồ thị phẳng và tô màu đồ thị;
-- Phần 4 được dành cho Chương 8, chương cuối cùng, đề cập đến Đại số Boole.
Trong mỗi chương, các chứng minh của các định lý, mệnh đề được trình bày chi tiết, ngoại trừ một số định lý có phần chứng minh quá phức tạp thì được chúng tôi bỏ qua. Trong các phần của mỗi chương có nhiều ví dụ cụ thể minh hoạ cho những khái niệm cũng như những kết quả của chúng. Cuối của mỗi chương là những bài tập được chọn lọc từ dễ đến khó, bám theo nội dung của chương đó.
Chúng tôi xin chân thành cám ơn các đồng nghiệp đã động viên và góp ý cho công việc viết giáo trình Toán rời rạc này và lời cám ơn đặc biệt xin dành cho Khoa Công nghệ Thông tin về sự giúp đỡ quý báu và tạo điều kiện thuận lợi cho việc xuất bản giáo trình này.
Tác giả mong nhận được sự chỉ giáo của các đồng nghiệp và độc giả về những thiếu sót khó tránh khỏi của cuốn sách.
Mùa Thu năm 2003
Code:
MỤC LỤC

Lời nói đầu 1
Mục lục 2
Chương I: Thuật toán 4
1.1. Khái niệm thuật toán 4
1.2. Thuật toán tìm kiếm 5
1.3. Độ phức tạp của thuật toán 7
1.4. Số nguyên và thuật toán 12
1.5. Thuật toán đệ quy 17
Bài tập Chương I 19
Chương II: Bài toán đếm 22
2.1. Cơ sở của phép đếm 22
2.2. Nguyên lý Dirichlet 25
2.3. Chỉnh hợp và tổ hợp suy rộng 28
2.4. Sinh các hoán vị và tổ hợp 30
2.5. Hệ thức truy hồi 32
2.6. Quan hệ chia để trị 34
Bài tập Chương II 35
Chương III: Đồ thị 37
3.1. Định nghĩa và thí dụ 37
3.2. Bậc của đỉnh 39
3.3. Những đơn đồ thị đặc biệt 41
3.4. Biểu diễn đồ thị bằng ma trận và sự đẳng cấu đồ thị 44
3.5. Các đồ thị mới từ đồ thị cũ 46
3.6. Tính liên thông 47
Bài tập Chương III 51
Chương IV: Đồ thị Euler và Đồ thị Hamilton 54
4.1. Đường đi Euler và đồ thị Euler 54
4.2. Đường đi Hamilton và đồ thị Hamilton 58
Bài tập Chương IV 64
Chương V: Một số bài toán tối ưu trên đồ thị 67
5.1. Đồ thị có trọng số và bài toán đường đi ngắn nhất 67
5.2. Bài toán luồng cực đại 72
5.3. Bài toán du lịch 79
Bài tập Chương V 84

Chương VI: Cây 87
6.1. Định nghĩa và các tính chất cơ bản 87
6.2. Cây khung và bài toán tìm cây khung nhỏ nhất 88
6.3. Cây có gốc 93
6.4. Duyệt cây nhị phân 94
Bài tập Chương VI 101
Chương VII: Đồ thị phẳng và tô màu đồ thị 104
7.1. Đồ thị phẳng 104
7.2. Đồ thị không phẳng 106
7.3. Tô màu đồ thị 107
Bài tập Chương VII 112
Chương VIII: Đại số Boole 114
8.1. Khái niệm đại số Boole 114
8.2. Hàm Boole 117
8.3. Mạch lôgic 120
8.4. Cực tiểu hoá các mạch lôgic 125
Bài tập Chương VIII 132
Tài liệu tham khảo 134
Phần phụ lục 135
Phụ lục 1 135
Phụ lục 2 158
http://www.danangnet.org/dng.vn/imag...1kwtmt68sh.rar
 


Nguyễn Thu Hương
Smod Nhịp sống sinh viên
YH: nguyenthithuhuong_21071991                    Mail: thuhuong217@gmail.com

       

 
26/12/2009 22:12 # 2
Hương-Hà Nội
Cấp độ: 30 - Kỹ năng: 20

Kinh nghiệm: 231/300 (77%)
Kĩ năng: 149/200 (74%)
Ngày gia nhập: 27/11/2009
Bài gởi: 4581
Được cảm ơn: 2049
Phản hồi: Tất cả tài liệu về Toán Rời Rạc Post ở đây


 
Bài tập nâng cao (Phải học)
File bên dưới gồm rất nhiều bài:
1. liet ke day nhi phan khong co 2 so 0 lien tiep
2. fibonaci
3. liệt kê chỉnh hợp
4. liệt kê dãy nhị phân
5. tính đường đi của các con Hậu trong bàn cờ
6. logic + dermogan
......................
http://lazycatnct.googlepages.com/toantinhnangcao.rar
 


Nguyễn Thu Hương
Smod Nhịp sống sinh viên
YH: nguyenthithuhuong_21071991                    Mail: thuhuong217@gmail.com

       

 
26/12/2009 22:12 # 3
Hương-Hà Nội
Cấp độ: 30 - Kỹ năng: 20

Kinh nghiệm: 231/300 (77%)
Kĩ năng: 149/200 (74%)
Ngày gia nhập: 27/11/2009
Bài gởi: 4581
Được cảm ơn: 2049
Phản hồi: Tất cả tài liệu về Toán Rời Rạc Post ở đây


 
  1. Bài 1 : Tính chỉnh hợp
    Code:
    #include<iostream.h>
    #include<conio.h>
     int GiaiThua(int n)
         {
              int Gt=1;
              for (int i=1;i<=n;i++)
                    {  Gt*=i;  }
              return Gt;
         }
     int ChinhHop(int k ,int n)
        {
               int Ch;
              return Ch=((GiaiThua(n))/(GiaiThua(n-k)));
         }
     void main()
         {    int n;
               int k;
               cout<<"nhap k=";
               cin>>k;
               cout<<"nhap n=";
               cin>>n;
               cout<<"Chinh hop chap"<<" " << k<<" " << "cua"<<" " << n <<" la:"<< ChinhHop(k,n)<< " " ;
           }
  2. Bài 2 : Liệt kê dãy nhị phân

    Code:
    #include<stdio.h>
    #include<iostream.h>
    #include<conio.h>
    #define MAX 100
    typedef int vector[MAX];
    vector b;
    int n,count;
    void init(int &count, int &n)
        {
             cout<<"Nhap so cua chuoi bit:"; cin>>n;
             count=0;
        }
    void result(vector b)
       {
           int i;
           count+=1; cout<<count<<": ";
           for(i=1;i<=n;i++)
                 cout<<b[i]<<" ";
            cout<<"\n";
        }
    
    
      void Try(int i, vector b)
         {
              int j;
              for(j=0;j<=1;j++)
                  {
                       b[i]=j;
                        if(i==n) result(b);
                            else Try(i+1, b);
                   }
          }
    void main()
         {
              char ans;
              do
                   {	init(count, n);
    		Try(1, b);
    		cout << " Ban co muon tiep tuc ko (c/k)?";
    		cin >> ans ;
    	     }while ( ans=='c' || ans=='C' );
           }
  3. Bài 3 : Liệt kê hoán vị
    Code:
    #include<iostream.h>
    #define MAX 20
    typedef int vector[MAX];
    int n,count;
    vector p,b;                               //b la bien trang thai boolean
    void init(vector p)
        {
              int i;
              cout<<"Ban muon hoan vi bao nhieu phan tu ?n="; cin>>n;
              for(i=1;i<=n;i++) b[i]=1;
              count=0;
         }
    void result(vector p)
        {
               int i;
               count+=1; cout<<count<<": ";
               for(i=1;i<=n;i++)
               cout<<p[i]<<" ";
               cout<<"\n";
          }
    void Permutation(int i, vector &p)
          {
              int j;
              for(j=1;j<=n;j++)
                   if(b[j])                        //Chap nhan j
                       {
                             p[i]=j;
                             b[j]=0;              //ghi nhan trang thai moi
                             if(i==n) result(p);
                                   else Permutation(i+1, p);
                               b[j]=1;                 //tra lai trang thai cu
                           }
              }
     void main()
            {  
    	 char ans;
                 do
                    {
    	          init(p);
    	          Permutation(1,p);
    	          cout << "Ban co muon tiep tuc hay ko (C/K)?";
    	          cin >> ans;
                    } while (ans=='c'||ans=='C');
             }
  4. Bài 4 : Liệt kê tổ hợp chập K của N phần tử
    Code:
    #include<stdio.h>
    #include<iostream.h>
    #include<conio.h>
    #define max 100
    typedef int vector[max];
    void init(int &k, int &n, int &count, vector c)
          {
               cout<<"enter n="; cin>>n;
               cout<<"enter k="; cin>>k;
               cout<<"combinations of consisting "<<k<<" of "<<n<<"\n";
               c[0]=0;
               count=0;
           }
    void result(int k, int &count, vector c)
           {
                int i;
               count+=1; cout<<count<<": ";
               for(i=1;i<=k;i++)
                     cout<<c[i]<<" ";
               cout<<"\n";
            }
     void combination(int i, int k, int n, int &count, vector c)
           {
                int j;
               for(j=c[i-1]+1;j<=n-k+i;j++)
                   {
                        c[i]=j;                      //xac dinh c[i] theo j
                        if(i==k)  result ( k, count , c );
                            else combination(i+1, k, n, count, c);
                    }
             }
      void main()
            {
    	int k,n,count;
    	vector c;
    	init(k, n, count, c);
    	combination(1, k, n, count, c);
            }
  5. Bài 5 : Liệt kê chỉnh hợp chập K của N phần tử
    Code:
    #include<iostream.h>
    #define MAX 20
    typedef int vector[MAX];
    int n,count,k;
    vector p,b; //b la bien trang thai boolean
    void init(vector p)
         {
              int i;
              cout<<"n=";  cin>>n;
              cout<<"k=";cin>>k;
              for(i=1;i<=n;i++) b[i]=1;
              count=0;
          }
    void result(vector p)
         {
               int i;
               count+=1; cout<<count<<": ";
               for(i=1;i<=k;i++)
               cout<<p[i]<<" ";
               cout<<"\n";
          }
     void Permutation(int i, vector &p)
          {
                int j;
                for(j=1;j<=n;j++)
                if(b[j])                               //Chap nhan j
                   {
                          p[i]=j;
                          b[j]=0;                    //ghi nhan trang thai moi
                          if(i==k) result (p);
                             else Permutation(i+1, p);
                          b[j]=1;                    //tra lai trang thai cu
                     }
          }
      void main()
          {
     	 init(p);
    	 Permutation(1,p);
          }
  6. Bài 6 : Liệt kê dãy nhị phân không có hai số 0 liên tiếp
    Code:
    #include<stdio.h>
    #include<iostream.h>
    #include<conio.h>
    #define max 40
    typedef int vector[max];
    int n,count;
    vector b;
    void init(vector b, int &count, int &n)
    {
      cout<<"n="; cin>>n;
      count=0;
      b[0]=1; // de thoa dieu kien trong ham try(i)
    }
    
    void result(vector b)
     {
      int i;
      count+=1; cout<<count<<": ";
      for(i=1;i<=n;i++)
       cout<<b[i]<<" ";
      cout<<"\n";
     }
     void binary(int i, vector b)
     {
      int j;
      for(j=0;j<=1;j++)
       if(b[i-1]+j)  
       {
    	    b[i]=j;
    		if(i==n) result(b);
    		else binary(i+1, b);
       }
      }
      void main()
      {
    	init(b, count, n);
    	binary(1, b);
      }
  7. Bài 7 : Liệt kê dãy nhị phân
    Code:
    //chuong trinh liet ke day nhi phan
    #include<stdio.h>
    #include<iostream.h>
    #include<conio.h>
    #define MAX 100
    typedef int vector[MAX];
    vector b;
    int n,count;
    void init(int &count, int &n)
    {
      cout<<"given number of bits of strings n="; cin>>n;
      count=0;
     }
    void result(vector b)
     {
      int i;
      count+=1; cout<<count<<": ";
      for(i=1;i<=n;i++)
       cout<<b[i]<<" ";
      cout<<"\n";
     }
     void Binary(int i, vector b)
     {
      int j;
      for(j=0;j<=1;j++)
      {
        b[i]=j;
        if(i==n) result(b);
        else Binary(i+1, b);
      }
     }
     void main()
     {
       init(count, n);
       Binary(1, b);
     }
  8. Bài 8 : Tìm phần tử lớn nhất của dãy
    Code:
    # include <iostream.h>
    # include <assert.h>
    # define MAX 50
    
    int Max ( int x , int y )
    {
    	if ( x >= y )
    		return x ;
    	else
    		return y ;
    }
    
    int MaxList ( int a[] , int d , int c )
    {
    	int kq ;
    	if ( d < c )
    	{
    		if ( d == c )
    			kq = a[d] ;
    		else if ( c == d+1 )
    				kq = Max ( a[d] , a[c] ) ;
    		else
    		{
    			int m = (c+d)/2 ;
    			int x = MaxList ( a , d , m ) ;
    			int y = MaxList ( a , m+1 , c ) ;
    			kq = Max ( x , y ) ;
    		}
    	}
    	return kq ;
    }
    
    int main ()
    {
    	int n , a[MAX] ;
    	cout <<" Nhap so phan tu cua day : " ; cin >> n ;
    	cout <<" Nhap vao day so " ;
    	for ( int i = 1 ; i <= n ; i++ )
    		cin >> a[i] ;
    	cout <<" Phan tu lon nhat cua day la : "<< MaxList ( a , 1 , n ) << endl ;
    	return 0 ;
    }

Download:http://lazycatnct.googlepages.com/OnTapToanTin.doc


Nguyễn Thu Hương
Smod Nhịp sống sinh viên
YH: nguyenthithuhuong_21071991                    Mail: thuhuong217@gmail.com

       

 
Các thành viên đã Thank Hương-Hà Nội vì Bài viết có ích:
26/12/2009 22:12 # 4
Hương-Hà Nội
Cấp độ: 30 - Kỹ năng: 20

Kinh nghiệm: 231/300 (77%)
Kĩ năng: 149/200 (74%)
Ngày gia nhập: 27/11/2009
Bài gởi: 4581
Được cảm ơn: 2049
Phản hồi: Tất cả tài liệu về Toán Rời Rạc Post ở đây


 bài toán tổ hợp lặp ah` :Monkey04:

PHP Code:
#include <stdio.h> 
#include <conio.h> 
#define MAX 100 
char x[MAX],b[MAX]; 
int n,k
void init() { 
     
int i
     for (
i=0;i<k;++ix[i] = '\0'

void print(char x[]) { 
     
int i
     for (
i=0;i<k;++i
         
putchar(x[i]); 
     
putchar('\n');     

void next_comb(int i) { 
     
int j
     for (
j=0;j<n;++j
         if (
b[j] >= x[i-1]) { 
         
x[i] = b[j]; 
         if (
== 1) print(x); 
         else 
next_comb(i+1); 
     } 

int main() { 
    
int i,j
    
char temp
    
printf("Enter n and k:"); 
    
scanf("%d%d%*c",&n,&k); 
    
init(); 
    for (
i=0;i<n;++i) { 
        
printf("b[%d] = ",i); 
        
scanf("%c%*c",&b[i]); 


Nguyễn Thu Hương
Smod Nhịp sống sinh viên
YH: nguyenthithuhuong_21071991                    Mail: thuhuong217@gmail.com

       

 
Các thành viên đã Thank Hương-Hà Nội vì Bài viết có ích:
06/10/2010 14:10 # 5
moonriver85
Cấp độ: 1 - Kỹ năng: 1

Kinh nghiệm: 0/10 (0%)
Kĩ năng: 0/10 (0%)
Ngày gia nhập: 06/10/2010
Bài gởi: 1
Được cảm ơn: 0
Tất cả tài liệu về Toán Rời Rạc Post ở đây



http://www.danangnet.org/dng.vn/imag...1kwtmt68sh.rar
  
Link có virus rồi bạn ơi, bạn check lại giùm mình với. Mình đang rất cần tài liệu này, thanks bạn nhiều.


 
15/09/2011 00:09 # 6
anh2bmw
Cấp độ: 48 - Kỹ năng: 44

Kinh nghiệm: 255/480 (53%)
Kĩ năng: 408/440 (93%)
Ngày gia nhập: 27/11/2009
Bài gởi: 11535
Được cảm ơn: 9868
Phản hồi: Tất cả tài liệu về Toán Rời Rạc Post ở đây


Giáo trình Toán Rời Rạc (Giảng viên: Đỗ Văn Nhơn) 
Trích: Giáo trình Toán rời rạc - Đại học Huế
Trích:
Với sự nổ lực hết mình của bản thân, chúng tôi thiết nghĩ đây sẽ là tài liệu tham khảo tốt cho các giáo viên giảng dạy học phần toán rời rạc, các học viên cao học ngành Phương pháp giảng dạy Toán, các thí sinh thi vào cao học ngành công nghệ thông tin, các sinh viên thuộc các ngành được đề cập ở trên và các học sinh thuộc khối chuyên Toán, chuyên Tin. 

Nội dung của tài liệu này được bố trí trong 4 phần, không kể lời nói đầu, mục lục, tài liệu tham khảo và phần phụ lục:

-- Phần 1 được dành cho Chương I đề cập đến Thuật toán;
-- Phần 2 được dành cho Chương II nói đến bài toán đếm;
-- Phần 3, đây là phần chiếm nhiều trang nhất trong giáo trình, bàn về Lý thuyết đồ thị và các ứng dụng gồm 5 chương: Đồ thị, Đồ thị Euler và đồ thị Hamilton, Một số bài toán tối ưu trên đồ thị, Cây, Đồ thị phẳng và tô màu đồ thị;
-- Phần 4 được dành cho Chương 8, chương cuối cùng, đề cập đến Đại số Boole.
Trong mỗi chương, các chứng minh của các định lý, mệnh đề được trình bày chi tiết, ngoại trừ một số định lý có phần chứng minh quá phức tạp thì được chúng tôi bỏ qua. Trong các phần của mỗi chương có nhiều ví dụ cụ thể minh hoạ cho những khái niệm cũng như những kết quả của chúng. Cuối của mỗi chương là những bài tập được chọn lọc từ dễ đến khó, bám theo nội dung của chương đó.



Thông tin liên hệ anh2bmw khi có bất kỳ thắc mắc:
skype: trantien281
mail: 
anh2bmw@gmail.com


 

 
Copyright© Đại học Duy Tân 2010 - 2024