【NOI】树的初步认识

文章目录

  • 前言
  • 一、树
    • 1.什么是树?
    • 2.树的基本概念
    • 3.树的基本术语
      • 3.1 节点
        • 3.1.1 根节点
        • 3.1.2 父节点、子节点
        • 3.1.3 兄弟节点、堂兄弟节点
        • 3.1.4 祖先节点、子孙节点
        • 3.1.5 叶子节点/终端节点
        • 3.1.6 分支节点/非终端节点
      • 3.2 边
      • 3.3 度
        • 3.3.1 树的度
      • 3.4 层次
        • 3.4.1 树的深度
        • 3.4.2 树的宽度
      • 3.5 有序树
        • 3.5.1 第一个孩子
        • 3.5.2 最后一个孩子
  • 二、树的表示方法
    • 1.树形表示
    • 2.嵌套表示
    • 3.广义表表示
    • 4.凹入表示法
    • 5.二叉链表(孩子-兄弟)表示法
  • 三、练习
  • 四、总结
  • 五、感谢


前言

本章节主要介绍了树这一重要的数据结构概念及其相关术语。树作为一种模拟自然界中树状结构的抽象数据类型,在计算机科学中有广泛的应用,尤其在信息检索、文件系统、程序设计语言解析等领域。通过形象的例子阐述了如何将书籍分类体系构建为树形结构,使得读者能更好地理解树的层次化组织特性。

在详细解释树的基本术语时,我们介绍了节点、根节点、父节点、子节点、兄弟节点、堂兄弟节点、祖先节点、子孙节点以及叶子节点和分支节点的概念。同时,还介绍了树的边,它是连接节点并表示父子关系的纽带。此外,我们深入探讨了树的度,即一个节点拥有的子节点数量,以及树的度(整体意义上,即树中所有节点的最大度数),这对于理解和分析树的拓扑结构至关重要。

接着,我们详细说明了树的层次和深度,层次是根据节点与根节点的相对位置划分的级别,而深度则是从根节点到最远叶子节点的最长路径长度。树的宽度则是在特定层级上的节点最大数量,体现了树的横向扩张程度。

另外,还特别提到了有序树这一特殊类型的树,其中节点的子树是有固定顺序的,例如二叉树和二叉搜索树等。有序树中的节点有明确的“第一个孩子”和“最后一个孩子”的概念,而在无序树中则没有这样的顺序约束。

最后,本节还列举了四种常见的树表示方法,分别是树形表示法、嵌套表示法、广义表表示法和凹入表示法,每种方法都有各自的优点和适用场景,有助于实际应用中根据需要灵活选择合适的方式来表达和处理树结构的数据。

学习路线:C++从入门到NOI学习路线

学习大纲:C++全国青少年信息学奥林匹克竞赛(NOI)入门级-大纲


一、树

1.什么是树?

如果有人问你什么是树?你可能首先想到的是大自然中的树木,它们有根、枝干和树叶,彼此之间有着明显的层次和联系。

在这里插入图片描述

而在计算机科学中,我们也有一种类似的概念,叫做“树”数据结构,不过这里的“树”是虚拟的,是用来组织和管理信息的一种方式。

在这里插入图片描述

想象一下,我们在整理书架上的书籍。如果你按照一定的逻辑把书籍分成不同的类别,比如文学、科学、历史等,每个类别再细分,比如文学类可以分为小说、诗歌、戏剧等,那么这种分类的方式就可以看作是一棵树。

在这里插入图片描述

这似乎看起来也不像树啊?

在这里插入图片描述

这样看起来是不是就多了!

在这里插入图片描述

2.树的基本概念

  1. 树是n(n≥0)个结点的有限集。

  2. 当 n=0 时称为空树;

  3. 当n>0时为非空树,在任意一棵非空树中,有且仅有一个称为根的结点,其余的结点可分为 m(m ≥0)个互不相交的有限集 T1,T2…,Tm,其中每一个集合又称为一棵树,并且称为根的子树;同理,每一棵子树又可以分为若干个互不相交的有限集……

3.树的基本术语

接下来简单介绍一下关于树的一些基本术语。

3.1 节点

节点是构成树的基本单元,通常用于存储数据元素。在树形结构中,每个节点可能包含数据信息和指向其子节点的指针。

在这里插入图片描述

3.1.1 根节点

