查看原文
其他

产品经理学技术之数据结构

刘大大a 产品刘 2023-01-12
今天给产品经理普及一下数据结构的相关知识,数据结构是指相互之间存在一种或多种特定关系的数据元素的集合,从字面意思来看,就是数据的结构,所谓的结构就是组成整体各部分的搭配和安排,所以数据结构就是数据存储的结构。
在现实世界中,我们在描述一个物体或者一件事情的时候,会描述这个物体的构成或者事物的过程,那在计算机世界中,我们如何描述一件物体或者一件事情呢?答案就是通过数据结构,常见的数据结构数组、栈、队列、串、树等,我们接下来就来一一介绍它们:


数组:
数组的本质是储存、管理、操作一组变量,我们看下列的联系人表格:
$li_xm='张三';联系人中每一行都是一个人的信息,每个信息还是不同的类型,如果在程序中需要处理这些联系人的信息,就需要这样定义(以php举例):
$li_xm='张三';
$li_xb='男';
$li_nl=18;
$li_gs='A';
这只是张三一个人的信息,如果有成千上万条像张三这样的信息呢?
这个时候就需要数组出马了,可以用数组来储存张三的信息。如下所示:
$xiaoli=arry('张三','男',18,'A')
上面的代码就是根据张三信息创建的数组。
所以数据就是一些列数据的集合,【张三、男、18、A】这些数据在数组中被称之为元素。
上面我们知道怎么用一组元素来储存张三的信息,可是怎么从数组中取出这些元素呢?其实数组是使用索引来对应每个元素的,如下图:
在产品设计中,尤其是列表型的产品设计,类似商品列表,就是把所有需要展示的数据储存在数组中,然后通过接口展示在列表界面。默认情况下索引是不用来定义的,系统已经帮我们做好了,默认数组使用从0开始的数字依次递增来对应每个元素,这种使用数字作为索引的数组就被成为索引数组。

栈:
栈是指限定仅在表尾进行插入或者删除操作的线性表,表尾端称为栈顶,表头端称为栈底。
如下图:a1在栈底,an在栈顶,你可以把他理解为一个底部封口,顶部开放的一个容器,数据元素从开口处进入叫做入栈,从开口处取出叫做出栈,所以要想把底部的元素取出,就需要把其他的元素先移除出去。
栈在我们的产品设计中经常用到,比如我们在进行一个有层级顺序的页面设计时,设定的顺序从A>B>C,那返回的时候也是先从C页面返回到B页面,然后再到A页面。

队列:
队列和栈一样,都是受到一定规则限制的数据结构。队列是一种特殊的线性表,只允许在表的头部(front处)进行删除操作(也就是出队),在表的尾部(rear处)进行插入操作操作(也就是入队),这种数据结构就叫做队列。进行插入操作的一端称为队尾,进行删除操作的一端称为队尾。
比如在产品设计中,注册页面需要填写的内容比较多,就分步骤让用户填写,分一步、两步、三步,这个时候就需要用户先做好第一步,然后才能操作接下里的二三步。

树:
树是一种分层数据的抽象模型。现实生活中最常见的树的例子就是是公司的组织架构图:
树上的一个元素往往叫做一个节点,每个树状结构都有一个“根”节点,也就是树根,从树根出发可以延申出“枝干节点”,树干结构末端的节点我们称之为“叶子节点”。
树状结构一般应用在产品的结构设计、权限系统设计和用户层级设计等设计场景,比如微信下面的四个切换tab,就是根节点控制的4个子节点。
想进一步学习数据产品经理知识的小伙伴可点击:手把手教你做数据产品经理

最后,我建立了各大城市的产品交流群,想进群小伙伴加微信:yw5201a1  我拉你进群。

关注微信公众号:产品刘 可领取大礼包一份。

··················END··················
今日报告:车百智库发布智能电动汽车后市场新机遇与新挑战,下载报告去公众号:硬核刘大  后台回复“智能电动汽车后市场”,即可下载完整PDF文件。
申明:报告版权归 车百智库 所有,此处仅限分享学习使用,如有侵权,请联系小编做删除处理。

RECOMMEND
推荐阅读
浅谈如何落地To G产品规划
面试一对一辅导
手把手教你做B端产品经理
B端——复杂业务表单设计

点击“阅读原文”

查看更多干货

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存