成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

程序員挑戰(zhàn):如何讓一個技術(shù)小白搞懂二分法檢索?

新聞
在向萌新介紹計算機科學(xué)時,教授基本算法可能是很具挑戰(zhàn)性的部分之一。它介于假設(shè)性問題和抽象性思維之間,十分棘手。但或許可以不必這么困難。有一個小眾的觀點:只要能清晰地構(gòu)造問題,任何一位善于思考的人都可以對一個基本算法問題提出優(yōu)秀的解決方案。

 本文轉(zhuǎn)載自公眾號“讀芯術(shù)”(ID:AI_Discovery)

在向萌新介紹計算機科學(xué)時,教授基本算法可能是很具挑戰(zhàn)性的部分之一。它介于假設(shè)性問題和抽象性思維之間,十分棘手。但或許可以不必這么困難。有一個小眾的觀點:只要能清晰地構(gòu)造問題,任何一位善于思考的人都可以對一個基本算法問題提出優(yōu)秀的解決方案。

[[354567]]

不相信嗎?可以找一個朋友試驗一下。我敢打賭,即使他們沒有任何技術(shù)背景,最后他們也能開發(fā)出一個二分法檢索的算法,并且理解這個概念。

 

傳統(tǒng)意義上的二分法檢索問題

以下是Geeks for Geeks上給出的二分法檢索的定義:“給定一個包含n個元素的排序數(shù)組arr[],編寫一個函數(shù)來搜索arr[]中的給定元素x。”

即使我是軟件工程專業(yè),但讀到這里時依然會頭疼。如果用這么復(fù)雜的語言來講述,聽者保證會一只耳朵進,另一只耳朵出。不要這么做。

構(gòu)造好問題是成功的一半。如果想用一種不那么專業(yè)的方法來提問二分法檢索問題,以下是一種很好的方法:“你有一大盒一模一樣的雞蛋,想要測試這些雞蛋的硬度。假設(shè)你在一棟100層的辦公樓里工作,要找到把雞蛋扔下去還完好無損的最高樓層。如何盡快做到這一點?”

雖然不必完全一致,但在構(gòu)建問題時,應(yīng)該記住下列提示。

 

技巧1:把問題當(dāng)作與編程無關(guān)的問題來交流

對于非技術(shù)人員來說,計算機科學(xué)是很“可怕”的。相信我,因為我深有其感。曾經(jīng)有一段時間,我對編程的了解僅限于電視節(jié)目中播放的有關(guān)黑客攻擊的片段。我對它一無所知,只能一臉茫然地聽別人解釋什么是程序或算法。

如今,作為一名軟件開發(fā)人員,我意識到編程實際上并沒有第一眼看起來那么難。計算機語法非常有誤導(dǎo)性。無論你是否有技術(shù)背景,只要你善于思考,都可以想出很棒的算法解決方案。

那么我的建議是什么呢?那就是不要講代碼。別把它當(dāng)成是一個編程問題。這會把他們嚇壞的。

 

程序員挑戰(zhàn):如何讓一個技術(shù)小白搞懂二分法檢索?

 

技巧2:利用常識

“想象一個嚴(yán)格遞增的整數(shù)值的列表…”等等。信息過載了。你也一樣。我的建議是:不要解釋,讓常識幫你做這件事吧。

是的,二分法檢索要求搜索列表需按照一定的順序和方向排列,但不必用那么多的術(shù)語來表達。

我在構(gòu)造問題時,通過使用一棟建筑來類比,將每個潛在值(樓層數(shù))都控制在一個嚴(yán)格遞減的區(qū)間。因為這是現(xiàn)實世界中人們心照不宣的常識。

每個人都知道,如果東西從高處掉落,重力只會把它拉向一個方向——下方。通過常識,人們知道,如果一樣?xùn)|西從某一樓層摔下還能完好無損,那么在比該樓層低的任何一個樓層也都不會摔碎。

常識能比我們更好地解釋問題,好好利用它。畢竟,每個人都更愿意解決適用于現(xiàn)實世界的問題。

 

技巧3:避免使用過多的技術(shù)術(shù)語

你是一個軟件工程師或數(shù)學(xué)專業(yè)的學(xué)生,你喜歡用你們復(fù)雜的術(shù)語交流。但和其他領(lǐng)域一樣,你每天都在說的行話對小白來說幾乎毫無意義。就像一個外科醫(yī)生在向病人解釋的時候,會盡可能簡化說明,所以,應(yīng)該盡量避免使用計算機科學(xué)領(lǐng)域特有的行話。

記住,你是在教別人一個概念,而不是炫耀專業(yè)知識或教他們技術(shù)術(shù)語。

