决策树算法c语言代码
时间: 2023-10-16 19:05:42 浏览: 183
下面是一个简单的决策树算法的C语言代码示例:
```c
#include <stdio.h>
// 定义节点结构
typedef struct Node {
int value;
struct Node* left;
struct Node* right;
} Node;
// 创建新节点
Node* createNode(int value) {
Node* newNode = (Node*)malloc(sizeof(Node));
newNode->value = value;
newNode->left = NULL;
newNode->right = NULL;
return newNode;
}
// 插入节点
void insertNode(Node** root, int value) {
if (*root == NULL) {
*root = createNode(value);
return;
}
if (value <= (*root)->value) {
insertNode(&(*root)->left, value);
} else {
insertNode(&(*root)->right, value);
}
}
// 搜索节点
Node* searchNode(Node* root, int value) {
if (root == NULL || root->value == value) {
return root;
}
if (value < root->value) {
return searchNode(root->left, value);
} else {
return searchNode(root->right, value);
}
}
int main() {
Node* root = NULL;
// 插入节点
insertNode(&root, 8);
insertNode(&root, 3);
insertNode(&root, 10);
insertNode(&root, 1);
insertNode(&root, 6);
insertNode(&root, 14);
// 搜索节点
Node* node = searchNode(root, 6);
if (node != NULL) {
printf("节点值为 %d\n", node->value);
} else {
printf("节点未找到\n");
}
return 0;
}
```
这段代码实现了一个简单的二叉搜索树(Binary Search Tree)。它包括创建节点、插入节点和搜索节点的功能。你可以根据自己的需求修改和扩展这段代码。
阅读全文