徽标
联盟百科
通讯
下载应用,请到 Google Play
新! 在您的Android™设备上下载联盟百科!
自由
比浏览器更快的访问!
 

树 (图论)

指数 树 (图论)

在图论中,树(Tree)是一種無向圖(undirected graph),其中任意两个顶点间存在唯一一條路径。或者说,只要没有回路的连通图就是树。森林是指互相不交并树的集合。树图广泛应用于计算机科学的数据结构中,比如二叉查找树,堆,Trie树以及数据压缩中的霍夫曼树等等。.

27 关系: 堆 (数据结构)不交并并查集广度优先搜索二叉树二元搜尋樹图的遍历图论生成树道路 (图论)顶点顶点 (图论)计算机科学连通图霍夫曼编码邻接矩阵邻接表自由树Trie树 (数据结构)深度优先搜索有向图数据压缩数据结构

在计算机科学中,堆可以指:.

新!!: 树 (图论)和堆 · 查看更多 »

堆 (数据结构)

堆(Heap)是计算机科学中一类特殊的数据结构的统称。堆通常是一个可以被看做一棵树的数组对象。在队列中,调度程序反复提取队列中第一个作业并运行,因为实际情况中某些时间较短的任务将等待很长时间才能结束,或者某些不短小,但具有重要性的作业,同样应当具有优先权。堆即为解决此类问题设计的一种数据结构。《数据结构与算法分析》 Mark Allen Weiss(美)第六章,优先队列(堆)。.

新!!: 树 (图论)和堆 (数据结构) · 查看更多 »

不交并

在集合論,一組集合的不交并指的是一種修改過的并集運算,除了普通的并集,還標記了元素的來源。不交并還有另一個意義,指的是兩兩不交的集合的并集。.

新!!: 树 (图论)和不交并 · 查看更多 »

并查集

在计算机科学中,并查集是一种树型的数据结构,用于处理一些不交集(Disjoint Sets)的合并及查询问题。有一个联合-查找算法(union-find algorithm)定义了两个用于此数据结构的操作:.

新!!: 树 (图论)和并查集 · 查看更多 »

广度优先搜索

广度优先搜索算法(Breadth-First-Search,縮寫為BFS),又譯作寬度優先搜索,或橫向優先搜索,是一種圖形搜索演算法。簡單的說,BFS是從根節點開始,沿着树的宽度遍历树的节点。如果所有节点均被访问,则算法中止。广度优先搜索的实现一般采用open-closed表。.

新!!: 树 (图论)和广度优先搜索 · 查看更多 »

二叉树

