当前位置: 首页 > news >正文

网站是怎么建立的在线拍卖网站源码

网站是怎么建立的,在线拍卖网站源码,百度2023免费,个人网页设计作品欣赏图片一、树的基本概念(一)定义树是由 n(n ≥ 0) 个结点组成的有限集合,是一种非线性层次结构:当 n 0 时,称为空树;当 n > 0 时,存在唯一的根结点(无前驱结点&…

一、树的基本概念

(一)定义

树是由 n(n ≥ 0) 个结点组成的有限集合,是一种非线性层次结构:

  • 当 n = 0 时,称为空树
  • 当 n > 0 时,存在唯一的根结点(无前驱结点),其余结点可划分为 m(m ≥ 0) 个互不相交的有限子集,每个子集都是一棵独立的子树

(二)结点与树的核心属性

概念定义
结点的度结点拥有的子树个数
叶结点(终端结点)度为 0 的结点(无子树,位于树的最底层)
分支结点(非终端结点)度不为 0 的结点(至少拥有一棵子树)
树的度树中所有结点的最大度数
深度 / 高度从根结点开始计数,根为第 1 层,子结点依次递增,树的最大层数即为深度 / 高度

(三)存储结构

  • 顺序存储:通过数组存储结点,需结合结点间的层次关系(如双亲下标)关联数据,适用于结构规则的树(如完全二叉树)。
  • 链式存储:通过指针记录结点的子树地址(如孩子指针、兄弟指针),灵活性高,适用于各类形态的树。

二、二叉树的基本概念

(一)定义

二叉树是 n(n ≥ 0) 个结点的有限集合,满足:

  • 当 n = 0 时,为空二叉树;
  • 当 n > 0 时,由根结点左子树右子树组成,且左、右子树互不相交,均为二叉树。

(二)核心特点

  1. 每个结点最多有 2 棵子树(左子树和右子树),即二叉树的度最大为 2;
  2. 左、右子树具有有序性,不可随意颠倒(如 “仅有左子树” 与 “仅有右子树” 是两种不同结构);
  3. 若结点仅有一棵子树,必须明确标注是左子树还是右子树。

三、特殊二叉树

类型定义
斜树所有结点仅含一棵子树,分为左斜树(仅左子树)和右斜树(仅右子树)
满二叉树深度为 k(k ≥ 1),所有分支结点均有左、右子树,且所有叶子结点在同一层
完全二叉树深度为 k(k ≥ 1),按层序编号后,与同深度满二叉树的结点编号完全一致

四、二叉树重要性质

  1. 第 i 层结点数上限:第 i(i ≥ 1) 层最多有 2^{i-1} 个结点(如第 3 层最多 4 个结点);
  2. 深度为 k 的结点总数上限:深度为 k(k ≥ 1) 的二叉树,最多有 2^k - 1 个结点(此时为满二叉树);
  3. 叶子结点与度为 2 的结点关系:任意非空二叉树中,叶子结点数 n₀ = 度为 2 的结点数 n₂ + 1(即 n₀ = n₂ + 1);
  4. 完全二叉树深度计算:含 n 个结点的完全二叉树,深度为 ⌊log₂n⌋ + 1⌊x⌋ 表示向下取整)。

五、二叉树遍历方式

二叉树遍历是按规则访问所有结点(每个结点仅访问一次),核心分为深度优先遍历(DFS)和广度优先遍历(BFS):

遍历类型具体方式遍历顺序
深度优先遍历前序遍历根结点 → 左子树 → 右子树
中序遍历左子树 → 根结点 → 右子树
后序遍历左子树 → 右子树 → 根结点
广度优先遍历层序遍历按层次从上到下、同层从左到右

前序遍历
规则是若二叉树为空,则空操作返回,否则先访问根结点,然后前序遍历左子
树,再前序遍历右子树。如图,遍历的顺序为:ABDGHCEIF。