根节点是树的顶部节点,它是唯一没有父节点的节点,是整个树结构的起点。在现实世界的应用中,根节点往往代表最高级别的分类或组织单元。

在这里插入图片描述

一个树结构只包含一个根节点,所有其他节点都是从根节点开始逐层向下扩展的。

多个根节点那是森林。

森林是由多棵独立的树组成的集合。每棵树都有自己的根节点,并且这些树之间互不影响,不存在从一棵树的节点可以直接到达另一棵树节点的情况。

3.1.2 父节点、子节点

在树中,除了根节点之外,每个节点都有且只有一个父节点,即直接连接到该节点的上一层节点。

比如文学的父节点就是书架。

在这里插入图片描述

子节点是指直接连接到某节点下方的节点。一个节点可以有零个、一个或多个子节点。

比如文学的子节点有:小说、戏剧、诗歌。

在这里插入图片描述

而对于小说节点来说文学就是它的父节点,因此每个节点都可以是其他节点的父节点,也可以有零个或多个子节点。

在这里插入图片描述

3.1.3 兄弟节点、堂兄弟节点

兄弟节点是指具有同一个父节点的不同子节点。它们之间是并列关系,而不是父子关系。

例如小说、戏剧、诗歌就属于兄弟节点。
在这里插入图片描述

堂兄弟节点指的是位于同一层的、并且父节点之间是兄弟节点的节点。

在这里插入图片描述

什么?你还是搞不懂兄弟节点和堂兄弟节点。

这么说吧,兄弟节点就是同爸又同爷,堂兄弟节点就是同爷不同爸。

还有下面这种情况也不属于堂兄弟节点,因为差辈了,不许各论各的。

在这里插入图片描述

还是不清楚花两块钱去超市门口摇一摇去。

3.1.4 祖先节点、子孙节点

祖先节点是指从当前节点向上追溯,直至根节点所经过的所有节点。一个节点的所有祖先节点和它本身共同构成了该节点的祖先路径。

例如小说的祖先节点有文学、书架。

在这里插入图片描述

子孙节点是指以当前节点为起点,沿着边向下所能到达的所有节点。这包括当前节点的所有子节点、子节点的子节点等,直至叶子节点。

例如文学的子孙节点包括小说、戏剧、诗歌、现代诗歌。

在这里插入图片描述

3.1.5 叶子节点/终端节点

叶子节点是指没有子节点的节点。在树形结构中,叶子节点是树的末梢,它们不再向下扩展。

例如科学、历史、小说、戏剧、诗歌。

在这里插入图片描述

3.1.6 分支节点/非终端节点

分支节点是树中除叶子节点外的所有节点。它们具有一个或多个子节点,负责连接和支撑整棵树的结构。分支节点在树中起到了桥梁的作用,将各个部分连接起来,确保数据的流动和访问。

例如文学、书架就是分支节点。

在这里插入图片描述

3.2 边

边是连接两个节点的关系,表示它们之间的父子关系。在树中,边通常表示从父节点指向子节点的有向关系。

3.3 度

度是指一个节点拥有的子节点数量。一个节点的度反映了该节点的直接子节点数量,可以用来描述节点的分支情况。对于树而言,根节点的度通常等于其子节点的数量,而叶子节点的度为0。

例如“书架”是整个结构的根节点,它拥有三个直接子节点:“文学”、“科学”和“历史”。根节点有三个子节点,因此可以说根节点的度(即一个节点拥有的子节点数)为3。

在这里插入图片描述

3.3.1 树的度

树的度是指树中所有节点的最大度数。换句话说,树的度是树内任一节点的最大子节点数。例如,在一棵树中,如果节点A的度为3,节点B的度为2,节点C的度为4,那么这棵树的度就是4,因为节点C的度是最大的。

在讨论树的度时,通常所说的“度”指的是节点的度,即一个节点拥有子节点的数量。尤其是在问题描述或算法分析过程中,如果没有特别指出,提到“度”通常是指单个节点的度。

然而,在描述整个树的特性时,也会提到“树的度”,即树中各节点最大度数。这个概念主要用于刻画整棵树的拓扑结构特点,例如在讨论二叉树、m叉树等特定类型树的时候。

3.4 层次

在树形数据结构中,"树的层次"是指从根节点开始,按照节点与根节点之间的相对位置划分的级别。 根节点所在的层次定义为第1层,根节点的直接子节点位于第2层,以此类推,每一层上的节点都是其上一层节点的直接后代。

