热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

集合(数学)和数组(编程)之间的关系

集合(数学)和数组(编程)之间的关系我们在数学中学习的“集合”主题在计算机科学中得到了广泛的应用。对于计算机编程来说尤其如此

集合(数学)和数组(编程)之间的关系

我们在数学中学习的“集合”主题在计算机科学中得到了广泛的应用。 对于计算机编程来说尤其如此。

计算机编程中的数组是一种数据结构,具有带有索引的项目列表。 而“数学中的集合”是一组定义明确的独特项目的列表。

数组基本上是带有索引的集合。

相似之处:

  1. 两者都是数据结构
  2. 两者都有一个项目清单
  3. 两者都有可以执行的操作,例如联合,相交等

差异:

套装:

  1. 不允许重复的物品
  2. 它没有包含项的索引
  3. 不能取走特定项目,必须逐个遍历,直到找到或找不到为止

数组:

  1. 它允许重复的项目
  2. 它包含的每个项目都有索引
  3. 可以使用给定索引获取特定项目

此外,为了显示在集合和数组中执行的操作的相似性,我将使用PHP数组和提供的函数的示例。

假设我们有三个数组$ u,$ a和$ b。 $ u是同时包含$ a和$ b的通用数组。

$u = [1,2,3,4,5,6,7,8,9]; $a = [1,2,3]; $b = [1,2,3,4,5];

1.联盟

$ a和$ b的并集可以如下所示:

$a_union_b = $a + $b; echo 'a_union_b = [' . implode(',', $a_union_b) . ']
';

如果运行代码,则会得到:

a_union_b = [1,2,3,4,5]

2.交叉路口

同样,$ a和$ b的交集:

$a_intersection_b = array_intersect($a, $b); echo 'a_intersection_b = [' . implode(',', $a_intersection_b) . ']
';

将为我们提供以下输出:

a_intersection_b = [1,2,3]

3.差异(AB)

$a_diff_b = array_diff($a, $b); echo 'a_diff_b = [' . implode(',', $a_diff_b) . ']
';

给出输出:

a_diff_b = []

4.差异(BA)

$b_diff_a = array_diff($b, $a); echo 'b_diff_a = [' . implode(',', $b_diff_a) . ']
';

给出输出:

b_diff_a = [4,5]

5.补语

$a_complement = array_diff($u, $a); echo 'a_complement = [' . implode(',', $a_complement) . ']
';

给出输出:

a_complement = [4,5,6,7,8,9]

6.三角洲B

$a_delta_b = $a_diff_b + $b_diff_a; echo 'a_delta_b = [' . implode(',', $a_delta_b) . ']
';

给出输出:

a_delta_b = [4,5]

因此,我们可以看到它们在许多方面都是相似的,并且也存在一些差异。

感谢您阅读本文,希望您喜欢它。 如果发现有帮助,请别忘了拍手和分享:)

您可能感兴趣的其他系列:

  • PHP软件构架第1部分:MVC
  • PHP测试驱动开发第1部分:简介

From: https://hackernoon.com/relation-between-sets-mathematics-and-arrays-programming-e2b2035307f3



推荐阅读
  • 在springmvc框架中,前台ajax调用方法,对图片批量下载,如何弹出提示保存位置选框?Controller方法 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 给定一个二维平面上的一些点,通过计算曼哈顿距离,求连接所有点的最小总费用。只有任意两点之间有且仅有一条简单路径时,才认为所有点都已连接。给出了几个示例并给出了对应的输出。 ... [详细]
  • Redis底层数据结构之压缩列表的介绍及实现原理
    本文介绍了Redis底层数据结构之压缩列表的概念、实现原理以及使用场景。压缩列表是Redis为了节约内存而开发的一种顺序数据结构,由特殊编码的连续内存块组成。文章详细解释了压缩列表的构成和各个属性的含义,以及如何通过指针来计算表尾节点的地址。压缩列表适用于列表键和哈希键中只包含少量小整数值和短字符串的情况。通过使用压缩列表,可以有效减少内存占用,提升Redis的性能。 ... [详细]
  • This article discusses the efficiency of using char str[] and char *str and whether there is any reason to prefer one over the other. It explains the difference between the two and provides an example to illustrate their usage. ... [详细]
  • 添加环境光使正方体显示更真实
    本文介绍了如何给正方体添加环境光以使其显示更真实。通过在代码中加入环境光的计算,可以让物体的背光部分不再完全黑色,从而增加物体的真实感。代码中使用了顶点属性、光照颜色、光照方向、环境光等参数来计算物体的漫反射,并将计算结果与顶点颜色相乘得到最终的颜色。通过调整环境光的参数,可以达到不同的光照效果。 ... [详细]
  • Whatsthedifferencebetweento_aandto_ary?to_a和to_ary有什么区别? ... [详细]
  • 本文讨论了微软的STL容器类是否线程安全。根据MSDN的回答,STL容器类包括vector、deque、list、queue、stack、priority_queue、valarray、map、hash_map、multimap、hash_multimap、set、hash_set、multiset、hash_multiset、basic_string和bitset。对于单个对象来说,多个线程同时读取是安全的。但如果一个线程正在写入一个对象,那么所有的读写操作都需要进行同步。 ... [详细]
author-avatar
黑_猫__警_长
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有