作家
登录

如何组织你的数据?这里有十种常见的数据结构解读

作者: 来源: 2018-03-20 19:39:22 阅读 我要评论

Hash table 时光复杂度:

7.二叉搜刮树

树是由节点构成的数据构造,它具有以下特点:

  • 每棵树都有一个根节点(位于顶部)。
  • 根节点具有零个或多个子节点。
  • 每个子节点都有零个或多个子节点。

二叉搜刮树还具有额外的两个特点:

  • 每个节点最多有两个子节点.
  • 对于每个节点,它左边的子节点小于当前节点,而右边的子节点则大年夜于当前节点。
  • 每个节点最多有两个子节点。

二叉搜刮树许可快速查找、添加和删除内容。 大年夜它的设计构造来看,每次比较后都邑跳过树的大年夜约一半内容,是以每次查找、插入或删除须要的操作时光与存储在树中的内容数量的对数成比例。

二叉树时光复杂度:

前缀树或字典树,是一种搜刮树。 前缀树中存储数据的每个步调其实就是操作一个节点,它平日被用来存储悼?船可以进行快速查找,例如单词主动构成功能。

说话字典树中的每个节点都包含一个单词典一个字母。 你可以按照树状构造的一条分支拼写出一个单词。 当字母的次序与字典中的其他单词不合或者一个单词完成时,开端分支。每个节点都包含一个字母(数据)和一个布尔值(用于指导该节点是否是单词中的最后一个节点)。

看看膳绫擎的图像,你可以构成很多单词。大年夜顶部的根节点开端并往下,这个字典树包含了ball, bat, doll, do, dork, dorm, send, sense这些单词。

9.二叉堆

二叉堆是特别的树数据构造。情势上看,它大年夜顶点开端,每个节点有两个子节点,每个子节点又各自有本身的两个子节点;数值上看,每个节点的两个子节点都比它大年夜或小。

社交收集是典范的图的例子,节点是人,边代表他们互相熟悉的关系。

二叉堆有两种:最大年夜堆和最小堆。最大年夜堆:父结点的键值老是大年夜于或等于任何一个子节点的键值;最小堆:父结点的键值老是小于或等于任何一个子节点的键值。

在二叉堆上可以进行插入节点、删除节点、掏出值最小的节点、减末节点的值等根本操作。不合层之间的次序很重要,但同一层上节点的次序可有可无。 如图所示,你可以看到最小堆的第三层的值是10,6和12,这些数字并不是按照次序分列的。

二叉堆时光复杂度:

10. 图

图是由节点(也称为顶点)与它们之间的连接(称为边)构成的集合。图也被称为收集。

重要有两种类型的图:有向和无向。无向图是指在节点之间的边膳绫腔有任何偏向的图。相反,有向图表示每条边上都有偏向的图。

表示图的两种常用方法是邻居表和邻居矩阵:

邻居列表,表示一个列表的捉崾登节点,右侧列出了它所连接的所有其他节点。

邻居矩阵,则是一个数字网格。个中每个行或列表示图中的不合节点。每一行和一列的交点是一个表示关系的数字。0表示没有边或没有关系,1表示有一种关系,而大年夜于1的数字则可表示不合的权重。

经由过程遍历算法可以遍历或拜访图中的节点。遍历算法的重要类型有广度优先搜刮和深度优先搜刮,可以被用于肯定节点与根节点的接近程度。不雅看下面的视频你可以进修到如安在JavaScript中实现广度优先搜刮。

邻居列表的时光复杂度:

来源:Medium

【编辑推荐】

  1. 大年夜数据分析:正在进行云驱动的改变
  2. 大年夜数据猜测:将来最吸金的范畴
  3. 用大年夜数据打假助力“世界无假”
  4. “大年夜数据杀熟”的套路都在这里了
  5. 大年夜数据杀熟:无关技巧,关乎伦理
【义务编辑:未丽燕 TEL:(010)68476606】

  推荐阅读

  这里有73条关于自动驾驶的特写,描绘了一个你可能将会走进的未来世界

沙龙晃荡 | 3月31日 京东、微博、华为拭魅战专家与你合营商量容器技巧实践! 7.与大年夜多半州的灵活车部分一样,驾照将慢慢消掉。当人们不再持有驾驶执照时,可能会出现其他情势的身份证>>>详细阅读


本文标题:如何组织你的数据?这里有十种常见的数据结构解读

地址:http://www.17bianji.com/lsqh/40785.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)