具体来说:

  • 根节点在第1层;
  • 根节点的每个子节点在第2层;
  • 子节点的子节点在第3层;
  • 依此类推,直至叶节点(没有子节点的节点)。

每增加一代子孙节点,层次就增加1。因此,树的最大层次取决于树的高度,即从根节点到最远叶节点所经过的边的数量。

在这里插入图片描述

3.4.1 树的深度

树的深度,也称为树的高度或树的层数,指的是从树的根节点到最远叶子节点的路径上经过的节点数目。 这个深度可以看作是从根节点到树中最深层次的节点所需经过的层级数。在树形结构中,深度最大的节点路径决定了整棵树的深度。

例如从书架到现代诗歌的最长路径上有4个节点。具体来说,这条路径是这样的:

  1. 从书架出发,向下进入历史节点。
  2. 然后继续向下进入诗歌节点。
  3. 再次向下进入现代诗歌节点。

这条路径包含了4个节点:书架、历史、诗歌和现代诗歌。因此,从书架到现代诗歌的最长路径上有4个节点,所以这棵树的深度是4。

在这里插入图片描述

3.4.2 树的宽度

树的宽度通常指的是某一特定层的节点数,也就是树在该层的最大节点数。 这实际上描述的是树在某个层级上最宽的部分的跨度。

例如在第二层,有3个节点(文学、科学和历史)。在第三层,有5个节点(小说、戏剧、诗歌、中国和美国)。在第四层,有1个节点(现代诗歌)。

因此,树的宽度在第三层达到最大,为5个节点。

在这里插入图片描述

树的深度和宽度是描述树形结构特性的两个不同维度。深度关注的是从根节点到最远叶子节点的纵向层级,而宽度则关注树在某个层级或某个节点上的横向扩展。

3.5 有序树

有序树是一种特殊的树形结构,其特点在于树中每个结点的各子树从左至右是有次序的,不能互换。

有序树的一个典型例子是二叉树(Binary Tree),特别是二叉搜索树(Binary Search Tree),在这种树中,每个节点的左子树中的所有节点的键值小于该节点的键值,而右子树中的所有节点的键值大于该节点的键值,这就是一种有序关系。

有序树可以进一步细分为多种类型,如二叉树、三叉树或多叉树等,只要满足子节点之间的顺序不可随意调换即可。

3.5.1 第一个孩子

如果一个节点有多个子节点(在多叉树或多子女树中),那么它的“第一个孩子”指的是按照节点间预设的顺序关系,排在首位的那个子节点。在二叉树中,如果节点有左子节点,则左子节点就是第一个孩子。

3.5.2 最后一个孩子

同样,一个节点的“最后一个孩子”是指按照预设顺序排列在末尾的那个子节点。在二叉树中,如果节点有右子节点,则右子节点就是最后一个孩子。在多叉树中,根据预先设定的顺序,最后一个孩子是所有子节点中顺序最后的那个。

有序树与之对应的是无序树。而在无序树中,子节点的顺序并不固定,因此没有“第一个孩子”和“最后一个孩子”的概念。

二、树的表示方法

1.树形表示

树形表示法: 这种表示方法通过图形化的形式直观展示树的结构,通常采用自顶向下的方式绘制,根节点位于顶部,子节点按照层次和顺序排列在下方,通过线条连接表示父子关系。

在这里插入图片描述

2.嵌套表示

嵌套表示法:通常指的是嵌套集合(文氏图)表示法,该表示方法用集合表示结点之间的层次关系。对于其中任意两个集合,它们要么不相交,要么一个集合包含另一个集合。这种表示方法特别适用于将树结构存储在关系数据库中,因为每个节点都有两个值:左值和右值。对于树中的任意一个节点,其子树中所有节点的左值都大于该节点的左值,右值都小于该节点的右值。这种方法便于快速查询树结构中的数据,但更新操作可能较为复杂。

在这里插入图片描述

嵌套表示法通常使用编程语言的结构(如对象、数组或字典)来表示树。

在这里插入图片描述

例如,用对象表示动物分类树:

{
  name: "动物",
  children: [
    {
      name: "哺乳动物",
      children: [
        {
          name: "猫科",
          children: [{ name: "猫" }, { name: "老虎" }]
        },
        {
          name: "犬科",
          children: [{ name: "狗" }, { name: "狼" }]
        }
      ]
    },
    {
      name: "鸟类",
      children: [{ name: "鹰" }, { name: "鸽子" }]
    }
  ]
}

