亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

同為程序員為何你工資這么低?為何BAT面試要面算法?

中國(guó)有80%以上的程序員覺得算法在日常開發(fā)中并沒有實(shí)際用處,殊不知算法只是一種解決問題的思想。

雞兔同籠子問題看算法在編程中的重要性,終于明白為何工資低了

 

而我國(guó)大部分程序員都是沉浸在會(huì)多少個(gè)框架、會(huì)多少門編程語(yǔ)言、實(shí)現(xiàn)過多少個(gè)接口中。在大部分程序員日常開發(fā)中很大一部分工作的目的都只是尋求業(yè)務(wù)功能實(shí)現(xiàn)。但是在BAT,他們面對(duì)的是每日龐大的請(qǐng)求量,除業(yè)務(wù)功能外他們還需要考慮性能、體驗(yàn)、穩(wěn)定性,此時(shí)代碼的效率和嚴(yán)謹(jǐn)性就比功能的實(shí)現(xiàn)更加的來的重要。

 

下面就以最經(jīng)典的雞兔同籠子問題看算法在編程中的重要性,讓大家明白同為程序員為何你工資這么低?看完這下服氣了嗎?

 

雞兔同籠問題

問題(業(yè)務(wù)需求):已知籠子里共有20個(gè)頭56只腳,請(qǐng)問雞和兔子分別有多少只?

普通程序員(實(shí)現(xiàn)業(yè)務(wù)型):

這類程序員只注重業(yè)務(wù)的實(shí)現(xiàn),不會(huì)去深究需求的底層邏輯。在他們眼里循環(huán)是萬(wàn)能的,沒有循環(huán)解決不了的問題,一層不行那就兩層,兩層就行就三層。。。

	for (int i = 0; i <= 20; i++)
	{
		for (int j = 0; j <= 20; j++)
		{
			if( i + j == 20 && 2*i+4*j == 56)
			cout<<"雞:"<<i<<"兔:"<<j<<endl;
		}
	}

稍微會(huì)動(dòng)一點(diǎn)腦思考的,可能會(huì)發(fā)現(xiàn)只需要一層就能實(shí)現(xiàn):

這類程序員在開發(fā)中會(huì)注重到自己代碼的質(zhì)量,盡量減少無謂的代碼和循環(huán),但是仍然沒有涉及到本質(zhì)的算法。

for (int i = 0; i <= 20; i++)
	{
		if(i*2+(20-i)*4 == 56)
		cout<<"雞:"<<i<<"兔:"<<20-i<<endl;	
	}

用一點(diǎn)算法思維來實(shí)現(xiàn)業(yè)務(wù):

問題的本質(zhì)是兔子比雞多2只腳,通過這個(gè)差異來構(gòu)建思路,可以不用任何循環(huán)就實(shí)現(xiàn)業(yè)務(wù)需求

double allRabitFootCount = 20*4  ;
double chickCount = (20*4 - 56)/(4-2) ;
cout<<"雞:"<<chickCount<<"兔:"<<20-chickCount<<endl;	

上述例子中雞兔總數(shù)量比較少,三種實(shí)現(xiàn)運(yùn)行效率都差不多,但是如果雞兔的總數(shù)達(dá)到萬(wàn)億級(jí)別呢?那么這三種方案的效率差距就是顯而易見的。

結(jié)語(yǔ)

很多程序員到現(xiàn)在還粗暴的將算法與數(shù)據(jù)結(jié)構(gòu)畫等號(hào)。

對(duì),目前力扣上的算法題基本全是跟數(shù)據(jù)結(jié)構(gòu)掛鉤的,但是在大家應(yīng)該明白各類數(shù)據(jù)結(jié)構(gòu)當(dāng)初被創(chuàng)造出來也是為了應(yīng)對(duì)越來越豐富的業(yè)務(wù)需求,本質(zhì)也是解決業(yè)務(wù)需求的一種思想。比如鏈表的出現(xiàn)是為了應(yīng)對(duì)更加高效便捷的動(dòng)態(tài)線性數(shù)據(jù)存儲(chǔ)。

算法是一種思想,也是一種讓業(yè)務(wù)更高效、更穩(wěn)定的編程習(xí)慣。

如果大家對(duì)應(yīng)編程更底層、更深入的一些思考感興趣歡迎大家關(guān)注大叔,訂閱下方專欄獲得更多編程知識(shí)

分享到:
標(biāo)簽:算法
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定