當一開始學習到《概率分析和隨機演算法》時,一頭霧水,這裡倒底是想幹什麼呢?概率在演算法裡有什麼作用?另外為什麼要使用隨機演算法?如果你不熟悉概率論的基本知識,就更會抓狂。由此可見,要學習計算機不懂數學,是不行的。如果想學會演算法,不懂數學就更加不行了,在這裡無論怎麼強調數學的重要性都不為過。有人曾經說過,21世紀的文盲不是不會讀書識字,而是不懂數學,現在是人工智慧時代、大資料時代,利用數學的機會更多了。
首先來解決第乙個問題,就是概率在演算法中有什麼用。要理解這個,得從乙個問題中進行理解,這個問題在書中描述如下:
假如你要僱傭一名新的辦公助理。你先前的僱傭嘗試都失敗了,於是你決定找乙個僱傭**。僱傭**每天給你推薦乙個應聘者。你面試這個人,然後決定是否僱傭他。你必須付給僱傭**一小筆費用,以便面試應聘者。然而要真的僱傭乙個應聘者需要花更多的錢,因為你必須辭掉目前的辦公助理,還要付一大筆中介費用給僱傭**。你承諾在任何時候,都要找最適合的人來擔任這項職務。因此,你決定在面試完每個應聘者後,如果該應聘者比目前的辦公助理更合適,就會辭掉當前的辦公助理,然後聘用新的。你願意為該策略付費,但希望能夠估算該費用會是多少。
把這個問題簡化一下,也就是使用數學的語言來總結一下,就是這樣:假設面試費用為ci,僱傭的費用為ch,假設整個過程中僱傭了m次,於是總的費用是 nci+mch。由於n是
漫畫演算法 學習筆記(11)
2.二叉堆堆自我調整 3.二叉堆的 實現 二叉堆 本質上是一種完全二叉樹,它分兩個型別。什麼是最大堆?最大堆 最大堆的任何乙個父節點的值,都大於或等於它左 右孩子節點的值。什麼是最小堆?最小堆 最小堆的任何乙個父節點的值,都小於或等於它左 右孩子節點的值。二叉堆的根節點叫作堆頂。最大堆和最小堆堆特點...
學習筆記1 1
1.virtual修飾符會被 繼承的。private 也被整合,只事派生類沒有訪問許可權而已。virtual可加可不加。子類的空間裡有父類的所有變數 static除外 同乙個函式只存在乙個實體 inline除外 子類覆蓋它的函式不加virtual 也能實現多型。在子類的空間裡,有父類的私有變數。私有...
學習筆記 11
tcp ip 是網際網路的基礎。tcp代表傳輸控制協議。ip代表網際網路協議。目前有兩個版本的ip,即ipv4和ipv6。ipv4使用32位位址,ipv6則使用128位位址。本節圍繞ipv4進行討論,它仍然是目前使用最多的ip版本。tcp ip的組織結構分為幾個層級,通常稱為tcp ip堆疊。主機是...