同夥過去口試激發我要說的乙個小話題

2021-07-29 23:14:14 字數 847 閱讀 3824

起初qq上我就用遞迴和非遞迴的情勢構建單鏈表答覆了他,先給了乙個遞迴的版本,這個沒成績,能夠消化,而後給了乙個非遞迴的版本,看了以後就扛不住了。

在許多家公司口試,也包括在攜程,大多都會被問到一些演算法的成績,此中機票事業部的口試,基本上算是演算法成績的重災區,沒方法,有幾個引導愛好用資料布局來考人家,此中包括一些罕見資料布局的繁雜度和手寫一些演算法,好比快排,單鏈表等等,頭幾天我乙個保舉過去的同夥膝蓋就被中了一箭。

標題就不方便詳細說了,第一小問便是用非遞返來構建乙個單鏈表,咱們曉得構建單鏈表能夠說是學資料布局的基本功,一說到用鏈式布局,它跟遞迴又有了千頭萬緒的接洽,許多鏈式的成績,咱們用遞迴就能夠輕輕鬆鬆的辦理,險些不需要動一下頭腦,然則假如用非遞迴的話,那就輕微比遞迴要繁雜一點了,最少會多考乙個援用範例記憶體分派的成績。

這個非遞迴不理解的處所在於暫時變數temp,提出的成績便是為何:「temp.next=node」 以後,head的值發生了轉變?我想之所以不能理解,絕逼是對援用範例的記憶體分派不了解,而這個非遞迴版本恰好便是用援用範例這個記憶體分派技能來完成 」非遞迴構建單鏈表「。。。為了不讓他人踩上這個坑,我照樣大概說一下流程,大概是如許的,當咱們在new乙個援用範例的時刻,clr就要盤算例項欄位和一切基類上的例項欄位的鉅細,而後再在堆上分派正當的記憶體塊,末了把堆上的記憶體塊的首地點保留在棧下面。

能夠看到這時刻instance4就布局到了instance3以後,同時temp.next曾經是保留instance4的記憶體地點,這一些操尷尬刁難head來講都是通明的,它也不論前面怎樣操縱,當你遍歷head的時刻會驚異的發明竟然我的鍊錶中多了乙個instance4,這個也便是同夥懷疑的處所,假如看到這個記憶體分派圖的話,大概會名頓開,固然這篇博文沒什麼技巧含量,也是本身暫時有感而發。

遞迴參考:

我的乙個朋友過來面試引發我要說的乙個小話題

在很多家公司面試,也包括在攜程,大多都會被問到一些演算法的問題,其中機票事業部的面試,基本上算是演算法問題的重災區,沒辦法,有幾個領導喜歡 用資料結構來考人家,其中包括一些常見資料結構的複雜度以及手寫一些演算法,比如快排,單鏈表等等,前幾天我乙個推薦過來的朋友膝蓋就被中了一箭。題目就不方便具體說了,...

過去的乙個專案

乙個金融方面的 專案,用struts hibernate實現.專案主要是我設計的,但需求把握的不好,做完練好了一幫人,自己卻很失落.覺得做到後來自己都不敢面對.覺得原因有 1.需求的設計的影響.如果設計的擴充性不強,後面各種奇怪的需求變動會讓 象在一件衣服上不停的打補丁,最後的衣服當然就不是你想要的...

我的乙個小程式 Endst

最新版本 endst v1.3.3 應用環境 針對學校機房的清華多 網路教室 具體名稱 清華泰豪多 網路教室破解程式 清華泰豪多 網路教室脫離控制 接收檔案程式 清華泰豪多 網路教室鍵鼠解鎖程式 程式名來歷 清華泰豪多 網路教室的學生端程序為student3.exe。本程式的意思就是end它,簡稱一...