日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python算法的三种描述是什么_基于Python的产品经理必备算法描述

發布時間:2024/5/14 python 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python算法的三种描述是什么_基于Python的产品经理必备算法描述 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原標題:基于Python的產品經理必備算法描述

產品經理需要懂點算法,作者用案例描述了幾種產品經理的必備算法。

未來的世界,一定是信息科技主導的世界。未來的任何產品,都離不開信息科技的支撐。不論你是哪個領域的產品經理,掌握一些基礎的算法,是非常有必要的。

而如今的一些比較優秀的產品經理,如蘋果產品創造人喬布斯,小米產品創造人雷軍,QQ產品創始人馬化騰,微信產品負責人張小龍,或多或少都有技術背景。當然,并不是說產品經理必須要有技術背景,因為有些沒有技術背景的產品經理做的也不錯。

本文想要表達的意思是,產品經理掌握一些基礎的算法,可以為自己的產品設計,產品邏輯,產品形態起到錦上添花的作用。因此,本文結合作者這些年的工作經驗,梳理出幾個比較簡單基礎的算法。

這些基礎算法,的確可以在產品設計過程中發揮作用,可以使產品經理在設計產品時,產品邏輯更加清晰,可以更加全面掌握產品特性。

本文的程序算法,使用大家比較常見的Python語言進行描述。

基礎算法 排序算法

排序算法有很多種,如冒泡排序、選擇排序、稀爾排序、歸并排序、堆排序、插入排序、快速排序等。如果是計算機專業這幾種算法應該是相當熟悉了,如果不是計算機專業的學生,其實全部掌握也沒必要。

用什么排序不重要,主要是知道其中的邏輯。

為了便于大家理解,還是直接以實例的形式進行講解;實例不是很復雜,主要是方便大家理解邏輯。

目前有一個數組,數組里是6個數,我們需要將這個數組里的數按從小到大順序排列。

待排序的數組:arr=[4,6,3,9,1,3]

基本實現思路:

構建一個臨時存放數據的參數:temp。

從數組中第一個元素開始,依次對兩個相鄰的元素進行比較,如果左側的數字大于右側的數字,則交換位置,交換位置,就需要用到temp。

運算過程:arr[0]=4,arr[1]=6,4<6,滿足條件,則繼續

arr[2]=3,而6>3,則需要將 arr[1]和arr[2]交換位置,令temp =aar[1],這時temp的值是6,arr[1]=arr[2],這時arr[1]的值為3,arr[2]=temp,arr[2]值為6。

arr[2]=6,再與arr[3]=9作比較,滿足條件。

arr[3]=9再與arr[4]=1作比較,9大于4,交換。則arr[3]=1,arr[4]=9。

arr[4]=9再與arr[5]=3作比較,9大于3,交換。則arr[4]=3,arr[5]=9。

這時的數組順序變為[4,3,6,1,3,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]

我們為了驗證我們的思路,程序代碼如下:

聚類算法

當然,以上這些算法專業性太強了。如果不從事專門領域的工作,產品經理用到這些算法的可能性也很小。

本文今天講一個最為基礎的聚類算法,非常便于大家理解。

我們還是以數組為例,arr=[1,1,2,3,5,4,5,4,2,3,3,1,3,3,4,5],我們的所謂的聚類,就是要統計這個數組中每個數字出現的次數,最終我們想到達到這樣的輸出結果:

1出現3次

2出現2次

3出現5次

4出現3次

5出現3次

基本實現思路:

我們首先計算數字的長度,根據長度進行遍歷。

構建一個字典。當并數組中的值作為字典的key,出現的次數作為value。

如果某個元素沒有在字典中,則記錄這個元素為key,value初始為1。

如果某個元素已經存在在字典中,則更新這個元素的value+1。

遍歷完成,輸出字典值。

我們為了驗證我們的思路,程序代碼如下:

由于我們是沒有排序的,所以輸出順序與之前預想的順序有些差異。如果需要排序,則可以先將原數組中的數據排序后,再進行計算。

旋轉算法

旋轉的應用大家應該不陌生,最常見的就是手機或是電腦中查看照片的時候,照片的左轉右轉。圖片旋轉、視頻旋轉、文字內容旋轉,其實歸根到底都是數字矩陣的旋轉。