3.广义表表示

广义表表示法: 广义表是一种线性结构,用于表示树结构时,可以将树看作是广义表的一种特殊情况。在广义表中,树的根节点作为表头,其子树可以看作是表元素,如果子树是非空的,则又是一个广义表。

(A, (B, (D, E), C, (F, G)))

这个广义表表示如下:

  • 外部大圆 A 包含内部的所有小圆;
  • 圆 B 表示集合 B,它包含元素 D 和 E;
  • 圆 C 表示集合 C,它包含元素 F 和 G;

在这里插入图片描述
广义表类似一个列表,但允许列表中包含子列表。例如,用广义表表示上面的动物分类树:

(动物 (哺乳动物 (猫科 () (老虎)) (犬科 () ())) (鸟类 () (鸽子)))

这里,圆括号代表节点,节点名(如“猫科”)和圆括号内的子列表共同构成一个节点的内容。子列表表示该节点的子节点。这种表示法比较紧凑,适合计算机程序处理。

4.凹入表示法

凹入表示法:也称为缩进表示法,它类似于书的目录,用节点逐层缩进的方法表示树中各个节点之间的层次关系。这种方法能够清晰地展示树形结构的层次关系。

在这里插入图片描述

凹入表示法就像写作文时的缩进。

在这里插入图片描述

例如,写一个关于动物分类的文章,你会这样写:

动物
    哺乳动物
        猫科
            猫
            老虎
        犬科
            狗
            狼
    鸟类
        鹰
        鸽子

5.二叉链表(孩子-兄弟)表示法

二叉链表(孩子-兄弟)表示法是一种用于表示树结构的数据结构,它特别适用于表示多叉树(每个节点可以有多个子节点)。在二叉链表(孩子-兄弟)表示法中,每个节点除了包含自己的数据外,还包含两个指针字段:一个指向其第一个孩子节点,另一个指向其下一个兄弟节点。
这种方法适用于表示任何类型的树,包括二叉树、多叉树等。

简单来说,就是给每个节点设计一张“名片”,上面记录了两方面的信息:

  1. 本节点的信息:比如一个人的名字、年龄,或者文件夹的名字等。我们把它称为“数据”。

  2. 与其它节点的关系:因为树中的节点之间有父子关系和兄弟关系,所以我们需要记录:

  • 孩子信息:指向这个节点的“第一个孩子”的“名片”。如果这个节点没有孩子,就写上“无孩子”。

  • 兄弟信息:指向这个节点的“下一个兄弟”的“名片”。如果没有兄弟,就写上“我是最后一个”。

举个例子:

假设我们有这样一颗家庭树:

在这里插入图片描述

用二叉链表(孩子-兄弟)表示法来描述,每个节点的“名片”就像这样:

  1. 爷爷的名片:
  • 数据:爷爷的名字、年龄等
  • 孩子信息:指向“爸爸”的名片
  • 兄弟信息:无兄弟,写上“我是最后一个”
  1. 爸爸的名片:
  • 数据:爸爸的名字、年龄等
  • 孩子信息:指向“我”的名片
  • 兄弟信息:指向“姑姑”的名片
  1. 我的名片:
  • 数据:我的名字、年龄等
  • 孩子信息:无孩子,写上“无孩子”
  • 兄弟信息:指向“妹妹”的名片
  1. 妹妹的名片:
  • 数据:妹妹的名字、年龄等
  • 孩子信息:无孩子,写上“无孩子”
  • 兄弟信息:我是最后一个,写上“我是最后一个”

这样,通过这些“名片”(节点),我们就可以清楚地知道每个人在家庭树中的位置,以及他们与其他家庭成员的关系了。

三、练习

  1. 参考下图的树,完成下列问题。
    在这里插入图片描述

(1)该树有哪些节点_______________,其中的叶子节点有______________,分支节点有_________________。

(2)节点A的度为___,节点B的度为 ___, 树的度为 ___。

(3)请写出A节点到K节点经过的路径 ____________________。

(4)H节点的兄弟节点有_________,堂兄弟节点有___________。

(5)F节点的祖先节点有__________, 子孙节点有_____________。

(6)该树的深度为___________,树的宽度为______________。

  1. 请根据下面的树形表示法完成以下练习:

