产品经理必掌握的基础算法_第1页
产品经理必掌握的基础算法_第2页
产品经理必掌握的基础算法_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、未来的世界,一定是信息科技主导的世界。未来的任何产品,都离不开信息科技的支撑。不论你是哪个领域的产品经理,掌握一些基础的算法,是非常有必要的。而如今的一些比较优秀的产品经理,如苹果产品创造人 乔布斯,小米产品创造人一一雷军,QQ产品创始人一一马化腾,微信产品负责人 张小龙,或多或少都有技术背景。当然,并不是说产品经理必须要有技术背景,因为有些没有技术背景的产品经理做的也不错。而本文想要表达的意思是,产品经理掌握一些基础的算法,可以为自己的产品设计,产品逻辑,产品形态起到锦上添花的作用。因此,本文结合作者这些年的工作经验,梳理出几个比较简单基础的算法,而且这些基础算法,的确可以在产品设计过程中发

2、挥作用,可以使产品经理在设计产品时,产品逻辑更加清晰,可以更加全面掌握产品特性。本文的程序算法,使用大家比较常见的Python语言进行描述。排序算法有很多种,如冒泡排序、选择排序、稀尔排序、归并排序、堆排序、插入排序、快速排序等。如果是计算机专业这几种算法应该是相当熟悉了,如果不是计算机专业的学生,其实全部掌握也没必要。用什么排序不重要,主要是知道其中的逻辑。为了便于大家理解,还是直接以实例的形式进行讲解。实例不是很复杂,主要是方便大家理解逻辑。目前有一个数组,数组里是 6 个数,我们需要将这个数组里的数按从小到大顺序排列。待排序的数组:arr=4,6,3,9,1,3基本实现思路:(1)构建一

3、个临时存放数据的参数:temp。( 2)从数组中第一个元素开始,依次对两个相邻的元素进行比较,如果左侧的数字大于右侧的数字,则交换位置,交换位置,就需要用到tempo (3)运算过程:arr0=4, arr1=6, 43,贝U 需要将arr1和arr2交换位置,令temp=aar1,这时temp的值是6,arr1=arr2,这时 arr1的值为 3, arr2=temp, arr2值为 6。 (5) arr2=6 , 再与 arr3=9 作比较,满足条件。(6) arr3=9 再与 arr4=1 作比较, 9 大于4,交换。则 arr3=1 , arr4=9 。( 7) arr4=9 再与 a

4、rr5=3 作比较, 9 大于 3,交换。则 arr4=3, arr5=9。(8)这时的数组顺序变为4,3,6,1,3,9。(9) 继续从数组的第一个元素开始,重复上述过程。我们接下来看一下按照以上思路,数组中的元素是如何变化的:第一次: 4,3,6,1,3,9第二次: 3,4,1,3,6,9第三次:3,1,3,4,6,9第四次:1,3,3,4,6,9我们为了验证我们的思路,程序代码如下:聚类算法在实际生产生活中用途比较广泛,像数据统计分析,人工智能识别物体,信息分类归集等。比较常见的聚类算法有:凝聚层次聚类、图团体检测 (Graph Community Detection)、 K-Means

5、(K 均值) 聚类、均值漂移聚类、基于密度的聚类方法(DBSCAN)、高斯混合模型(GMM)的最大期望(EM)聚类 等。当然,以上这些算法专业性太强了。如果不从事专门领域的工作,产品经理用到这些算法的可能性也很小。本文今天讲一个最为基础的聚类算法,非常 便于大家理解。我们还是以数组为例,arr=1,1,2,3,5,4,5,4,2,3,3,1,3,3,4,5我们的所谓的聚 类,就是要统计这个数组中每个数字出现的次数。最终我们想到达到这样的输出结果:出现3 次出现2 次 TOC o 1-5 h z 出现5 次出现3 次出现3 次基本实现思路:( 1)我们首先计算数字的长度,根据长度进行遍历。(2)

6、构建一个字典。当并数组中的值作为字典的key,出现的次数作为value。(3)如果某个元素没有在字典中,则记录这个元素为key, value初始为 1。(4)如果某个元素已经存在在字典中,则更新这个元素的value+1。( 5)遍历完成,输出字典值。我们为了验证我们的思路,程序代码如下:由于我们是没有排序的,所以输出顺序与之前预想的顺序有些差异。如果需要排序,则可以先将原数组中的数据排序后,再进行计算。旋转的应用大家应该不陌生。最常见的就是手机或是电脑中查看照片的时候,照片的左转右转。图片旋转、视频旋转、文字内容旋转,其实归根到底都是数字矩阵的旋转。因为所有的这些表现形式,底层都是一个个二进制

7、的数字组成的。接下来,我们就是要在最基础的逻辑展开分析。我们还是以数组进行讲解。我们有数组 arr=1,2,3,4,5,6 ,准备向右旋转90度。为了便于大家理解,我这样表示:原数组: 1,2,34,5,6我们认为,数组的宽度 1,2,3=3 ,为 x 轴。数组的高度2,为 y 轴。向右旋转90度的后数组:,51,4这时,宽度x变为2,高度y变为3。基本实现思路:1、我们观查上述数组发现,向右旋转 90 度后,组的维度由 2*3 ,变为了 3*2 。 2、而数字位置变化如下:1:00-202:01-103:02-004:10-215:11-116:12-013、我们观察上述数字变化,大家发现什

8、么规律没?每个数的数组x 和 y 坐标都左右进行了对调,变换后的 y 坐标是原 x 坐标的倒序。4、进行对原数组宽度x (设为i)和高度y (设为j)的遍历,x遍历i的增加,正是新数字的坐标的减少。即:新数组位置( x-1-ij= 旧数组位置( ji) 我们为了验证我们的思路,程序代码如下:为了便于大家理解,将原数组的值在遍历的时候也进行了输出展示。我们再思维扩展一下,按我们这种思路,如果数组要向左旋转 90 度呢?原数组:1,2,34,5,6向左旋转 90度之后的数组: 4,15,26,3 即: 1:00-012:01-113:02-214:10-005:11-106:12-20大家又会发现

9、什么规律呢?是不是新数组y 坐标同原数组x 坐标增长趋势一致,而新数组x 的坐标,是原数组x 坐标的倒序?也就是说,对原数组宽度x(设为i)和高度y (设为j)的遍历,高度y遍历j的增加,正是新数字的x坐标的减少。即:新数组位置( iy-1-j= 旧数组位置( ji) 我们为了验证我们的思路,程序代码如下:经过上述分析,大家是不是对旋转算法有了一个清晰的认识?如果想旋转180 度呢?这个大家有兴趣,可以按照上述思路进行分析实践。对于产品经理而言,精通本领域的基础知识,熟悉业务与产品模式是必须具备的技能。而对于算法的了解和掌握,可以起到锦上添花的作用。算法,是锻炼产品经理的逻辑思维相对比较好的训练工具。有兴趣的同学,可以多看一些这方向的书籍,也有很多比较有意思的算法,可以在工作之余练练手,调节一下心情。毕竟产口经理的日常,不仅仅是写个需求,更多的,还要看市场、看政策、看方向、看竞品、懂运营、懂业务、懂管理、懂营销、会分析、会沟通、会写PPT。需要做的工作内容还很多。而至于最终的产品能不能成功,还 要看运气。个人的力量太渺小了,很多产品经理的成功,其实是赶上了趋势。处在大环境上升趋势的时候

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论