void PreOrder(TreeNode* root) {if (root == NULL) return;  // 空树,递归终止printf("%d ", root->data); // 访问根结点PreOrder(root->left);      // 递归遍历左子树PreOrder(root->right);     // 递归遍历右子树
}

中序遍历
规则是若树为空,则空操作返回,否则从根结点开始(注意并不是先访问根结
点),中序遍历根结点的左子树,然后是访问根结点,最后中序遍历右子树。如图,遍历的顺序为:GDHBAEICF。

void InOrder(TreeNode* root) {if (root == NULL) return;  // 空树,递归终止InOrder(root->left);       // 递归遍历左子树printf("%d ", root->data); // 访问根结点InOrder(root->right);      // 递归遍历右子树
}

3.后序遍历
规则是若树为空,则空操作返回,否则从左到右先叶子后结点的方式遍历访问左
右子树,最后是访问根结点。如图,遍历的顺序为:GHDBIEFCA。

void PostOrder(TreeNode* root) {if (root == NULL) return;  // 空树,递归终止PostOrder(root->left);     // 递归遍历左子树PostOrder(root->right);    // 递归遍历右子树printf("%d ", root->data); // 访问根结点
}

遍历顺序:按树的层次从上到下、同一层从左到右依次访问所有结点,本质是 “按层访问”。​实现依赖:需借助队列(先进先出,FIFO),通过 “根结点入队 → 队头出队访问 → 左右子结点入队 → 循环至队空” 的逻辑实现。

void LevelOrder(TreeNode* root) {if (root == NULL) return;          // 空树,直接返回SeqQue* queue = CreateSeqQue(100); // 创建容量为 100 的队列EnterSeqQue(queue, root);          // 根结点入队while (!IsEmptySeqQue(queue)) {    // 队列非空,循环处理TreeNode* curr = GetHeadSeqQue(queue); // 取队头结点printf("%d ", curr->data);     // 访问当前结点QuitSeqQue(queue);             // 队头结点出队if (curr->left != NULL)        // 左子结点非空,入队EnterSeqQue(queue, curr->left);if (curr->right != NULL)       // 右子结点非空,入队EnterSeqQue(queue, curr->right);}DestroySeqQue(queue);              // 销毁队列,释放内存
}

http://www.dtcms.com/a/413645.html

相关文章:

  • 网站建设公司的服务公司wordpress国外主题汉化
  • 休闲零食网站建设+中企动力网站改版原因
  • 数码电子产品网站名称网站内容段落之间有空格对seo有影响吗
  • 四平网站建设服务采购平台
  • 如何刷网站访问量全自动引流推广软件下载
  • 广州专业网站建设有哪些zoho企业邮箱
  • php 茶叶网站涟源市建设局网站
  • 网站管理 官网房地产销售技巧和话术
  • 在线建设网站制作招标
  • 公司的网站如何建设方案网站建设的基本步奏
  • 全县网站建设情况通报wordpress 图片网站
  • 广告推广网站做得大气的网站
  • 高端集团响应式企业网站模板阿里巴巴1688登录入口
  • 公司网站模板下载网站建设大体包含
  • 一级做受网站网站制作价格上海
  • 学校网站用途重庆市工程建设信息网新网站
  • 名校建设专题网站自己的电脑怎么做网站
  • 杭州建设信用网新网站百度标注平台怎么加入
  • 怎样可以开网站招聘网站开发源码
  • 如何用dedecms做网站平邑县住房和城乡建设局网站
  • 大连模板建站哪家好常用wordpress搭建环境
  • 怎样下载建设银行信用卡网站网站可以免费建设吗
  • html5 网站源码娱乐彩票网站建设制作
  • 杭州网站程序开发公司全网精准获客营销
  • 郑州做网站软件导航类网站模板
  • 阿里巴巴开通诚信通后网站怎么做中山半江红网站建设
  • 网站怎么做等级保护建设通破解vip
  • 同泰公司网站公司查询松北建设局网站
  • 建站都需要什么怎么做文学动漫网站
  • 如何在电脑里做网站宁晋网站建设