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

产品刘

共 1746字,需浏览 4分钟

 ·

2021-06-26 02:36



今天给产品经理普及一下数据结构的相关知识,数据结构是指相互之间存在一种或多种特定关系的数据元素的集合,从字面意思来看,就是数据的结构,所谓的结构就是组成整体各部分的搭配和安排,所以数据结构就是数据存储的结构。

在现实世界中,我们在描述一个物体或者一件事情的时候,会描述这个物体的构成或者事物的过程,那在计算机世界中,我们如何描述一件物体或者一件事情呢?答案就是通过数据结构,常见的数据结构数组、栈、队列、串、树等,我们接下来就来一一介绍它们:



数组:

数组的本质是储存、管理、操作一组变量,我们看下列的联系人表格:

$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交流。

此外我们的官方网站也上线了,每日分享高质量的文章、原型素材和行业报告,小伙伴可自行前往索取,支持搜索,需要的小伙伴可点击底部的阅读原文直接查看,或者复制网址www.dadaghp.com 打开。
更多干货可关注微信公众号:产品刘
想学习更多关于产品、职场、心理、认知等干货,可长按右边二维码,关注我们。
··················END··················

RECOMMEND

推荐阅读
Axure实例:即刻 app 产品需求文档
滴滴秋招笔试题
线下实战2.0
B端产品和C端产品的用户调研区别

点击“阅读原文”

查看更多干货

浏览 23
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报