Liệt kê các tập con k phần tử của tập n phần tử bằng thuật toán Back Track

Liệt kê các tập con k phần tử của tập n phần tử bằng thuật toán Back Track

Xem lại lý thuyết thuật toán Back Track

>> Lý thuyết về thuật toán quay lui Back Track

Biểu diễn tập con k phần tử dưới dạng c1, c2,.., ck, trong đó 1< c1các giá trị đề cử cho ci là từ ci-1+ 1 cho đến n - k + i. Cần thêm vào c0 = 0. Các giá trị đề cử này mặc nhiên được chấp nhận mà không cần phải thêm điều kiện gì.

Liệt kê các tập con k phần tử của tập n phần tử bằng thuật toán Back Track

Chương trình cài đặt:

#include <conio.h>

#include <stdio.h>

#include <stdlib.h>

#define MAX  100

int B[MAX], n, k, count = 0;

void Init(void){

 printf("\n Nhap n="); scanf("%d", &n);

 printf("\n Nhap k="); scanf("%d", &k);

 B[0] = 0;

}

void Result(void){

 int i; count++;

 printf("\n Tap thu %d:", count);

 for (i = 1; i <= k; i++){

  printf("%3d", B[i]);

 }

 getch();

}

void Try(int i){

 int j;

 for (j = B[i - 1] + 1; j <= (n - k + i); j++){

  B[i] = j;

  if (i == k) Result();

  else Try(i + 1);

 }

}

void main(void){

 clrscr();

 Init();

 Try(1);

}

 

Bạn thấy bài viết này như thế nào?: 
Average: 10 (1 vote)
Ảnh của Tommy Tran

Tommy owner Express Magazine

Drupal Developer having 9+ year experience, implementation and having strong knowledge of technical specifications, workflow development. Ability to perform effectively and efficiently in team and individually. Always enthusiastic and interseted to study new technologies

  • Skype ID: tthanhthuy

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
Quảng Bá Website: Cần bao lâu để SEO có kết quả?

Quảng Bá Website: Cần bao lâu để SEO có kết quả?

Câu hỏi thường tạo cho nhiều chuyên gia SEO một chút khó khăn đó là: “mất khoảng bao lâu thời gian để bạn cho ra được kết quả tìm kiếm?”.

30 giây cho một trang Profile độc đáo

30 giây cho một trang Profile độc đáo

Gần đây trào lưu biến Profile Facebook thành bức ảnh ghép đang ngày càng trở nên thịnh hành.

Apple ra mắt Mac Pro 2013 với thiết kế trụ tròn lạ kỳ

Mac Pro 2013 nhỏ gọn chỉ bằng một phần tám so với thế hệ cũ

Mac Pro mới nhỏ gọn chỉ bằng một phần tám so với thế hệ cũ với lớp vỏ bằng nhôm sơn màu đen và có thể xoay để dễ dàng sử dụng các cổng kết nối.

Công ty diệt chuột T&C

 

Diet con trung