所有的這些表現形式,底層都是一個個二進制的數字組成的。接下來,我們就是要在最基礎的邏輯展開分析。

我們還是以數組進行講解。

我們有數組 arr=[[1,2,3],[4,5,6]],準備向右旋轉90度。為了便于大家理解,我這樣表示:

原數組:

[1,2,3]

[4,5,6]

我們認為,數組的寬度[1,2,3]=3,為x軸;數組的高度2,為y軸。

向右旋轉90度的后數組:

[3,6]

[2,5]

[1,4]

這時,寬度x變為2,高度y變為3。

基本實現思路:

1)我們觀查上述數組發現,向右旋轉90度后,組的維度由 2*3,變為了3*2。

2)而數字位置變化如下:

1:[0][0]->[2][0]

2:[0][1]->[1][0]

3:[0][2]->[0][0]

4:[1][0]->[2][1]

5:[1][1]->[1][1]

6:[1][2]->[0][1]

3)我們觀察上述數字變化,大家發現什么規律?每個數的數組x和y坐標都左右進行了對調,變換后的y坐標是原x坐標的倒序。

4)進行對原數組寬度x(設為i)和高度y(設為j)的遍歷,x遍歷i的增加,正是新數字的坐標的減少。

即:新數組位置([x-1-i][j]=舊數組位置([j][i])

我們為了驗證我們的思路,程序代碼如下:

為了便于大家理解,將原數組的值在遍歷的時候也進行了輸出展示。

我們再思維擴展一下,按我們這種思路,如果數組要向左旋轉90度呢?

原數組:

[1,2,3]

[4,5,6]

向左旋轉90度之后的數組:

[4,1]

[5,2]

[6,3]

即:

1:[0][0]->[0][1]

2:[0][1]->[1][1]

3:[0][2]->[2][1]

4:[1][0]->[0][0]

5:[1][1]->[1][0]

6:[1][2]->[2][0]

大家又會發現什么規律呢?

是不是新數組y坐標同原數組x坐標增長趨勢一致,而新數組x的坐標,是原數組x坐標的倒序?

也就是說,對原數組寬度x(設為i)和高度y(設為j)的遍歷,高度y遍歷j的增加,正是新數字的x坐標的減少。即:新數組位置([i][y-1-j]=舊數組位置([j][i])

我們為了驗證我們的思路,程序代碼如下:

經過上述分析,大家是不是對旋轉算法有了一個清晰的認識?

如果想旋轉180度呢?如果大家有興趣,可以按照上述思路進行分析實踐。

總結

對于產品經理而言,精通本領域的基礎知識,熟悉業務與產品模式是必須具備的技能。而于算法的了解和掌握,可以起到錦上添花的作用。

算法,是鍛煉產品經理的邏輯思維相對比較好的訓練工具。有興趣的同學,可以多看一些這方向的書籍,也有很多比較有意思的算法,可以在工作之余練練手,調節一下心情。畢竟產口經理的日常,不僅僅是寫個需求,更多的,還要看市場、看政策、看方向、看競品、懂運營、懂業務、懂管理、懂營銷、會分析、會溝通、會寫PPT,需要做的工作內容還很多。

而至于最終的產品能不能成功,還要看運氣。個人的力量太渺小了,很多產品經理的成功,其實是趕上了趨勢。處在大環境上升趨勢的時候,覺得自己的能力很強,其實有時候也是一種誤判。結果大環境一旦發生變化,處在下降趨勢的時候,往往就會把前幾年靠運氣積累的財富,這些年憑本事賠光了。

所以說,產品經理太難了。

正因為如此,產品經理需要時刻保持清醒客觀的頭腦,而算法是一個相當不錯的朋友,當你驕傲時讓你冷靜,當你自卑時給你信心,當你迷茫時給你方向。

感謝大家閱讀~

作者:王佳亮,中國計算機學會(CCF)會員。微信公眾號:佳佳原創

本文由 @佳佳原創 原創發布于人人都是產品經理,未經許可,禁止轉載

題圖來自Unspalsh, 基于CC0協議返回搜狐,查看更多

責任編輯:

總結

以上是生活随笔為你收集整理的python算法的三种描述是什么_基于Python的产品经理必备算法描述的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。