在这里插入图片描述

(1)转换成凹入表示法、嵌套表示法、广义表表示法。

四、总结

本章围绕树这一基础数据结构进行了全面介绍,不仅阐述了树的各种组成部分和相关术语,还详细描绘了树的层次结构特征,如树的深度、宽度以及节点的度数。通过对有序树和无序树的对比讲解,读者能够掌握不同类型树的特点和应用场景。此外,通过对比各种树的表示方法,使读者了解到如何借助图形化、集合化、线性化以及文本化的手段来有效展示和记录树的结构信息。这一系列基础知识的学习和掌握,对于后续在诸如算法设计、数据组织及编程实现等方面都有着极其重要的作用。通过本章内容的学习,读者应当能够熟练识别和操作树形结构,并能够在解决实际问题时合理运用树的相关概念和技术。

五、感谢

如若本文对您的学习或工作有所启发和帮助,恳请您给予宝贵的支持——轻轻一点,为文章点赞;若觉得内容值得分享给更多朋友,欢迎转发扩散;若认为此篇内容具有长期参考价值,敬请收藏以便随时查阅。

每一次您的点赞、分享与收藏,都是对我持续创作和分享的热情鼓励,也是推动我不断提供更多高质量内容的动力源泉。期待我们在下一篇文章中再次相遇,共同攀登知识的高峰!

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/498503.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

学习JavaEE的日子 Day32 线程池

Day32 线程池 1.引入 一个线程完成一项任务所需时间为: 创建线程时间 - Time1线程中执行任务的时间 - Time2销毁线程时间 - Time3 2.为什么需要线程池(重要) 线程池技术正是关注如何缩短或调整Time1和Time3的时间,从而提高程序的性能。项目中可以把Time…

磐启微PAN1020低功耗SOC芯片

PAN1020低功耗蓝牙芯片 典型应用 ⚫ 电视和机顶盒遥控器 ⚫ 无线游戏手柄 ⚫ 无线鼠键 ⚫ 智能家居 需要此物料,可联系周小姐 主要特性 ⚫ RF - 2.4GHz 射频收发机(兼容 BLE4.2) - 接收灵敏度:-90 dBm1Mbps - 接收信号&a…

智慧公厕解决方案打造更加智能的卫生空间

一、智慧公厕方案概述 智慧公厕方案旨在解决现有公厕存在的诸多问题,包括民众用厕困难、环境卫生状况不佳、管理效率低下等方面。针对民众的需求和管理方面的挑战,智慧公厕提供了一套综合解决方案,包括智能导航、环境监测、资源管理等功能&a…

jvm(虚拟机)运行时数据区域介绍

Java虚拟机(JVM)运行时数据区域是Java程序在运行过程中使用的内存区域,它主要包括以下几个部分: 程序计数器(Program Counter Register): 程序计数器是一块较小的内存区域,是线程私有…

25G SFP28 AOC线缆最新数据传输解决方案

在当今云计算、大数据、人工智能等领域,对高速数据传输的需求不断增加。传统的1G和10G网络已经无法满足数据中心日益增长的流量,因此迫切需要更高速的解决方案。25G SFP28 AOC有源光缆迎合了这一需求,成为连接数据中心、服务器、存储等25G设备…

RPA使用Native Messaging协议实现浏览器自动化

RPA 即机器人流程自动化,是一种利用软件机器人或人工智能来自动化业务流程中规则性、重复性任务的技术。RPA 技术可以模拟和执行人类在计算机上的交互操作,从而实现自动化处理数据、处理交易、触发通知等任务。帮助企业或个人实现业务流程的自动化和优化…

速通数据结构第二站 顺序表

文章目录 速通数据结构与算法系列 1 速通数据结构与算法第一站 复杂度 http://t.csdnimg.cn/sxEGF 感谢佬们支持! 目录 系列文章目录 前言一、顺序表 0 结构体 1 接口声明 2 初始化和销毁 3 扩容函数 4 打印和判空 5 尾插 …

B2902A是德科技B2902A精密型电源

181/2461/8938产品概述: Agilent B2902A 精密源/测量单元 (SMU) 是一款 2 通道、紧凑且经济高效的台式 SMU,能够源和测量电压和电流。它用途广泛,可以轻松、高精度地执行 I/V(电流与电压)测量。4 象限源和测量功能的集…

RabbitMQ安装及使用笔记

