程序 = 數(shù)據(jù)結(jié)構(gòu) + 算法?真的是這樣的嗎?

程序 =?框架 + SQL
java.util.ArrayList? java.util.LinkedList?
軟件開發(fā)屬于信息技術(shù),信息技術(shù)本質(zhì)就是對數(shù)據(jù)的處理,既然要處理數(shù)據(jù),那么首先要解決數(shù)據(jù)存儲的問題,也就是將數(shù)據(jù) add 到某個地方,按照某種規(guī)則存儲起來
當(dāng)要用數(shù)據(jù)的時候,就去存儲數(shù)據(jù)的地方,按照一定的規(guī)則查詢指定的數(shù)據(jù),有的時候還需要刪除不用的,或者要更新已經(jīng)存在的數(shù)據(jù),說白了,不就是數(shù)據(jù)的 CRUD 嗎?
說到數(shù)據(jù)的存儲,我們都知道,數(shù)據(jù)是存儲在磁盤中的,但是為了能快速的查詢操作數(shù)據(jù),我們會將數(shù)據(jù)組織成符合查詢要求的結(jié)構(gòu),比如線性結(jié)構(gòu)、樹結(jié)構(gòu)甚至圖結(jié)構(gòu)等,這就是我們所熟知的數(shù)據(jù)結(jié)構(gòu)


程序 = 數(shù)據(jù)結(jié)構(gòu) + 算法 + 設(shè)計模式
做面向數(shù)據(jù)庫的 CRUD 的工作 調(diào)用框架提供的 API?
剛畢業(yè)的應(yīng)屆生,他們要求的薪資比較低,還喜歡干活 剛培訓(xùn)轉(zhuǎn)行 Java 的人,他們剛轉(zhuǎn)行,一開始要求也低

第一個例子:刪除雙向鏈表中指定索引的節(jié)點(diǎn)
第二個例子:平衡二叉樹 - AVL 樹中增加元素時的右旋轉(zhuǎn)操作
給定一個整數(shù)數(shù)組 nums 和一個目標(biāo)值 target
請在數(shù)組中找出和為目標(biāo)值的兩個元素,并返回它們的數(shù)組下標(biāo)
注意:數(shù)組中同一個元素不能使用兩次
示例如下:
輸入:nums = [2,7,11,15], target = 9輸出:[0,1]解釋:因?yàn)?nums[0]?+?nums[1]?==?9?,返回?[0,?1]?。
如果上面的題目描述你沒看懂的話,可以看下面視頻解釋,如果題目你已經(jīng)懂了,下面的視頻可以跳過呢


?? 點(diǎn)「閱讀原文」跟老湯一起拿下數(shù)據(jù)結(jié)構(gòu)與算法,就今天。
