国产chinesehdxxxx野外,国产av无码专区亚洲av琪琪,播放男人添女人下边视频,成人国产精品一区二区免费看,chinese丰满人妻videos

算法無(wú)處不在

2023-09-13 17:30 更新

當(dāng)我們聽(tīng)到“算法”這個(gè)詞時(shí),很自然地會(huì)想到數(shù)學(xué)。然而實(shí)際上,許多算法并不涉及復(fù)雜數(shù)學(xué),而是更多地依賴于基本邏輯,這些邏輯在我們的日常生活中處處可見(jiàn)。

在正式探討算法之前,有一個(gè)有趣的事實(shí)值得分享:你已經(jīng)在不知不覺(jué)中學(xué)會(huì)了許多算法,并習(xí)慣將它們應(yīng)用到日常生活中了。下面,我將舉幾個(gè)具體例子來(lái)證實(shí)這一點(diǎn)。

例一:查閱字典。在字典里,每個(gè)漢字都對(duì)應(yīng)一個(gè)拼音,而字典是按照拼音字母順序排列的。假設(shè)我們需要查找一個(gè)拼音首字母為 r 的字,通常會(huì)按照?qǐng)D 1-1 所示的方式實(shí)現(xiàn)。

  1. 翻開(kāi)字典約一半的頁(yè)數(shù),查看該頁(yè)的首字母是什么,假設(shè)首字母為 m 。
  2. 由于在拼音字母表中 r 位于 m 之后,所以排除字典前半部分,查找范圍縮小到后半部分。
  3. 不斷重復(fù)步驟 1. 和 步驟 2. ,直至找到拼音首字母為 r 的頁(yè)碼為止。



圖 1-1   查字典步驟

查閱字典這個(gè)小學(xué)生必備技能,實(shí)際上就是著名的二分查找算法。從數(shù)據(jù)結(jié)構(gòu)的角度,我們可以把字典視為一個(gè)已排序的“數(shù)組”;從算法的角度,我們可以將上述查字典的一系列操作看作是“二分查找”。

例二:整理?yè)淇恕?/b>我們?cè)诖蚺茣r(shí),每局都需要整理?yè)淇伺疲蛊鋸男〉酱笈帕?,?shí)現(xiàn)流程如圖 1-2 所示。

  1. 將撲克牌劃分為“有序”和“無(wú)序”兩部分,并假設(shè)初始狀態(tài)下最左 1 張撲克牌已經(jīng)有序。
  2. 在無(wú)序部分抽出一張撲克牌,插入至有序部分的正確位置;完成后最左 2 張撲克已經(jīng)有序。
  3. 不斷循環(huán)步驟 2. ,每一輪將一張撲克牌從無(wú)序部分插入至有序部分,直至所有撲克牌都有序。

撲克排序步驟

圖 1-2   撲克排序步驟

上述整理?yè)淇伺频姆椒ū举|(zhì)上是“插入排序”算法,它在處理小型數(shù)據(jù)集時(shí)非常高效。許多編程語(yǔ)言的排序庫(kù)函數(shù)中都存在插入排序的身影。

例三:貨幣找零。假設(shè)我們?cè)诔匈?gòu)買了 69 元的商品,給了收銀員 100 元,則收銀員需要找我們 31 元。他會(huì)很自然地完成如圖 1-3 所示的思考。

  1. 可選項(xiàng)是比 31 元面值更小的貨幣,包括 1 元、5 元、10 元、20 元。
  2. 從可選項(xiàng)中拿出最大的 20 元,剩余 31?20=11 元。
  3. 從剩余可選項(xiàng)中拿出最大的 10 元,剩余 11?10=1 元。
  4. 從剩余可選項(xiàng)中拿出最大的 1 元,剩余 1?1=0 元。
  5. 完成找零,方案為 20+10+1=31 元。

貨幣找零過(guò)程

圖 1-3   貨幣找零過(guò)程

在以上步驟中,我們每一步都采取當(dāng)前看來(lái)最好的選擇(盡可能用大面額的貨幣),最終得到了可行的找零方案。從數(shù)據(jù)結(jié)構(gòu)與算法的角度看,這種方法本質(zhì)上是“貪心”算法。

小到烹飪一道菜,大到星際航行,幾乎所有問(wèn)題的解決都離不開(kāi)算法。計(jì)算機(jī)的出現(xiàn)使我們能夠通過(guò)編程將數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)在內(nèi)存中,同時(shí)編寫(xiě)代碼調(diào)用 CPU 和 GPU 執(zhí)行算法。這樣一來(lái),我們就能把生活中的問(wèn)題轉(zhuǎn)移到計(jì)算機(jī)上,以更高效的方式解決各種復(fù)雜問(wèn)題。

Tip

如果你對(duì)數(shù)據(jù)結(jié)構(gòu)、算法、數(shù)組和二分查找等概念仍感到一知半解,請(qǐng)繼續(xù)往下閱讀,這本書(shū)將引導(dǎo)你邁入數(shù)據(jù)結(jié)構(gòu)與算法的知識(shí)殿堂。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)

<rt id="rgdim"></rt><label id="rgdim"><xmp id="rgdim"><li id="rgdim"></li>
  • <s id="rgdim"></s>