RabbitMQ安装及使用笔记 RabbitMQ是一个开源的消息代理软件,它实现了高级消息队列协议(AMQP),用于在分布式系统中进行消息传递。 1.安装 利用docker load命令加载mq镜像 docker load -i mq.tar 基于Docker来安装RabbitMQ&#xff…

【QT入门】 QListWidget各种常见用法详解之列表模式

往期回顾 【QT入门】 Qt代码创建布局之setLayout使用-CSDN博客 【QT入门】 Qt代码创建布局之多重布局变换与布局删除技巧-CSDN博客 【QT入门】 QTabWidget各种常见用法详解-CSDN博客 【QT入门】 QListWidget各种常见用法详解之列表模式 QListWidget有列表和图标两种显示模式&a…

Blenderproc渲染6D位姿估计数据集

https://github.com/DLR-RM/BlenderProc/tree/main/examples/datasets/bop_challenge 目录 1.3d渲染原理 2.步骤 3.代码 生成mask_all 4.难例渲染 物体高反光​编辑​编辑强弱灯光(明暗)​编辑​编辑​编辑物体xyz范围缩小 物体重复 干扰物(自定义干扰物遮…

C#实现身份证格式验证(自建异常实现提醒)

基本信息 中国居民身份证的格式包括18位数字,这些数字分别代表不同的信息: 第1、2位数字表示省份代码。 第3、4位数字表示城市代码。 第5、6位数字表示区县代码。 第7至14位数字表示出生年、月、日(其中7、8、9、10位是年,11、12…

整合SpringSecurity+JWT实现登录认证

一、关于 SpringSecurity 在 Spring Boot 出现之前,SpringSecurity 的使用场景是被另外一个安全管理框架 Shiro 牢牢霸占的,因为相对于 SpringSecurity 来说,SSM 中整合 Shiro 更加轻量级。Spring Boot 出现后,使这一情况情况大有…

python实战之PyQt5桌面软件

一. 演示效果 二. 准备工作 1. 使用pip 下载所需包 pyqt5 2. 下载可视化UI工具 QT Designer 链接:https://pan.baidu.com/s/1ic4S3ocEF90Y4L1GqYHPPA?pwdywct 提取码:ywct 3. 可视化UI工具汉化 把上面的链接打开, 里面有安装和汉化包, 前面的路径还要看…

基于SSM学生信息管理系统

采用技术 基于SSM学生信息管理系统的设计与实现~ 开发语言:Java 数据库:MySQL 技术:SpringMVCMyBatis 工具:IDEA/Ecilpse、Navicat、Maven 页面展示效果 总体功能设计 登录页面 后台首页 学生信息页面 添加学生用户 编辑…

Java代码混淆技术最佳实践与案例分享

摘要 本文探讨了代码混淆在保护Java代码安全性和知识产权方面的重要意义。通过混淆技术,可以有效防止代码被反编译、逆向工程或恶意篡改,提高代码的安全性。常见的Java代码混淆工具如IPAGuard、Allatori、DashO、Zelix KlassMaster和yGuard等&#xff0…

单链表算法库

singlelist.cpp #include "singlelist.h"/************************************************** ①函数名: CreatList_Head 功 能: 头插法建立单链表 参 数: (1)LinkList *&L: 传入的单链表指针地址(2)ElemType Array_used[]:要用来建表的数组(3)int Array_nu…

win 11环境配置 之 python(cmd 输入 python --version 输出为空)

当我安装好python后,在 cmd 终端输入 python 和 python --version 均无任何输出时,就知道有问题。 在 vscode 下载好 python插件后,编写demo文件,可以执行成功。 因此得出原因是 win 环境变量配置有问题 具体错误问题:…

BabySQL【2019极客大挑战】

知识点: 功能分析 登录界面一般是 where username and password 可以从username出手,注释掉and语句单引号闭合绕过 通过测试和报错信息发现是一个单引号读取输入可以单引号闭合绕过关键字过滤 or and 过滤 || &&替换双写绕过select from wher…

飞凌嵌入式即将亮相德国纽伦堡「Embedded World 2024」

2024年德国纽伦堡嵌入式展览会(Embedded World 2024)将于4月9日~4月11日盛大开幕,本届展会将展示最新的电子技术与应用,涵盖了半导体、嵌入式系统、电源、电池、测试仪器、智能制造、电子设计自动化等众多领域,并将汇集…