避免使用“臨界”等字眼。雖然“臨界值”在算法世界中可能意義重大,但大多數(shù)非技術(shù)人員并不能意識到這一點。你會注意到我在上文中要求的是最高樓層,而不是“臨界樓層”。

應(yīng)該使用簡單的用語,盡可能用能讓非技術(shù)人員聽明白的語言講述。

是的,你可以定義“臨界”這個詞,但這又有什么意義呢。這個詞對于問題本身是不必要的,它只是添加了一個會分散注意力的信息。對于那些有不必要定義的詞,請?zhí)^它們。

此外你會注意到,我構(gòu)建問題時使用的是100層,而不是二分法檢索問題中常用的n層。

計算機科學(xué)家可能習(xí)慣于把每個問題中的“n”看作是概括問題大小的一種方法,但大多數(shù)人認(rèn)為“n”只是問卷中“no”的縮寫。即使用任意值構(gòu)造的問題可能適用于普遍情況,但任意值不會改變問題的本質(zhì)。

如果想讓別人理解一個問題,就給他們一個很好的整數(shù)作為起點,這樣他們的大腦就會專注在這個問題上。而任意數(shù)字很難概念化。讓他們專注于手頭的問題,而非專注于可視化任意值“n”。

除非絕對必要,否則不要將問題普遍化。先解決問題,再根據(jù)需要進行概括。這是我解決任何算法問題的技巧,但對于同完全沒有技術(shù)背景的人交談時,這一點便尤其重要。

 

小貼士:設(shè)身處地為他們著想

耐心點。做一名你一直想在面試中渴望遇見的那種面試官,在需要時提出提示性問題。

沒有人喜歡待在原地不動,不知道下一步該去哪里,這令人沮喪和尷尬。如果有人陷入困境,請幫助他們。問他們一個問題,讓他們找到正確的方向。或者,如果他們的解決方案是錯誤的,給他們一個不是最優(yōu)的解決方案,而不是直截了當(dāng)?shù)馗嬖V他們答案。

設(shè)身處地為一個沒有技術(shù)背景的人想想,請別人來解決雞蛋掉落的問題會很有意思。你會感到驚訝,原來那么多對編程一無所知的人能解決算法問題。

 

責(zé)任編輯:華軒 來源: 讀芯術(shù)
相關(guān)推薦

2021-12-26 00:10:39

二分法排查版本

2023-12-27 23:30:50

2022-04-13 07:31:20

CAP定理分布式數(shù)據(jù)庫

2018-06-15 14:26:42

2011-03-24 14:15:27

雙TOP二分法分頁

2021-10-19 09:59:25

二分法排序數(shù)組

2017-12-19 15:54:28

工作流Git二分法

2009-03-18 13:12:36

程序員技術(shù)IT行業(yè)

2020-12-04 10:13:09

算法二分法效率

2020-02-22 21:51:43

程序員Microsoft SServerSQL

2018-07-23 08:45:00

程序員能力水平

2022-03-28 10:03:58

二分查找算法

2020-10-05 21:13:37

程序員技能開發(fā)者

2017-02-05 10:21:10

程序員好問題

2015-05-13 14:06:03

程序員糟糕的程序員

2014-01-06 09:33:32

程序員管理

2021-07-01 07:43:41

項目程序員代碼

2020-06-01 09:43:26

程序員互聯(lián)網(wǎng)系統(tǒng)

2016-07-26 13:47:49

程序員新手編程

2015-06-25 09:32:55

JavaScript程序員
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 国产福利在线 | 日韩福利视频 | 色网站在线免费观看 | 久久精品屋 | 亚洲欧洲日韩精品 中文字幕 | 人操人人干人 | av一区二区三区在线观看 | 国产蜜臀97一区二区三区 | 国产精品一区二区精品 | 一区二区三区播放 | 伊人青青久久 | 欧美亚洲一区二区三区 | 国产高清精品一区二区三区 | 免费在线精品视频 | 中文在线播放 | 久久亚洲精品久久国产一区二区 | 精品国产欧美一区二区三区不卡 | 91福利电影在线观看 | 久久男人天堂 | 蜜桃一区 | 国产精品美女在线观看 | 伊人免费在线观看高清 | 免费国产视频在线观看 | 精品一区二区三区免费视频 | 成人免费视频网站在线看 | 国产免费av在线 | 欧美日韩一区二区电影 | 一级久久久久久 | 国产目拍亚洲精品99久久精品 | 九九热热九九 | 亚洲免费三区 | 少妇诱惑av | 久久久久久高潮国产精品视 | 91在线电影| 国产日韩一区二区 | 欧美美女二区 | 中文字幕一区二区三区精彩视频 | 久久久久国产视频 | 国产女人叫床高潮大片免费 | 久久精品a| 欧美精品网 |