产品经理的技术修行笔记——数据结构篇

如题所述

第1个回答  2022-06-01
懂技术是产品经理的加分项,这是毋庸置疑的。为了经营好这一个加分项,产品经理要为自己的技术能力定制一个修行计划。很多同学在产品入门的时候都会考虑到一个问题——产品经理需要懂技术吗?这个问题也许没有准确的答案,但是一个懂技术的产品经理确实有很明显的优势。

一方面产品经理在日常工作中,接触到最多的一类人,就是程序员,懂技术能减少与技术同学的沟通成本;另一方面,许多成功的产品经理都是技术出身,因为可以从更全面的维度去规划产品的未来。

本文将与大家分享数据类型相关的基础知识,希望可以共同学习,共同进步。

一、基础名词理解

数据:对客观事物的符号表示,在计算机科学中指所有能输入到计算机中,并被计算机程序处理的符号的总称。

数据项:是组成数据对象的不可分割的最小单位。

数据元素:是数据的基本单位,在计算机程序中通常作为一个整体进行处理。数据元素可以由数据项组成。

数据对象:性质相同的数据元素的集合,是一个数据的一个子集。

为了更清晰地对以上几个名词进行理解,举一个简单的例子:

以学生为例,这里引进几个名词,某班级,学生张三,学生张三的学号与姓名。在这个例子中,学生张三就是一个数据元素,它由张三的学号与姓名组成。那么学号、姓名就是数据项,张三和某班级的其他学生性质相同,并且共同组成了这个某班级。那么某班级就是学生数据元素的集合,即一个数据对象,可以表示为:班级={学生1,学生2,学生3........}。

了解了基本的数据概念,再来看看数据结构与数据类型:

数据结构:相互之间存在一种或多种特定关系的数据元素的集合。

存储结构:数据结构在计算机中的表示(映射),即数据的物理结构。

数据类型:一个值的集合和定义在这个值集上的一组操作的总称。

抽象数据类型:ADT,一个数学模型以及定义在该模型上的一组操作。

还是以学生为例,再引进一个新的名词——学生名单表。

学生名单表就属于数据结构的一种——表结构。学生信息中可能存在年龄,以数字来进行描述,那么年龄就可能是整型这种数据类型的一个字段。

总结来说,数据结构定义了一组按照某些关系结合在一起的数组元素,数据类型不仅定义了一组带结构的数据元素,而且还在其上定义了一组操作。

以下为基本的数据类型整理:

二、基础数据结构类型整理

1.  线性表

定义:线性表是最常用且是最简单的一种数据结构。形如:a1、a2、a3…an,这样含有有限的数据序列,我们就称之为线性表。

相关概念:

线性链表:用一组任意的存储单元存储线性表的数据元素。

数据域:存储数据元素的域。

指针域:存储直接后继存储位置的域。

举例理解:一年12个月,就可表示为线性表的形式,因为每个月只有一个直接前驱和一个直接后继。线性表的顺序结构表示的时候,它的最大的缺点就是在插入和删除的时候,需要移动大量的元素。

2.  栈和队列

定义:

栈是指限定仅在表尾进行插入或者删除操作的线性表,表尾端称为栈顶,表头端称为栈底。

队列是指只允许在一端进入插入,另一端进行删除的线性表,插入端称为队尾,删除端称为队头。

区别表现为:栈为“后进先出”,队列为“先进先出”。

举例理解:栈和队列都是我们在进行产品逻辑设计时经常使用到,比如:我们进行一个有层级顺序的页面设计时,设定顺序为:页面1->页面2->页面3,当用户在页面3 时,点击返回,必须先返回页面2,才能继续返回到页面1,这就是栈的设计设计思维。

3. 串

定义:串是零个或多个字符组成的有限序列。一般记S=‘a1a2....an ’其中,S是串名,单引号括起的字符序列是串值;ai(1〈=i〈=n)可以是字母,数字或其它字符。

相关概念:

串的长度:串中所包含的字符个数为该串的长度。

空串:长度为零的串称为空串,它不包含任何字符。

举例理解:串多用于字段的联结或者分解。举例来说:常见的综艺名称”综艺名+更新时间“,就是通过将综艺名字段与综艺更新时间字段这两个串进行联结,最终展现给用户一个合并形成的综艺名称。

4 . 树

定义:树形结构是非线性的数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。

相关概念:

度:结点拥有的子树的数量称为树的度。

二叉树:每个结点至多有2个子树且子树有左右之分,次序不能颠倒,这样的树称为二叉树。

举例理解:比较常见的微信公众号的顶部菜单和视频网站的分类导航,就采用了树的设计思维。

三、总结

对于非技术型产品经理而言,不需要深入了解每个数据结构的函数、方法,但是了解并理解数据结构的基本概念与特点,不但可以在产品逻辑、业务流程设计时,借鉴数据结构相关的设计思维,而且可以减少和技术同学沟通的成本,更好地相互理解。
相似回答
大家正在搜