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

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

   数栈君   发表于 2024-07-03 10:43  173  0
在现实世界中,我们在描述一个物体或者一件事情的时候,会描述这个物体的构成或者事物的过程,那在计算机世界中,我们如何描述一件物体或者一件事情呢?答案就是通过数据结构,常见的数据结构数组、栈、队列、串、树等,我们接下来就来一一介绍它们:
http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/0dff2d01bf93e544f13ad1e9596c66cc..jpg


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

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

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

树:
树是一种分层数据的抽象模型。现实生活中最常见的树的例子就是是公司的组织架构图:
http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/a6aa617d4227672e5a03d37c474b5e88..jpg
树上的一个元素往往叫做一个节点,每个树状结构都有一个“根”节点,也就是树根,从树根出发可以延申出“枝干节点”,树干结构末端的节点我们称之为“叶子节点”。
http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user1/article/46f4595b8778b6dc6f302011c28a45aa..jpg
树状结构一般应用在产品的结构设计、权限系统设计和用户层级设计等设计场景,比如微信下面的四个切换tab,就是根节点控制的4个子节点。

本文系转载,版权归原作者所有,

转载自公众号 产品刘 ,如若侵权请联系我们进行删除!  


《行业指标体系白皮书》下载地址:https://www.dtstack.com/resources/1057/?src=bbs

《数据治理行业实践白皮书》下载地址:https://www.dtstack.com/resources/1001/?src=bbs

《数栈V6.0产品白皮书》下载地址:https://www.dtstack.com/resources/1004/?src=bbs

想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=bbs

同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术群」,交流最新开源技术信息,群号码:30537511,项目地址:https://github.com/DTStack

0条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

最新活动更多
微信扫码获取数字化转型资料
钉钉扫码加入技术交流群