当前位置:   article > 正文

数据结构————广度寻路算法 Breadth First Search(广度优先算法)_广度优先寻路

广度优先寻路

(一)基础补充

二叉树的基本定义

1)二叉树就是度不超过2的树,其每个结点最多有两个子结点

2)二叉树的结点分为左结点和右结点

代码实现二叉树

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. struct Node {
  4. int data;
  5. struct Node* pLeft;
  6. struct Node* pRight;
  7. };
  8. //初始化树节点的函数
  9. struct Node* createNode(int data) {
  10. struct Node* newNode = malloc(sizeof(struct Node));
  11. if (newNode == NULL) return newNode;
  12. newNode->pLeft = NULL, newNode->pRight = NULL;
  13. newNode->data = data;
  14. return newNode;
  15. }
  16. //插入树节点函数
  17. void Insert(int data ,struct Node** root) {
  18. if (NULL == root) return;
  19. //如果是空树,直接变根节点
  20. if ( NULL== *root) {
  21. *root = createNode(data);
  22. return;
  23. }
  24. //
  25. if (data < (*root)->data) {
  26. Insert(data, &((*root)->pLeft));
  27. }
  28. else {
  29. Insert(data, &((*root)->pRight));
  30. }
  31. }
  32. //遍历树
  33. //先序遍历
  34. void preTravel(struct Node* pRoot) {
  35. if (NULL == pRoot) return;
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号