fbpx
维基百科

集合 (计算机科学)

在计算机科学中,集合是一组可变数量的数据项(也可能是0个)的组合,这些数据项可能共享某些特征,需要以某种操作方式一起进行操作。一般来讲,这些数据项的类型是相同的,或基类相同(若使用的语言支持继承)。列表(或数组)通常不被认为是集合,因为其大小固定,但事实上它常常在实现中作为某些形式的集合使用。

集合的种类包括列表多重集枚举类型可以是列表或集。

列表 编辑

列表中,数据项的顺序是确定的,也可以存在多个相同的数据项。列表支持的操作包括查找项目并找到其位置(若存在),将项目从列表中删除,在特定位置插入项目等。通常的队列,或称FIFO即是一个列表,该列表只能在一端添加项目,而在另一端删除项目。而,或LIFO则只能在同一端添加或删除项目。不管是队列还是栈,集合中项目的顺序都应当是一定的,因此这两种情况只是列表的特例。其它列表支持的操作包括排序,再一次说明了其中顺序的重要性。

列表的具体形式包括数组链表等。

编辑

与列表不同,在中,数据项是无序的,也不允许存在相同数据项。集支持添加、删除和查找项目。一些语言内建对集的支持,而在其它语言中,可以利用散列表实现集。

多重集 编辑

多重集的行为类似于集,其中数据项是无序的。但在多重集中,可以存在相同的数据项。多重集支持的操作包括添加、删除项,查询相同项在多重集中出现的次数。多重集可以通过排序转换成列表。

关联数组 编辑

关联数组(或称查找表字典等)的行为和字典相似,为(例如字典中的单词)输入提供一个(如字典中的定义)输出。可以是对复杂数据结构的引用。通常使用散列表实现高效率的关联数组。

编辑

 
二叉树是树的一种类型

中,“根”节点与一定数量的数据项以亲-子关系联系起来,而其子数据项也与另外的数据项以同样的方式联系。除了根节点的每个项都有且只有一个父节点,并可能有一些子节点。树支持的操作包括遍历,插入等。用于排序操作的树通常称为。通常使用树来保存存在包含亲-子关系的数据,例如菜单,目录及其中文件等。

编辑

 
一张6节点图

中,每个数据项都可以与一个或多个其它数据项联系起来,其中每个节点都是平等的,类似于无根节点、无亲-子关系的树。图支持的操作包括遍历,查找等。图常常用于对实际问题进行建模,并解决这些问题。在生成树协议中,建立一张代表网络结构的图(或称网格),从而了解应当断开哪些链路以避免数据回圈。

抽象概念及其实现 编辑

如上所述,集合,以及集合的各种分类都只是抽象概念。由于名字相同或相似,集合及其在各种语言中的实现常常会造成文字上的混淆。集合,列表,集,树等名字究竟是数据结构,抽象数据类型抑或类只能通过具体分析来确定。其中,集合则是计算问题的解决方案中抽象程度最高的概念。从这个方面来看,若过于关注其实现,则可能会对理解集合的数学概念产生反作用。

参见 编辑

外部链接 编辑

  • Apache Commons Collections (页面存档备份,存于互联网档案馆
  • Google Collections (页面存档备份,存于互联网档案馆
  • — A profiler for Java's Collections Framework.
  • ActionScript3 implementation of the most common collections.

集合, 计算机科学, 在计算机科学中, 集合是一组可变数量的数据项, 也可能是0个, 的组合, 这些数据项可能共享某些特征, 需要以某种操作方式一起进行操作, 一般来讲, 这些数据项的类型是相同的, 或基类相同, 若使用的语言支持继承, 列表, 或数组, 通常不被认为是集合, 因为其大小固定, 但事实上它常常在实现中作为某些形式的集合使用, 集合的种类包括列表, 多重集, 树和图, 枚举类型可以是列表或集, 目录, 列表, 多重集, 关联数组, 抽象概念及其实现, 参见, 外部链接列表, 编辑主条目, 列表, 计算. 在计算机科学中 集合是一组可变数量的数据项 也可能是0个 的组合 这些数据项可能共享某些特征 需要以某种操作方式一起进行操作 一般来讲 这些数据项的类型是相同的 或基类相同 若使用的语言支持继承 列表 或数组 通常不被认为是集合 因为其大小固定 但事实上它常常在实现中作为某些形式的集合使用 集合的种类包括列表 集 多重集 树和图 枚举类型可以是列表或集 目录 1 列表 2 集 3 多重集 4 关联数组 5 树 6 图 7 抽象概念及其实现 8 参见 9 外部链接列表 编辑主条目 列表 计算机科学 在列表中 数据项的顺序是确定的 也可以存在多个相同的数据项 列表支持的操作包括查找项目并找到其位置 若存在 将项目从列表中删除 在特定位置插入项目等 通常的队列 或称FIFO即是一个列表 该列表只能在一端添加项目 而在另一端删除项目 而栈 或LIFO则只能在同一端添加或删除项目 不管是队列还是栈 集合中项目的顺序都应当是一定的 因此这两种情况只是列表的特例 其它列表支持的操作包括排序 再一次说明了其中顺序的重要性 列表的具体形式包括数组 链表等 集 编辑主条目 集合 数学 与列表不同 在集中 数据项是无序的 也不允许存在相同数据项 集支持添加 删除和查找项目 一些语言内建对集的支持 而在其它语言中 可以利用散列表实现集 多重集 编辑主条目 多重集 多重集的行为类似于集 其中数据项是无序的 但在多重集中 可以存在相同的数据项 多重集支持的操作包括添加 删除项 查询相同项在多重集中出现的次数 多重集可以通过排序转换成列表 关联数组 编辑主条目 关联数组 关联数组 或称查找表 字典等 的行为和字典相似 为键 例如字典中的单词 输入提供一个值 如字典中的定义 输出 值可以是对复杂数据结构的引用 通常使用散列表实现高效率的关联数组 树 编辑主条目 树 数据结构 nbsp 二叉树是树的一种类型在树中 根 节点与一定数量的数据项以亲 子关系联系起来 而其子数据项也与另外的数据项以同样的方式联系 除了根节点的每个项都有且只有一个父节点 并可能有一些子节点 树支持的操作包括遍历 插入等 用于排序操作的树通常称为堆 通常使用树来保存存在包含亲 子关系的数据 例如菜单 目录及其中文件等 图 编辑主条目 图 数据结构 nbsp 一张6节点图在图中 每个数据项都可以与一个或多个其它数据项联系起来 其中每个节点都是平等的 类似于无根节点 无亲 子关系的树 图支持的操作包括遍历 查找等 图常常用于对实际问题进行建模 并解决这些问题 在生成树协议中 建立一张代表网络结构的图 或称网格 从而了解应当断开哪些链路以避免数据回圈 抽象概念及其实现 编辑如上所述 集合 以及集合的各种分类都只是抽象概念 由于名字相同或相似 集合及其在各种语言中的实现常常会造成文字上的混淆 集合 列表 集 树等名字究竟是数据结构 抽象数据类型抑或类只能通过具体分析来确定 其中 集合则是计算问题的解决方案中抽象程度最高的概念 从这个方面来看 若过于关注其实现 则可能会对理解集合的数学概念产生反作用 参见 编辑数据结构外部链接 编辑Apache Commons Collections 页面存档备份 存于互联网档案馆 Google Collections 页面存档备份 存于互联网档案馆 Mango Java library CollectionSpy A profiler for Java s Collections Framework AS3Commons Collections Framework ActionScript3 implementation of the most common collections 取自 https zh wikipedia org w index php title 集合 计算机科学 amp oldid 70525497, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。