在電腦科學中,二元樹(Binary tree)是每個節點最多只有兩個分支(即不存在分支度大於2的節點)的樹結構。通常分支被稱作“左子樹”或“右子樹”。二元樹的分支具有左右次序,不能随意顛倒。 二元樹的第i層至多擁有2^個節點;深度為k的二元樹至多總共有2^\begin k+1 \end-1個節點(定义根节点所在深度 k_0.

新!!: 树 (图论)和二叉树 · 查看更多 »

二元搜尋樹

二叉查找树(Binary Search Tree),也--有序二叉树(ordered binary tree)或排序二叉树(sorted binary tree),是指一棵空树或者具有下列性质的二叉树:.

新!!: 树 (图论)和二元搜尋樹 · 查看更多 »

图可以指:.

新!!: 树 (图论)和图 · 查看更多 »

图的遍历

图遍历问题分为四类:.

新!!: 树 (图论)和图的遍历 · 查看更多 »

图论

图论(Graph theory)是组合数学的一个分支,和其他数学分支,如群论、矩阵论、拓扑学有着密切关系。图是图论的主要研究对象。图是由若干给定的顶点及连接两顶点的边所构成的图形,这种图形通常用来描述某些事物之间的某种特定关系。顶点用于代表事物,连接两顶点的边则用于表示两个事物间具有这种关系。 图论起源于著名的柯尼斯堡七桥问题。该问题于1736年被欧拉解决,因此普遍认为欧拉是图论的创始人。 图论的研究对象相当于一维的单纯复形。.

新!!: 树 (图论)和图论 · 查看更多 »

生成树

在图论中,無向圖 G 的生成树是具有 G 的全部顶点,但边数最少的子圖。 以V表示顶点,E表示边.若图 G.

新!!: 树 (图论)和生成树 · 查看更多 »

道路 (图论)

在图论中,一个图中一条道路(path)是一个顶点序列,使得从它的每个顶点有一条边到该序列中下一顶点。一条道路可能是无穷的,但有限道路有一个最先顶点,称为起点,和最后顶点,称为末点。两者都成为这条道路的端点。道路中其它顶点成为内点。一个圈是起点与末点相同的道路。注意到一个圈中起点的选取是任意的。 道路与圈是图论中的基本概念,在大部分图论教材中的绪论一节会介绍。例如参见 Bondy and Murty (1976)、Gibbons (1985) 或 Diestel (2005)、Korte et al.

新!!: 树 (图论)和道路 (图论) · 查看更多 »

顶点

顶点是数学和计算机科学等领域的术语,在不同的环境中有不同的意义。 在平面几何学中,顶点是指多边形两条边相交的地方,或指角的两条边的公共端点。 在立体几何学中,顶点是指在多面体中三个了了或更多的面连接的地方。 在图论中,顶点(vertex,node)可以理解为一个事物(object),而一张图则是由顶点的集合和顶点之间的连接构成的。 在计算机绘图中,顶点是空间中的一个点,一般由它的坐标表示。两个点可以确定一条直线,三个点可以确定一个平面。 在粒子物理学中,頂點是指粒子發生相互作用的點,例如LHC中兩粒子對撞產生反應的那個點就是頂點。.

新!!: 树 (图论)和顶点 · 查看更多 »

顶点 (图论)

在数学中,更确切地说,在图论中,一个顶点(多个顶点)或节点是构成图的基本单位:一个无向图包括一个顶点的集合和一个边(顶点的无序对)的集合,而一个有向图包括一个顶点的集合和一个弧(顶点的有序对)的集合。在一个图的示意图中,一个顶点通常表示为一个带标号的圆形,而一条边表示为连接两个顶点的一条直线或一个箭头。 站在图论的角度上,顶点被视为无特征且不可分割的对象,虽然因为该图的用途不同,他们可能有额外的结构;例如,一个语义网络是一个图,其顶点表示的是概念或对象的类别。 两个被一条边所连接的顶点称作该边的端点,且可以说该边从一个点入射向另一个点。 如果一个图包含一条边(v,w),则可以说顶点w相邻顶点v。顶点v的邻域是该图的一个诱导子图,由所有与v相邻的顶点组成。.

新!!: 树 (图论)和顶点 (图论) · 查看更多 »

计算机科学

计算机科学用于解决信息与计算的理论基础,以及实现和应用它们的实用技术。 计算机科学(computer science,有时缩写为CS)是系统性研究信息与计算的理论基础以及它们在计算机系统中如何与应用的实用技术的学科。 它通常被形容为对那些创造、描述以及转换信息的算法处理的系统研究。计算机科学包含很多分支领域;有些强调特定结果的计算,比如计算机图形学;而有些是探討计算问题的性质,比如计算复杂性理论;还有一些领域專注于怎样实现计算,比如程式語言理論是研究描述计算的方法,而程式设计是应用特定的程式語言解决特定的计算问题,人机交互则是專注于怎样使计算机和计算变得有用、好用,以及随时随地为人所用。 有时公众会误以为计算机科学就是解决计算机问题的事业(比如信息技术),或者只是与使用计算机的经验有关,如玩游戏、上网或者文字处理。其实计算机科学所关注的,不仅仅是去理解实现类似游戏、浏览器这些软件的程序的性质,更要通过现有的知识创造新的程序或者改进已有的程序。 尽管计算机科学(computer science)的名字里包含计算机这几个字,但实际上计算机科学相当数量的领域都不涉及计算机本身的研究。因此,一些新的名字被提议出来。某些重点大学的院系倾向于术语计算科学(computing science),以精确强调两者之间的不同。丹麦科学家Peter Naur建议使用术语"datalogy",以反映这一事实,即科学学科是围绕着数据和数据处理,而不一定要涉及计算机。第一个使用这个术语的科学机构是哥本哈根大学Datalogy学院,该学院成立于1969年,Peter Naur便是第一任教授。这个术语主要被用于北欧国家。同时,在计算技术发展初期,《ACM通讯》建议了一些针对计算领域从业人员的术语:turingineer,turologist,flow-charts-man,applied meta-mathematician及applied epistemologist。 三个月后在同样的期刊上,comptologist被提出,第二年又变成了hypologist。 术语computics也曾经被提议过。在欧洲大陆,起源于信息(information)和数学或者自动(automatic)的名字比起源于计算机或者计算(computation)更常见,如informatique(法语),Informatik(德语),informatika(斯拉夫语族)。 著名计算机科学家Edsger Dijkstra曾经指出:“计算机科学并不只是关于计算机,就像天文学并不只是关于望远镜一样。”("Computer science is no more about computers than astronomy is about telescopes.")设计、部署计算机和计算机系统通常被认为是非计算机科学学科的领域。例如,研究计算机硬件被看作是计算机工程的一部分,而对于商业计算机系统的研究和部署被称为信息技术或者信息系统。然而,现如今也越来越多地融合了各类计算机相关学科的思想。计算机科学研究也经常与其它学科交叉,比如心理学,认知科学,语言学,数学,物理学,统计学和经济学。 计算机科学被认为比其它科学学科与数学的联系更加密切,一些观察者说计算就是一门数学科学。 早期计算机科学受数学研究成果的影响很大,如Kurt Gödel和Alan Turing,这两个领域在某些学科,例如数理逻辑、范畴论、域理论和代数,也不断有有益的思想交流。.

新!!: 树 (图论)和计算机科学 · 查看更多 »

边是一个几何图形两个相邻顶点之间线段,边长指這線段的長度。假如连接两个端点的是一段曲线,数学上稱為弧。 在图论中,边(Edge,Line)是两个事物间某种特定关系的抽象化。两个事物间有联系,则这两个事物代表的顶点间就连有边,用一根直线或曲线表示。 在某些教科书,边长也用于表示在一个封闭的平面几何图形中的所有连接相邻断点的线段的长度的总和,参见周长。.

新!!: 树 (图论)和边 · 查看更多 »

连通图

在图论中,连通图基于连通的概念。在一个无向图G中,若从顶点v_i到顶点v_j有路径相连(当然从v_j到v_i也一定有路径),则称v_i和v_j是连通的。如果G是有向图,那么连接v_i和v_j的路径中所有的边都必须同向。如果图中任意两点都是连通的,那么图被称作连通图。图的连通性是图的基本性质。.

新!!: 树 (图论)和连通图 · 查看更多 »

霍夫曼编码

霍夫曼編碼(Huffman Coding),又譯為哈夫曼编码、赫夫曼编码,是一種用於无损数据压缩的熵編碼(權編碼)演算法。由美國計算機科學家大衛·霍夫曼(David Albert Huffman)在1952年發明。.

新!!: 树 (图论)和霍夫曼编码 · 查看更多 »

邻接矩阵

邻接矩阵是表示一个图的常用存储表示。它用两个数组分别存储数据元素(顶点)的信息和数据元素之间的关系(边或弧)的信息。 距離矩陣可算是鄰接矩陣的擴充。.

新!!: 树 (图论)和邻接矩阵 · 查看更多 »

邻接表

在图论中,邻接表代表一个图中的所有边或弧。 如果是无向图,那么每条边由两个结点组成,分别代表边的两个端点;如果是有向图,那么每条边是一个结点对,分别代表边的始点和终点。 一般来说,邻接表是无向的。.

新!!: 树 (图论)和邻接表 · 查看更多 »

自由树

自由树就是一个无回路的连通图(没有确定根,在自由树中选定一顶点做根,则成为一棵通常的树)。从根开始,为每个顶点(在树中通常称作结点)的孩子规定从左到右的次序,则它就成为一棵有序树。 Category:图论 Category:計算機算術.

新!!: 树 (图论)和自由树 · 查看更多 »

Trie

在计算机科学中,trie,又称前缀树或字典樹,是一种有序树,用于保存关联数组,其中的键通常是字符串。与二叉查找树不同,键不是直接保存在节点中,而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串,而根节点对应空字符串。一般情况下,不是所有的节点都有对应的值,只有叶子节点和部分内部节点所对应的键才有相关的值。 Trie这个术语来自于retrieval。根据词源学,trie的发明者Edward Fredkin把它读作 "tree"。但是,其他作者把它读作 "try"。 在图示中,键标注在节点中,值标注在节点之下。每一个完整的英文单词对应一个特定的整数。Trie可以看作是一个确定有限状态自动机,尽管边上的符号一般是隐含在分支的顺序中的。 键不需要被显式地保存在节点中。图示中标注出完整的单词,只是为了演示trie的原理。 trie中的键通常是字符串,但也可以是其它的结构。trie的算法可以很容易地修改为处理其它结构的有序序列,比如一串数字或者形状的排列。比如,bitwise trie中的键是一串位元,可以用于表示整数或者内存地址。.

新!!: 树 (图论)和Trie · 查看更多 »

树 (数据结构)

在計算機科學中,樹(tree)是一种抽象数据类型(ADT)或是實作這種抽象数据类型的数据结构,用來模擬具有樹狀結構性質的数据集合。它是由n(n>0)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:.

新!!: 树 (图论)和树 (数据结构) · 查看更多 »

深度优先搜索

深度优先搜索算法(Depth-First-Search,DFS)是一种用于遍历或搜索树或图的算法。沿着树的深度遍历树的节点,尽可能深的搜索树的分支。当节点v的所在边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点,则选择其中一个作为源节点并重复以上过程,整个进程反复进行直到所有节点都被访问为止。属于盲目搜索。 深度优先搜索是图论中的经典算法,利用深度优先搜索算法可以产生目标图的相应拓扑排序表,利用拓扑排序表可以方便的解决很多相关的图论问题,如最大路径问题等等。 因发明“深度优先搜索算法”,約翰·霍普克洛夫特与罗伯特·塔扬共同获得计算机领域的最高奖:图灵奖。.

新!!: 树 (图论)和深度优先搜索 · 查看更多 »

有向图

#重定向 图 (数学)#术语.

新!!: 树 (图论)和有向图 · 查看更多 »

数据压缩

在计算机科学和信息论中,数据压缩或者源编码是按照特定的编码机制用比未经编码少的数据位元(或者其它信息相关的单位)表示信息的过程。例如,如果我们将「compression」编码为「comp」那么这篇文章可以用较少的数据位表示。常見的例子是ZIP文件格式,此格式不仅仅提供压缩功能,还可作为归档工具(Archiver),能够将许多文件存储到同一个文件中。.

新!!: 树 (图论)和数据压缩 · 查看更多 »

数据结构

在计算机科学中,数据结构(data structure)是计算机中存储、组织数据的方式。 数据结构意味着介面或封装:一个数据结构可被视为两个函数之间的介面,或者是由数据类型联合组成的存储内容的访问方法封装。 大多数数据结构都由数列、记录、可辨识联合、引用等基本类型构成。举例而言,可為空的引用(nullable reference)是引用与可辨识联合的结合体,而最简单的链式结构链表则是由记录与可空引用构成。 数据结构可透过程式语言所提供的数据类型、引用及其他操作加以实现。一个设计良好的数据结构,应该在尽可能使用较少的时间与空间资源的前提下,支援各種程式執行。 不同种类的数据结构适合不同种类的应用,部分資料結構甚至是為了解決特定問題而設計出來的。例如B树即為加快樹狀結構存取速度而設計的資料結構,常被應用在資料庫和檔案系統上。 正確的数据结构選擇可以提高演算法的效率(請參考)。在電腦程式设计的過程裡,选择适当的数据结构是一項重要工作。许多大型系统的編寫经验顯示,程式設計的困难程度与最终成果的质量与表现,取决于是否选择了最適合的数据结构。 系統架構的关键因素是数据结构而非算法的見解,导致了多种形式化的设计方法与编程语言的出现。绝大多数的语言都带有某种程度上的模块化思想,透过将数据结构的具体实现封装隐藏于使用者介面之后的方法,来让不同的应用程序能够安全地重用这些数据结构。C++、Java、Python等面向对象的编程语言可使用类 (计算机科学)来達到這個目的。 因为数据结构概念的普及,现代编程语言及其API中都包含了多种預設的数据结构,例如 C++ 标准模板库中的容器、Java集合框架以及微软的.NET Framework。.

新!!: 树 (图论)和数据结构 · 查看更多 »

重定向到这里:

森林 (图论)樹 (圖論)

传出传入
嘿!我们在Facebook上吧! »