-
1 # 木木西里
-
2 # 瀟瀟雨歇2000
生活中應用的大多是模糊數學。如拐彎時拐多少度,面孔識別時的匹配搜尋、買菜時的大致估價…這些其實都是數學,有別於理論中的精確計算。
-
3 # 蘇打sda
蟬的生命週期為什麼是13或17這種素數。
這個是鄧俊輝老師在講解“hash函式的除數取餘法為什麼儘量取素數”這個問題時講到的,感覺資料結構和演算法很神奇,大自然更神奇。
“
我們知道在實際應用中,我們所處理的資料通常都具有一定的區域性性。其中一種典型的現象是:資料序列中的資料項 大多是按某一步長單調變化。如果資料序列的步長為S,我們來考察S與M(散列表最大長度)的最大公因子,將其記作G。
而你的資料序列,將從某一個位置開始,以S為間隔,逐次的轉入下一項,以及再下一項。當然如果你的資料序列足夠長,它就有可能會從另一端回到這個空間,並且繼續以S為間隔在雜湊地址空間中逐次訪問下去。
現在考察這個資料序列在雜湊地址空間中留下的足跡,這些足跡能夠遍歷整個散列表空間嗎?如果能,那麼這種雜湊方法就具有均勻性;反之就不具有。
藉助數論的知識不難知道,資料序列的足跡能夠遍佈整個散列表,當且僅當剛才這個最大公因子等於1。請注意,因為可能有不同的程式,而每個程式的每一次執行所對應的這個步長,必然未必相等。也就是說,這裡的M,相對於幾乎任何S最大公因子都只能是1,這意味著什麼呢,意味著M應該是一個素數。
很有意思的是,很多動物,包括一些昆蟲都懂得這個道理。在這裡我們再次向蟬學習,學習它的哲學。昆蟲學告訴我們,蟬有很多變種,每一個變種都有其固定的生命週期,比如有些蟬是13年,而有些卻是17年,為什麼沒有14、15或16呢?
不妨回到我們的散列表。實際上,每一隻蟬的生命週期,都可以對應為一個散列表。蟬的壽命有多長,散列表也就有多長,所以有些種類的蟬所對應的散列表長度為13,有些對應於17,當然也可能是11等等這類的素數。
我們知道在自然界蟬是弱勢群體,它有很多天敵,每一種天敵大致也有一個自己的生命週期,這就相當於我們這裡的步長S,每經過S年,蟬的天敵都會更新一代。當然。蟬不能去改變弱肉強食的法則,它唯一能期望的只能是,在同一年,不要遇到更多的天敵。相應的,反過來,所有的天敵都應該在每一年分佈的更加均勻,這更有利於蟬作為一個物種得以在自然界延續下去。
用數學的語言來說,如果蟬能夠選擇自己的生命週期,那麼自然的就應該選擇與天敵的生命週期保持最大公約數為1,而為了與更多的天敵在生命週期上保持這種關係。儘管蟬有不同的變種 但是在經過長時間的進化之後,每一個變種都會聰明的將其生命週期設定為素數,正像我們所看到的那樣 取做17,13等等。
”
上面這一大長段解釋出自學堂線上的鄧俊輝老師的課《資料結構與演算法》第九章“詞典”第三節“雜湊:雜湊函式”,基本上都取自老師的字幕,略有修改。鄧老師這門課講得太棒了,春風化雨,旁徵博引,極其用心。教材內容、課件製作、講課語言無一不充滿美感。這是一門融計算機、數學、哲學、藝術於一體的課,我也不知道該怎麼誇了,算了,不誇了。
-
4 # 小丁兒
蟬的生命週期為什麼是13或17這種素數。
這個是鄧俊輝老師在講解“hash函式的除數取餘法為什麼儘量取素數”這個問題時講到的,感覺資料結構和演算法很神奇,大自然更神奇。
“我們知道在實際應用中,我們所處理的資料通常都具有一定的區域性性。其中一種典型的現象是:資料序列中的資料項 大多是按某一步長單調變化。如果資料序列的步長為S,我們來考察S與M(散列表最大長度)的最大公因子,將其記作G。
而你的資料序列,將從某一個位置開始,以S為間隔,逐次的轉入下一項,以及再下一項。當然如果你的資料序列足夠長,它就有可能會從另一端回到這個空間,並且繼續以S為間隔在雜湊地址空間中逐次訪問下去。
現在考察這個資料序列在雜湊地址空間中留下的足跡,這些足跡能夠遍歷整個散列表空間嗎?如果能,那麼這種雜湊方法就具有均勻性;反之就不具有。
藉助數論的知識不難知道,資料序列的足跡能夠遍佈整個散列表,當且僅當剛才這個最大公因子等於1。請注意,因為可能有不同的程式,而每個程式的每一次執行所對應的這個步長,必然未必相等。也就是說,這裡的M,相對於幾乎任何S最大公因子都只能是1,這意味著什麼呢,意味著M應該是一個素數。
很有意思的是,很多動物,包括一些昆蟲都懂得這個道理。在這裡我們再次向蟬學習,學習它的哲學。昆蟲學告訴我們,蟬有很多變種,每一個變種都有其固定的生命週期,比如有些蟬是13年,而有些卻是17年,為什麼沒有14、15或16呢?
不妨回到我們的散列表。實際上,每一隻蟬的生命週期,都可以對應為一個散列表。蟬的壽命有多長,散列表也就有多長,所以有些種類的蟬所對應的散列表長度為13,有些對應於17,當然也可能是11等等這類的素數。
我們知道在自然界蟬是弱勢群體,它有很多天敵,每一種天敵大致也有一個自己的生命週期,這就相當於我們這裡的步長S,每經過S年,蟬的天敵都會更新一代。當然。蟬不能去改變弱肉強食的法則,它唯一能期望的只能是,在同一年,不要遇到更多的天敵。相應的,反過來,所有的天敵都應該在每一年分佈的更加均勻,這更有利於蟬作為一個物種得以在自然界延續下去。
用數學的語言來說,如果蟬能夠選擇自己的生命週期,那麼自然的就應該選擇與天敵的生命週期保持最大公約數為1,而為了與更多的天敵在生命週期上保持這種關係。儘管蟬有不同的變種 但是在經過長時間的進化之後,每一個變種都會聰明的將其生命週期設定為素數,正像我們所看到的那樣 取做17,13等等。”
上面這一大長段解釋出自學堂線上的鄧俊輝老師的課《資料結構與演算法》第九章“詞典”第三節“雜湊:雜湊函式”,基本上都取自老師的字幕,略有修改。鄧老師這門課講得太棒了,春風化雨,旁徵博引,極其用心。教材內容、課件製作、講課語言無一不充滿美感。這是一門融計算機、數學、哲學、藝術於一體的課,我也不知道該怎麼誇了,算了,不誇了。
-
5 # 使用者93116175574
我生活中經常遇見了就是加減乘除了嘛。
什麼冪函式,一元幾次方程,而元幾次方程,log,什麼的都用不著。我不是數學老師。最高階的演算法知識就除發了。別的更高階的演算法,已經差不多都還給老師了。
韓寒說的對:初二數學就夠用了。
回覆列表
人生就像動態規劃,你的一個又一個階段是由上天安排的,而你,決定的是在這一階段可以由上一階段的哪些狀態轉移而來。越勤奮,越幸運,並不代表這一次你決策的方向有多麼優秀,卻代表著現在的這一個狀態能夠續寫多少可能的結果。