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

 

Bối cảnh ra đời trang mạng xã hội Facebook

Con người là những tế bào xã hội. Chúng ta có mặt trên đời là hệ quả của những hành động của người khác

 Facebook Chat is one of the easiest way to chat with your friends and share your thoughts with your friends and family.

Add Images on Your Facebook Chat With Smileytime

Facebook Chat is one of the easiest way to chat with your friends and share your thoughts with your friends and family. 

Coder Cracker đã hạ gục 400 website thuộc Chính phủ Trung Quốc

Coder Cracker đã hạ gục 400 website thuộc Chính phủ Trung Quốc

Hacker mang bí danh “Coder Cracker” thuộc nhóm “Chiến binh ảo Pakistan” đã hạ gục 400 website thuộc Chính phủ Trung Quốc và khoe chiến tích lên mạng Pastebin.

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

 

Diet con trung