VicoTas
Câu hỏi
MrTien ftienhts
26/04/2013 21:43

Tìm kiếm cây nhị phân

Em vừa kết thúc môn tubor C++ hướng đối tượng, và được giao làm bài tập lớn về lớp cây tìm kiếm nhị phân. Nhưng em chưa làm được, mong các bác ai biết thì gợi y cho em với. Em cám ơn nhiều
Nếu được thì gủi giùm em vao địa chỉ:
. ( huongvannguyen86@gmail.com )
------------------Em xin chan thành cám ơn-------------------

Danh sách câu trả lời (1)
Vinh tranquangvinh 26/04/2013 21:44
Đây là thuật toán nhé

Trích dẫn:
#include
#include
#include

typedef int element_type;
typedef struct node
{
element_type element;
struct node *left, *right;
} NODE;

NODE *root;

void khoi_tao_cay(NODE ** root)
{
*root = NULL;
}

void insert(NODE *tmp, NODE **root)
{

if (tmp->element < (*root)->element)
if ((*root)->left)
insert(tmp, &(*root)->left);
else
(*root)->left = tmp;
else
if ((*root)->right)
insert(tmp, &(*root)->right);
else
(*root)->right = tmp;
}

void insert_node(element_type e, NODE **root)
{
NODE *tmp;

tmp = (NODE *)malloc(sizeof(NODE));
tmp->element = e;
tmp->left = NULL;
tmp->right = NULL;
if (*root == NULL)
*root = tmp;
else
insert(tmp, root);
}

void nhap_cay(NODE **root)
{
element_type e;
do {
printf("\nNhap element (-1 de ket thuc) : ");
scanf("%d", &e);
if (e != -1)
insert_node(e, root);
} while (e != -1);
}

void NLR(NODE *root)
{
if (root != NULL)
{
printf("%d ", root->element);
NLR(root->left);
NLR(root->right);
}
}

void NRL(NODE *root)
{
if (root != NULL)
{
printf("%d ", root->element);
NRL(root->right);
NRL(root->left);
}
}

void LNR(NODE *root)
{
if (root != NULL)
{
LNR(root->left);
printf("%d ", root->element);
LNR(root->right);
}
}

void LRN(NODE *root)
{
if (root != NULL)
{
LRN(root->left);
LRN(root->right);
printf("%d ", root->element);
}
}

void RNL(NODE *root)
{
if (root != NULL)
{
RNL(root->right);
printf("%d ", root->element);
RNL(root->left);
}
}

void RLN(NODE *root)
{
if (root != NULL)
{
RLN(root->right);
RLN(root->left);
printf("%d ", root->element);
}
}

void main()
{
khoi_tao_cay(&root);
nhap_cay(&root);
printf("\nDuyet cay NLR : ");
NLR(root);
printf("\nDuyet cay NRL : ");
NRL(root);
printf("\nDuyet cay LNR : ");
LNR(root);
printf("\nDuyet cay LRN : ");
LRN(root);
printf("\nDuyet cay RNL : ");
RNL(root);
printf("\nDuyet cay RLN : ");
RLN(root);
getch();
}
Trả lời câu hỏi
Tải lại mã
Câu hỏi lĩnh vực Lập trình
Thu Trang Cho em hỏi về đệ quy trong ngôn ngữ lập trình C. cho em tài liệu phần này được không ạ?

Đăng lúc: 21:43 - 26/04/2013 trong Lập trình

Mạnh Linh Xin hỏi muốn download microsoft visual c++6.0 ở đâu?

Đăng lúc: 21:43 - 26/04/2013 trong Lập trình

nophoto Có ai dùng chương trình SWFText chưa ?

Đăng lúc: 21:43 - 26/04/2013 trong Lập trình

nophoto Cho mình xin code tìm kiếm (Ma NV) trên Visualbasic ?

Đăng lúc: 21:43 - 26/04/2013 trong Lập trình

Chip chip Làm hộ em bài tập này C++ ?

Đăng lúc: 21:43 - 26/04/2013 trong Lập trình

vietnamconnection Khóa học đào tạo lập trình viên quốc tế mới nè ACCP . Các Anh(Chị) cho em ý kiến với

Đăng lúc: 21:43 - 26/04/2013 trong Lập trình

MrTien Về sách "Cấu trúc dữ liệu với Java"

Đăng lúc: 21:43 - 26/04/2013 trong Lập trình

dang duc thang Hỏi về cách cách sử dụng công cụ để tạo web trong website WEBNODE.COM

Đăng lúc: 21:43 - 26/04/2013 trong Lập trình

Phương Làm gì khi bắt đầu học Lập trình Turbo C?

Đăng lúc: 21:43 - 26/04/2013 trong Lập trình

Thu Trang Có ai có công cụ lưới dùng trong VB ko?

Đăng lúc: 21:43 - 26/04/2013 trong Lập trình

Đức Vân Hỏi về Visua basic 6.0

Đăng lúc: 21:43 - 26/04/2013 trong Lập trình

Xuân Trọng Hỏi mãi mà ko ai giúp cho! 3 câu hỏi trắc nghiệm đơn giản!

Đăng lúc: 21:43 - 26/04/2013 trong Lập trình

NgocUk Stack và Queue

Đăng lúc: 21:42 - 26/04/2013 trong Lập trình

Đức Việt Xin hướng dẫn chuỗi kết nối với file csdl MS Access có password trong C#?

Đăng lúc: 09:56 - 13/07/2013 trong Lập trình

vietnamconnection Làm thế nào để đăng ký điều khiển active X với Windows? Lập trình VC++ ?

Đăng lúc: 21:42 - 26/04/2013 trong Lập trình

Đức Vân Tạo hiệu ứng chuyển màu trong VB6?

Đăng lúc: 21:42 - 26/04/2013 trong Lập trình

Lê Thị Hoa Hồng Hỏi cách thiết kế một trang web cho cơ quan

Đăng lúc: 21:42 - 26/04/2013 trong Lập trình

Vinh Xin cho tôi hỏi : làm thế nào để lấy ma trận các pixel 1 ký tự của 1 font bất kỳ bằng vb 6?

Đăng lúc: 21:42 - 26/04/2013 trong Lập trình

nophoto Các bạn cho hỏi trang tra cứu tên miền này có được không? http://www.tracuutenmien.f5all.com

Đăng lúc: 21:42 - 26/04/2013 trong Lập trình

Phương Ngôn ngữ nào để lập trình web trong tương lai?

Đăng lúc: 21:42 - 26/04/2013 trong Lập trình

Rao vặt Siêu Vip